select-name · WCAG 4.1.2 Name, Role, Value · Level AHow to fix the “select-name” accessibility issue
The axe-core select-name rule fails when a <select> dropdown has no associated label. The user hears the selected option but not what the control is for. WCAG 2.2 (4.1.2, Level A) requires it to have a name.
What axe-core checks
axe-core fails a <select> with no linked <label>, no aria-label/aria-labelledby, and no title.
Which standard this maps to
| WCAG 2.2 | 4.1.2 Name, Role, Value (Level A) |
| EN 301 549 | 9.4.1.2 |
| BFSG / EAA | BFSG § 12 via EN 301 549 · EAA Annex I |
| Category | Forms & Labels |
Why it matters
Size, colour, country and quantity selects drive checkout. An unnamed select means a screen-reader user cannot tell a “size” dropdown from a “colour” one — a Level A failure on the conversion path.
Common causes
- A bare
<select>with a nearby<div>as the visual label - Variant pickers built without a real label
- Custom dropdown widgets replacing native
<select>without ARIA - Label present but not linked via
for/id
How to fix it
Link a <label> via for/id, or add an aria-label.
<!-- Fails -->
<select><option>S</option><option>M</option></select>
<!-- Passes -->
<label for="size">Size</label>
<select id="size"><option>S</option><option>M</option></select>
FAQ
No. A placeholder option like “Choose size” is not an accessible name for the control itself.
If you replace native select with a div-based widget, you must add the role, state and a name yourself — native select is safer.
Find every issue like this on your site
Run a free WCAG 2.2 AA scan — real axe-core engine, no signup. Or get a timestamped evidence report for €29.