Skip to content

Commit f920a47

Browse files
Merge branch 'act-rules:develop' into develop
2 parents a75c7f8 + e11aaaa commit f920a47

10 files changed

Lines changed: 40 additions & 30 deletions

_rules/aria-attr-defined-5f99a7.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,11 @@ This `div` element with a role of `textbox` has multiple `aria-` attributes whic
8383

8484
#### Passed Example 4
8585

86-
This `input` element with a role of `spinbutton` has multiple `aria-` attributes specified which are all defined in [WAI-ARIA Specifications][].
86+
This `input` element with a type of `number` has multiple `aria-` attributes specified which are all defined in [WAI-ARIA Specifications][].
8787

8888
```html
8989
<label for="spinbutton">Enter a number between 0 and 100:</label>
90-
<input
91-
id="spinbutton"
92-
role="spinbutton"
93-
aria-valuemax="100"
94-
aria-valuemin="0"
95-
aria-valuenow="25"
96-
type="number"
97-
value="25"
98-
/>
90+
<input id="spinbutton" aria-valuemax="100" aria-valuemin="0" aria-valuenow="25" type="number" value="25" />
9991
```
10092

10193
### Failed

_rules/html-page-title-descriptive-c4a8a4.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ htmlHintIgnore:
3737

3838
## Applicability
3939

