-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Set up for next week's review and publication
This reverts commit a75743a.
- Loading branch information
1 parent
a75743a
commit bc91a36
Showing
1 changed file
with
31 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,7 +9,7 @@ github: | |
feedbackmail: [email protected] | ||
footer: | | ||
<p><strong>Rule Identifier:</strong> 59796f</p> | ||
<p><strong>Date:</strong> Updated 21 November 2024</p> | ||
<p><strong>Date:</strong> Updated 25 November 2024</p> | ||
<p><strong>Authors:</strong> <a href="https://github.com/annethyme">Anne Thyme Nørregaard</a>. Contributors: <a href="https://www.w3.org/community/act-r/participants">Participants of the ACT Rules Community Group (CG)</a>.</p> | ||
<p>This rule was written in the <a href="https://w3.org/community/act-r/">ACT Rules Community Group</a>. It is written as part of the EU-funded <a href="https://www.w3.org/WAI/about/projects/wai-tools/">WAI-Tools Project</a>. Implementations are part of the EU funded <a href="https://www.w3.org/WAI/about/projects/wai-coop/">WAI-CooP Project</a>. It will be reviewed by the Accessibility Guidelines Working Group (<a href="https://www.w3.org/groups/wg/ag">AG WG</a>).</p> | ||
proposed: true | ||
|
@@ -20,7 +20,7 @@ rule_meta: | |
original_file: image-button-non-empty-accessible-name-59796f.md | ||
description: | | ||
This rule checks that each image button element has a non-empty accessible name. | ||
last_modified: 21 November 2024 | ||
last_modified: 25 November 2024 | ||
scs_tested: | ||
- handle: Non-text Content | ||
num: 1.1.1 | ||
|
@@ -40,7 +40,7 @@ Each target element has an [accessible name][] that is neither empty (`""`), nor | |
|
||
## Background | ||
|
||
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). | ||
Unlike for `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. An empty `alt` attribute therefore 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). | ||
|
||
### Assumptions | ||
|
||
|
@@ -49,7 +49,7 @@ Contrarily to `img` elements, an empty `alt` attribute (`alt=""`) does not make | |
|
||
### Accessibility Support | ||
|
||
The [input type="image" Accessible Name Computation algorithm](https://www.w3.org/TR/html-aam/#input-type-image-accessible-name-computation) uses the first non-empty name, but some user agents and assistive technologies combinations stop at the first existing one, even if empty. | ||
The [input type="image" Accessible Name Computation algorithm](https://www.w3.org/TR/html-aam/#input-type-image-accessible-name-computation) uses the first defined attribute, even if the attribute has an empty value. In contrast, some user agents and assistive technologies ignore empty attributes. | ||
|
||
### Related rules | ||
|
||
|
@@ -267,6 +267,23 @@ For more details, see [examples of accessible name][]. | |
|
||
**Note:** As per the [accessible name and description computation][], accessible names are [flat string](https://www.w3.org/TR/accname-1.1/#terminology) trimmed of leading and trailing whitespace. Notably, it is not possible for a non-empty accessible name to be composed only of whitespace since these must be trimmed. | ||
|
||
### Attribute value {#attribute-value} | ||
|
||
The <dfn id="attribute-value:attribute">attribute value</dfn> of a content attribute set on an HTML element is the value that the attribute gets after being parsed and computed according to specifications. It may differ from the value that is actually written in the HTML code due to trimming whitespace or non-digits characters, default values, or case-insensitivity. | ||
|
||
Some notable case of attribute value, among others: | ||
|
||
- For [enumerated attributes][], the <dfn id="attribute-value:enumerated">attribute value</dfn> is either the state of the attribute, or the keyword that maps to it; even for the default states. Thus `<input type="image" />` has an attribute value of either `Image Button` (the state) or `image` (the keyword mapping to it), both formulations having the same meaning; similarly, "an input element with a `type` _attribute value_ of `Text`" can be either `<input type="text" />`, `<input />` (missing value default), or `<input type="invalid" />` (invalid value default). | ||
- For [boolean attributes][], the <dfn id="attribute-value:boolean">attribute value</dfn> is `true` when the attribute is present and `false` otherwise. Thus `<button disabled>`, `<button disabled="disabled">` and `<button disabled="">` all have a `disabled` _attribute value_ of `true`. | ||
- For attributes whose value is used in a case-insensitive context, the <dfn id="attribute-value:case-insensitive">attribute value</dfn> is the lowercase version of the value written in the HTML code. | ||
- For attributes that accept [numbers][], the <dfn id="attribute-value:number">attribute value</dfn> is the result of parsing the value written in the HTML code according to the rules for parsing this kind of number. | ||
- For attributes that accept sets of tokens, whether [space separated][] or [comma separated][], the <dfn id="attribute-value:tokens-list">attribute value</dfn> is the set of tokens obtained after parsing the set and, depending on the case, converting its items to lowercase (if the set is used in a case-insensitive context). | ||
- For `aria-*` attributes, the <dfn id="attribute-value:aria">attribute value</dfn> is computed as indicated in the [WAI-ARIA specification][] and the [HTML Accessibility API Mappings][html aam]. | ||
|
||
This list is not exhaustive, and only serves as an illustration for some of the most common cases. | ||
|
||
The <dfn id="attribute-value:idl">attribute value</dfn> of an [IDL attribute][] is the value returned on getting it. Note that when an [IDL attribute][] [reflects][reflect] a content attribute, they have the same attribute value. | ||
|
||
### Focusable {#focusable} | ||
|
||
An element is _focusable_ if one or both of the following are true: | ||
|
@@ -320,19 +337,28 @@ An HTML element is _programmatically hidden_ if either it has a [computed][] CSS | |
|
||
[accessible name and description computation]: https://www.w3.org/TR/accname 'Accessible Name and Description Computation' | ||
[accessible name]: #accessible-name 'Definition of Accessible Name' | ||
[attribute value]: #attribute-value:enumerated 'Definition of Attribute Value' | ||
[attribute value]: #attribute-value 'Definition of Attribute Value' | ||
[boolean attributes]: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes 'HTML Specification of Boolean Attribute' | ||
[comma separated]: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#comma-separated-tokens 'HTML Specification of Comma Separated Tokens' | ||
[computed]: https://www.w3.org/TR/css-cascade/#computed-value 'CSS definition of computed value' | ||
[earl10-schema]: https://www.w3.org/TR/act-rules-format-1.1/#biblio-earl10-schema | ||
[enumerated attributes]: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute 'HTML Specification of Enumerated Attribute' | ||
[examples of accessible name]: https://act-rules.github.io/pages/examples/accessible-name/ | ||
[examples of included in the accessibility tree]: https://act-rules.github.io/pages/examples/included-in-the-accessibility-tree/ | ||
[flat tree]: https://drafts.csswg.org/css-scoping/#flat-tree 'Definition of flat tree' | ||
[html aam image button]: https://www.w3.org/TR/html-aam-1.0/#input-type-image 'HTML Accessibility API Mapping, image button' | ||
[html aam]: https://www.w3.org/TR/html-aam-1.0/#html-attribute-state-and-property-mappings 'Specification of HTML attributes value mapping to ARIA states and properties' | ||
[idl attribute]: https://heycam.github.io/webidl/#idl-attributes "Definition of Web IDL Attribute (Editor's Draft)" | ||
[included in the accessibility tree]: #included-in-the-accessibility-tree 'Definition of Included in the Accessibility Tree' | ||
[inclusive ancestors]: https://dom.spec.whatwg.org/#concept-tree-inclusive-ancestor 'DOM Definition of Inclusive Ancestor' | ||
[numbers]: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#numbers 'HTML Specification of Number Parsing' | ||
[outcome property]: https://www.w3.org/TR/EARL10-Schema/#outcome | ||
[reflect]: https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#reflecting-content-attributes-in-idl-attributes 'HTML specification of Reflecting Content Attributes in IDL Attributes' | ||
[rules for parsing integers]: https://html.spec.whatwg.org/#rules-for-parsing-integers | ||
[sequential focus navigation]: https://html.spec.whatwg.org/multipage/interaction.html#sequential-focus-navigation | ||
[space separated]: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#space-separated-tokens 'HTML Specification of Space Separated Tokens' | ||
[tabindex attribute]: https://html.spec.whatwg.org/#attr-tabindex | ||
[tabindex value]: https://html.spec.whatwg.org/#tabindex-value | ||
[test subject]: https://www.w3.org/TR/act-rules-format-1.1/#test-subject | ||
[test target]: https://www.w3.org/TR/act-rules-format/#test-target | ||
[wai-aria specification]: https://www.w3.org/TR/wai-aria-1.2/#propcharacteristic_value 'WAI-ARIA Specification of States and Properties Value' |