From aa9c1987a966eaea8320bbca7f032348629bcf34 Mon Sep 17 00:00:00 2001 From: Wilco Fiers Date: Thu, 21 Nov 2024 19:04:50 +0100 Subject: [PATCH] Non-role input types require an accessible name --- ...-field-non-empty-accessible-name-e086e5.md | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/_rules/form-field-non-empty-accessible-name-e086e5.md b/_rules/form-field-non-empty-accessible-name-e086e5.md index 3f7d311a03..5ac8fe557d 100755 --- a/_rules/form-field-non-empty-accessible-name-e086e5.md +++ b/_rules/form-field-non-empty-accessible-name-e086e5.md @@ -29,7 +29,10 @@ acknowledgments: ## Applicability -This rule applies to any element that is [included in the accessibility tree](#included-in-the-accessibility-tree), and that has one of the following [semantic roles][]: `checkbox`, `combobox` (`select` elements), `listbox`, `menuitemcheckbox`, `menuitemradio`, `radio`, `searchbox`, `slider`, `spinbutton`, `switch`, `textbox`. +This rule applies to any element that is [included in the accessibility tree](#included-in-the-accessibility-tree) and for which one of the following is true: + +- the element has one of the following [semantic roles][]: `checkbox`, `combobox` (`select` elements), `listbox`, `menuitemcheckbox`, `menuitemradio`, `radio`, `searchbox`, `slider`, `spinbutton`, `switch`, `textbox`; or +- the element is an `input` with no [semantic role][] and a `type` [attribute value][] of `color`, `date`, `datetime-local`, `month`, `password`, `time`, or `week`. ## Expectation @@ -42,7 +45,7 @@ The list of roles in the applicability is derived by taking all the roles from [ - have [semantic roles][] that inherit from the `input`, `menuitem` or `select` role; and - are form field controls (this notably excludes `menu`, `option` or `tree`). -This rule does not test other control-like roles such as `button` and `menuitem`, because these do not inherit from `input` or `select`. These should be tested separately. +This rule does not test other control-like roles such as `button` and `menuitem`, because these do not inherit from `input` or `select`. These should be tested separately. Because certain input types such as date and color have no semantic role, these are listed as a separate item in the applicability. This rule does not map to [3.3.2 Labels or Instructions](https://www.w3.org/TR/WCAG22/#labels-or-instructions) as there are sufficient techniques within 3.3.2 that don't need the elements to have an [accessible name][]. For example "[G131: Providing descriptive labels](https://www.w3.org/WAI/WCAG22/Techniques/general/G131)" **AND** "[G162: Positioning labels to maximize predictability of relationships](https://www.w3.org/WAI/WCAG22/Techniques/general/G162)" would be sufficient. @@ -152,6 +155,17 @@ These `menuitemcheckbox` elements have an [accessible name][] because its aria-l ``` +#### Passed Example 9 + +This `input` element with a `type` [attribute value][] of `color` has an [accessible name][] because of its [programmatic label](#programmatic-label). + +```html + +``` + ### Failed #### Failed Example 1 @@ -230,6 +244,14 @@ These `menuitemcheckbox` elements do not have an [accessible name][]. ``` +#### Failed Example 9 + +This `input` element with a `type` [attribute value][] of `date` has an empty (`""`) [accessible name][]. + +```html + +``` + ### Inapplicable #### Inapplicable Example 1