Robust
4.1.2 Name, Role, Value
Every control needs a name and role that assistive technology can read, and its state, such as checked, expanded or selected, must be exposed and kept current.
Who it helps
Screen reader and speech input users.
Failures we see most
- Custom toggles that never announce on or off
- Buttons built from divs with no role
- Menus that do not report whether they are open
How it gets tested
Our scanner runs these 29 axe-core checks for 4.1.2:
| Check | What it looks for |
|---|---|
area-alt | Active <area> elements must have alternative text |
aria-allowed-attr | Elements must only use supported ARIA attributes |
aria-braille-equivalent | aria-braille attributes must have a non-braille equivalent |
aria-command-name | ARIA commands must have an accessible name |
aria-conditional-attr | ARIA attributes must be used as specified for the element's role |
aria-deprecated-role | Deprecated ARIA roles must not be used |
aria-hidden-body | aria-hidden="true" must not be present on the document body |
aria-hidden-focus | ARIA hidden element must not be focusable or contain focusable elements |
aria-input-field-name | ARIA input fields must have an accessible name |
aria-prohibited-attr | Elements must only use permitted ARIA attributes |
aria-required-attr | Required ARIA attributes must be provided |
aria-roledescription | aria-roledescription must be on elements with a semantic role |
aria-roles | ARIA roles used must conform to valid values |
aria-tab-name | ARIA tab nodes must have an accessible name |
aria-toggle-field-name | ARIA toggle fields must have an accessible name |
aria-tooltip-name | ARIA tooltip nodes must have an accessible name |
aria-valid-attr | ARIA attributes must conform to valid names |
aria-valid-attr-value | ARIA attributes must conform to valid values |
button-name | Buttons must have discernible text |
duplicate-id-aria | IDs used in ARIA and labels must be unique |
frame-title | Frames must have an accessible name |
frame-title-unique | Frames must have a unique title attribute |
input-button-name | Input buttons must have discernible text |
input-image-alt | Image buttons must have alternative text |
label | Form elements must have labels |
link-name | Links must have discernible text |
nested-interactive | Interactive controls must not be nested |
select-name | Select element must have an accessible name |
summary-name | Summary elements must have discernible text |
Automated checks can find failures of 4.1.2, but they cannot confirm that a page passes. A specialist still reviews it by hand.
How we fix it
Our tools add accessible names to icon-only buttons and unlabeled fields. Roles and states on custom widgets are fixed by a specialist.
Official text: W3C, Understanding 4.1.2 Name, Role, Value. Checks listed from axe-core 4.14.0.
Related criteria
Does your site fail 4.1.2?
Our free scan checks up to 50 of your pages and tells you which criteria fail and where.