40-
This rule applies to the [document title][] of each [html web page][] if this [document title][] contains not only [whitespace](#whitespace) [text nodes](https://dom.spec.whatwg.org/#text).
40+
This rule applies to the [document title][] of each [html web page][], except if one of the following is true:
41+
42+
- The [html web page][] has no [document title][]; or
43+
- The [document title][] contains only [whitespace](#whitespace) [text nodes](https://dom.spec.whatwg.org/#text).
4144

4245
## Expectation
4346

@@ -126,7 +129,7 @@ This `title` element, which is within the `body`, describes the content of the d
126129

127130
#### Failed Example 1
128131

129-
This `<title>` element does not describe the content of the document.
132+
This `title` element does not describe the content of the document.
130133

131134
```html
132135
<html lang="en">

_rules/iframe-non-empty-accessible-name-cae760.md

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,17 @@ input_aspects:
1616
acknowledgments:
1717
authors:
1818
- Jey Nandakumar
19+
- Tom Brunet
1920
- Wilco Fiers
2021
funding:
2122
- WAI-Tools
2223
---
2324

2425
## Applicability
2526

26-
This rule applies to `iframe` elements that are [included in the accessibility tree][] and do not have a negative `tabindex` [attribute value][].
27-
28-
**Note:** `frame` element is deprecated, this rule does not consider `frame` or `frameset` elements.
27+
This rule applies to `iframe` elements that are [included in the accessibility tree][] and for which all of the following are true:
28+
- the `iframe` does not have a negative `tabindex` [attribute value][]; and
29+
- the `iframe` does not have an [explicit semantic role][] of `presentation` or `none`.
2930

3031
## Expectation
3132

@@ -37,14 +38,18 @@ If an `iframe` is not perceived by the user as a single control, it does not qua
3738

3839
## Accessibility Support
3940

40-
- Some browsers include `iframe` elements in the [sequential focus navigation][]. This ensures that the contents of `iframe` elements can be scrolled and accessed by using the keyboard. When an `iframe` is removed from the accessibility tree, this rule is still applicable for those browsers, unless the `iframe` is explicitly removed from [sequential focus navigation][] (by having the `tabindex` attribute set to a negative value).
41-
4241
- Browser and assistive technology support for `iframe` elements is currently **inconsistent**. Some examples of inconsistencies include (but are not limited to):
4342
- There is a known combination of a popular browser and assistive technology that ignores `aria-label` and only announces `title` attribute as an [accessible name][]
4443
- Some assistive technologies ignore empty `iframe` elements, regardless of if they are focusable or if they have an accessible name.
44+
- Some browsers instantly redirect focus from `iframe` elements to the first focusable element inside that iframe. This redirect makes it appear as though the `iframe` never receives focus. This occurs even if the `iframe` has a non-negative `tabindex` [attribute value][].
45+
- Not all browsers redirect focus on `iframe` elements. This ensures that the contents of `iframe` elements can be scrolled and accessed by using the keyboard. This must not be circumvented by using a negative tabindex, as this will make the `iframe` completely inaccessible for keyboard navigation.
4546

4647
## Background
4748

49+
The `frame` element is deprecated, this rule does not consider `frame` or `frameset` elements.
50+
51+
Due to inconsistencies in handling focus on `iframe`, this rule ignores `iframe` elements for which there is an attempt to hide them from assistive technologies. Whether `iframe` elements that are inapplicable to this rule still require an accessible name varies between browsers.
52+
4853
### Bibliography
4954

5055
- [H64: Using the title attribute of the frame and iframe elements](https://www.w3.org/WAI/WCAG21/Techniques/html/H64)
@@ -110,10 +115,8 @@ This `iframe` element has an empty (`""`) [accessible name][] because the `title
110115

111116
This `iframe` element has an empty (`""`) [accessible name][] because the `title` attribute value is trimmed of [whitespace][] by the [accessible name computation][accessible name and description computation].
112117

113-
**Note:**: Because `iframe` elements are part of [sequential focus navigation][], the [explicit semantic role](#explicit-role) of `none` will be ignored, due to the [Presentational Roles Conflict Resolution](https://www.w3.org/TR/wai-aria-1.1/#presentational-roles-conflict-resolution).
114-
115118
```html
116-
<iframe title=" " src="/test-assets/SC4-1-2-frame-doc.html" role="none"> </iframe>
119+
<iframe title=" " src="/test-assets/SC4-1-2-frame-doc.html"> </iframe>
117120
```
118121

119122
### Inapplicable
@@ -139,7 +142,15 @@ This `iframe` is not [included in the accessibility tree][] because of setting a
139142
This `iframe` element has a negative `tabindex` [attribute value][].
140143

141144
```html
142-
<iframe tabindex="-1" src="/test-assets/SC4-1-2-frame-doc.html"> </iframe>
145+
<iframe tabindex="-1" src="/test-assets/SC4-1-2-frame-doc.html" style="height: 250px"> </iframe>
146+
```
147+
148+
#### Inapplicable Example 4
149+
150+
This `iframe` element has an [explicit semantic role][] of `none`.
151+
152+
```html
153+
<iframe src="/test-assets/SC4-1-2-frame-doc.html" role="none"> </iframe>
143154
```
144155

145156
[accessible name]: #accessible-name 'Definition of accessible name'

_rules/image-button-non-empty-accessible-name-59796f.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ The [input type="image" Accessible Name Computation algorithm](https://www.w3.or
6060

6161
## Background
6262

63-
Contrarily to `img` elements, an empty `alt` attribute does not make image button decorative; image buttons have a button role and are therefore exposed as interactive elements. Consequently, an empty `alt` attribute does not provide a "usable string" for image buttons and the computation defaults to other means of providing a name, as defined in [input type="image" Accessible Name Computation algorithm](https://www.w3.org/TR/html-aam/#input-type-image-accessible-name-computation).
63+
Contrarily to `img` elements, an empty `alt` attribute (`alt=""`) does not make an image button decorative; image buttons have a button role and are therefore exposed as interactive elements. Consequently, an empty `alt` attribute does not provide a "usable string" for image buttons and the computation defaults to other means of providing a name, as defined in [input type="image" Accessible Name Computation algorithm](https://www.w3.org/TR/html-aam/#input-type-image-accessible-name-computation).
6464

6565
### Related rules
6666

_rules/image-non-empty-accessible-name-23a2a8.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ There are no assumptions.
5252

5353
## Accessibility Support
5454

55-
- There are several popular browsers that do not treat images with empty `alt` attribute as having a role of `presentation` but instead add the `img` element to the accessibility tree with a [semantic role][] of either `img` or `graphic`.
55+
- There are several popular browsers that do not treat images with an empty `alt` attribute (`alt=""`) as having a role of `presentation` but instead add the `img` element to the accessibility tree with a [semantic role][] of either `img` or `graphic`.
5656
- Implementation of [Presentational Roles Conflict Resolution][] varies from one browser or assistive technology to another. Depending on this, some [semantic][semantic role] `img` elements can fail this rule with some technology but users of other technologies would not experience any accessibility issue.
5757
- Images can have their role set to `presentation` through an empty `alt` attribute. [Presentational Roles Conflict Resolution][] does not specify what to do if such an image is [focusable][] (it only specifies what to do in case of explicit `role="none"` or `role="presentation"`). Some browsers expose these images and some don't. Thus, this rule may fail for technologies that expose these without creating an accessibility issue for users of other technologies.
5858

_rules/sequentially-focusable-element-has-visible-focus-oj04fd.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ There are no accessibility support issues known.
4040

4141
Default styling in user agents provides a focus indication for focusable elements (even those that are not focusable by default), as shown in Passed Examples 1 and 2. Many examples in this rule need to **remove** that indicator in order to illustrate various situations. This is bad practice and should normally be avoided.
4242

43-
WCAG 2.0 and 2.1 do not have any requirement of how big or small focus indicator should be, or how far or near from the [focusable][] element it should be. Thus it is possible to pass this rule and [Success Criterion 2.4.7 Focus Visible][sc247] with barely perceptible changes at the other end of the page. That would however still be an accessibility issue. WCAG 2.2 includes [Success Criterion 2.4.11 Focus Appearance][sc2411] and [Success Criterion 2.4.12 Focus Not Obscured (Minimum)][sc2412] specifying how big the focus indicator should be. All Examples in this rule satisfy those success criteria.
43+
WCAG 2.0 and 2.1 do not have any requirement of how big or small focus indicator should be, or how far or near from the [focusable][] element it should be. Thus it is possible to pass this rule and [Success Criterion 2.4.7 Focus Visible][sc247] with barely perceptible changes at the other end of the page. That would however still be an accessibility issue. WCAG 2.2 includes [Success Criterion 2.4.11 Focus Appearance][sc2411] and [Success Criterion 2.4.12 Focus Not Obscured (Minimum)][sc2412] specifying how big the focus indicator should be. All Passed Examples in this rule satisfy those success criteria.
4444

45-
WCAG has no clear requirement of unicity of the focus indicator for each [focusable][] element. Therefore, this rule can pass even if several focus indicators are identical. Such a situation may nonetheless cause confusion and all Examples in this rule avoid it.
45+
WCAG does not require that the focus indicator for each [focusable][] element is unique in appearance. Therefore, this rule can pass even if several focus indicators are identical. Such a situation may nonetheless cause confusion and all Examples in this rule avoid it.
4646

4747
### Bibliography
4848

_rules/text-contrast-afw4f7.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ This rule applies to any [visible][] character in a [text node][] that is a [chi
3838

3939
## Expectation
4040

41-
For each test target, the [highest possible contrast][] between the [foreground colors][] and [background colors][] is at least 4.5:1 or 3.0:1 for [larger scale text][], except if the test target is part of a [text node][] that is [purely decorative][] or does not express anything in [human language][].
41+
For each test target, the [highest possible contrast][] between the [foreground colors][] and [background colors][] is at least 3.0:1 for [large scale text][] and 4.5:1 for other texts, except if the test target is part of a [text node][] that is [purely decorative][] or does not express anything in [human language][].
4242

4343
## Assumptions
4444

@@ -431,7 +431,7 @@ This text is part of a [disabled][] widget because it is a child of an element w
431431
[foreground colors]: #foreground-colors-of-text 'Definition of Foreground color of text'
432432
[highest possible contrast]: #highest-possible-contrast 'Definition of Highest possible contrast'
433433
[human language]: https://www.w3.org/TR/WCAG21/#dfn-human-language-s 'WCAG 2.1, Human language'
434-
[larger scale text]: #large-scale-text 'Definition of Large scale text'
434+
[large scale text]: #large-scale-text 'Definition of Large scale text'
435435
[origins]: https://www.w3.org/TR/css3-cascade/#cascading-origins 'CSS 3, origin'
436436
[presentational roles conflict resolution]: https://www.w3.org/TR/wai-aria-1.1/#conflict_resolution_presentation_none 'WAI-ARIA, Presentational Roles Conflict Resolution'
437437
[purely decorative]: https://www.w3.org/TR/WCAG21/#dfn-pure-decoration 'WCAG 2.1, Purely decorative'

_rules/text-contrast-enhanced-09o5cg.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ This rule applies to any [visible][] character in a [text node][] that is a [chi
4343

4444
## Expectation
4545

46-
For each test target, the [highest possible contrast][] between the [foreground colors][] and [background colors][] is at least 7:1 or 4.5:1 for [larger scale text][], except if the test target is part of a [text node][] that is [purely decorative][] or does not express anything in [human language][].
46+
For each test target, the [highest possible contrast][] between the [foreground colors][] and [background colors][] is at least 4.5:1 for [large scale text][] and 7.0:1 for other texts, except if the test target is part of a [text node][] that is [purely decorative][] or does not express anything in [human language][].
4747

4848
## Assumptions
4949

@@ -455,7 +455,7 @@ This text is part of a [disabled][] widget because it is a child of an element w
455455
[foreground colors]: #foreground-colors-of-text 'Definition of Foreground color of text'
456456
[highest possible contrast]: #highest-possible-contrast 'Definition of Highest possible contrast'
457457
[human language]: https://www.w3.org/TR/WCAG21/#dfn-human-language-s 'WCAG 2.1, Human language'
458-
[larger scale text]: #large-scale-text 'Definition of Large scale text'
458+
[large scale text]: #large-scale-text 'Definition of Large scale text'
459459
[origins]: https://www.w3.org/TR/css3-cascade/#cascading-origins 'CSS 3, origin'
460460
[presentational roles conflict resolution]: https://www.w3.org/TR/wai-aria-1.1/#conflict_resolution_presentation_none 'WAI-ARIA, Presentational Roles Conflict Resolution'
461461
[purely decorative]: https://www.w3.org/TR/WCAG21/#dfn-pure-decoration 'WCAG 2.1, Purely decorative'

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@
127127
{
128128
"name": "Wilco Fiers",
129129
"url": "https://github.com/wilcofiers"
130+
},
131+
{
132+
"name": "Helen Burge",
133+
"url": "https://github.com/HelenBurge"
130134
}
131135
],
132136
"devDependencies": {

pages/glossary/implicit-role.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ Implicit roles for HTML and SVG, are documented in the [HTML accessibility API m
1313

1414
#### Accessibility Support
1515

16-
- Images with an empty `alt` attribute should have an implicit role of `presentation`, according to the [HTML Accessibility API Mapping (work in progress)](https://www.w3.org/TR/html-aam-1.0/#html-element-role-mappings). However, there are several popular browsers that do not treat images with empty `alt` attribute as having a role of `presentation`. Instead, they add the `img` element to the accessibility tree with a role of either `img` or `graphic`.
16+
- Images with an empty `alt` attribute (`alt=""`) should have an implicit role of `presentation`, according to the [HTML Accessibility API Mapping (work in progress)](https://www.w3.org/TR/html-aam-1.0/#html-element-role-mappings). However, there are several popular browsers that do not treat images with empty `alt` attribute as having a role of `presentation`. Instead, they add the `img` element to the accessibility tree with a role of either `img` or `graphic`.

0 commit comments

Comments
 (0)