Accessible names on controls
An agent picks controls by their names, so it will struggle to use buttons that have none.
- Category
- Agent experience
- Standard
- Recommended
What it checks
For every visible interactive element on the rendered page (native and non-native, as counted by Native interactive controls), the extension looks for a name in this order:
- an
aria-label - an
aria-labelledbyreference - a
<label>that wraps the control or points to it withfor - the element’s own text
- a
titleattribute - the
alttext of the element or of an image inside it - a
valueattribute
A control with none of these has no accessible name. An agent choosing what to click has nothing to go on.
Results
| Status | When |
|---|---|
| Pass | Every control has an accessible name |
| Warn | Some controls are unnamed, up to 25% of them |
| Fail | More than 25% of controls are unnamed |
| N/A | The page has no interactive controls |
| Unmeasured | The extension could not read the page (open it in the active tab) |
The result lists locators for the unnamed controls.
How to fix
Give every control visible text, or label it. Icon-only buttons are the most common cause:
<!-- Before -->
<button class="search-toggle"><svg>…</svg></button>
<!-- After -->
<button class="search-toggle" aria-label="Search"><svg aria-hidden="true">…</svg></button>
For an image link, put the name in the image’s alt text.