Rename rule S6854 to S1090 (#3894)
This commit is contained in:
parent
b759f8b026
commit
210c908a01
25
rules/S1090/javascript/metadata.json
Normal file
25
rules/S1090/javascript/metadata.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"title": "iFrames must have a title",
|
||||
"type": "CODE_SMELL",
|
||||
"status": "ready",
|
||||
"remediation": {
|
||||
"func": "Constant\/Issue",
|
||||
"constantCost": "5min"
|
||||
},
|
||||
"tags": [
|
||||
"accessibility",
|
||||
"react"
|
||||
],
|
||||
"defaultSeverity": "Minor",
|
||||
"ruleSpecification": "RSPEC-1090",
|
||||
"sqKey": "S1090",
|
||||
"scope": "All",
|
||||
"defaultQualityProfiles": ["Sonar way"],
|
||||
"quickfix": "infeasible",
|
||||
"code": {
|
||||
"impacts": {
|
||||
"RELIABILITY": "LOW"
|
||||
},
|
||||
"attribute": "CONVENTIONAL"
|
||||
}
|
||||
}
|
42
rules/S1090/javascript/rule.adoc
Normal file
42
rules/S1090/javascript/rule.adoc
Normal file
@ -0,0 +1,42 @@
|
||||
== Why is this an issue?
|
||||
|
||||
An iframe, or inline frame, is an HTML document embedded inside another HTML document on a website. The iframe HTML element is often used to insert content from another source, such as an advertisement, into a web page.
|
||||
|
||||
In the context of web accessibility, ``++<iframe>++``'s should have a ``++title++`` attribute. This is because screen readers for the visually impaired use this title to help users understand the content of the iframe.
|
||||
|
||||
Without a title, it can be difficult for these users to understand the context or purpose of the iframe's content.
|
||||
|
||||
== How to fix it
|
||||
|
||||
To fix missing iframe titles, you simply need to add a ``++title++`` attribute to your ``++<iframe>++`` element. The value of this attribute should be a brief description of the iframe's content.
|
||||
|
||||
=== Code examples
|
||||
|
||||
==== Noncompliant code example
|
||||
|
||||
[source,javascript,diff-id=1,diff-type=noncompliant]
|
||||
----
|
||||
function iframe() {
|
||||
return (
|
||||
<iframe src="https://openweathermap.org"></iframe> // Noncompliant
|
||||
);
|
||||
}
|
||||
----
|
||||
|
||||
==== Compliant solution
|
||||
|
||||
[source,javascript,diff-id=1,diff-type=compliant]
|
||||
----
|
||||
function iframe() {
|
||||
return (
|
||||
<iframe src="https://openweathermap.org" title="Weather forecasts, nowcasts and history"></iframe>
|
||||
);
|
||||
}
|
||||
----
|
||||
|
||||
== Resources
|
||||
=== Documentation
|
||||
|
||||
* MDN web docs - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe[iframe element]
|
||||
* WCAG - https://www.w3.org/WAI/WCAG21/Understanding/bypass-blocks[Bypass Blocks]
|
||||
* WCAG - https://www.w3.org/WAI/WCAG21/Understanding/name-role-value[Name, Role, Value]
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"title": "iFrames must have a title",
|
||||
"type": "CODE_SMELL",
|
||||
"status": "ready",
|
||||
"status": "deprecated",
|
||||
"remediation": {
|
||||
"func": "Constant\/Issue",
|
||||
"constantCost": "5min"
|
||||
@ -10,11 +10,19 @@
|
||||
"accessibility",
|
||||
"react"
|
||||
],
|
||||
"extra": {
|
||||
"replacementRules": [
|
||||
"RSPEC-1090"
|
||||
],
|
||||
"legacyKeys": [
|
||||
|
||||
]
|
||||
},
|
||||
"defaultSeverity": "Minor",
|
||||
"ruleSpecification": "RSPEC-6854",
|
||||
"sqKey": "S6854",
|
||||
"scope": "All",
|
||||
"defaultQualityProfiles": ["Sonar way"],
|
||||
"defaultQualityProfiles": [],
|
||||
"quickfix": "infeasible",
|
||||
"code": {
|
||||
"impacts": {
|
||||
|
Loading…
x
Reference in New Issue
Block a user