Names, roles & states
An Input Button Has No Text for Screen Readers
A button made with `<input>` has no name, so screen reader users hear only "button" and can't tell what it does.
input-button-nameWCAG 2.0Introduced in WCAG 2.0.Level AA — the minimum. Missing it blocks people outright.
- Status
- CriticalCritical — Someone can complete the task only with great difficulty or outside help.CurrentScanners run this rule today.
- Owner
- DesignDevContentTest
- Audit
- Automated+ManualA scanner finds it; a person confirms the fix.
Why it matters
Buttons made with <input type="button">, submit or reset get their name from the value attribute. If value is empty or missing, the button has no words at all.
Screen readers then say just "button". People have to guess, or press it and hope. On a form, that can mean lost data or a failed purchase.
Who it affects
| Who | What they experience | Impact |
|---|---|---|
| Screen reader users | They hear "button" with no name, so they don't know what it will do. | High impact |
| Voice control users | They can't say "click Search" because the button has no name to match. | High impact |
| Low-vision users (magnification) | If the button shows no text, only a faint icon or styling, they may not know what it does. | Partial impact |
| Cognitive and neurodivergent users | A button with no clear words makes them unsure, and they may avoid it. | Partial impact |
Business & product impact
| Area | Why | Impact |
|---|---|---|
| Legal | It fails WCAG 4.1.2 at Level A, the minimum. Complaints under Australia's Disability Discrimination Act point to WCAG, and EN 301 549 applies in Europe. | High impact |
| Conversion | Unnamed submit, search or pay buttons stop people finishing tasks. That is lost sign-ups and sales. | High impact |
| SEO | Search engines barely notice button names. Don't sell this as an SEO fix. | Low impact |
| Brand trust | A form people can't finish feels broken, and users say so. | Moderate impact |
| Cost to fix | Adding a `value` is a one-line fix. Fix it in the shared form component once. | High impact |
Fixing it in code
A plain input button
Don't
<input type="button" class="search-btn">A screen reader says: “button”
Do
<input type="button" class="search-btn" value="Search">A screen reader says: “Search, button”
The value attribute gives an input button its name.
A submit button with an empty value
Don't
<input type="submit" value="">A screen reader says: “button”
Do
<input type="submit" value="Place order">A screen reader says: “Place order, button”
An empty value wipes out the default name, so write a clear one.
Fixing it in design and content
Name the action, not the object
Don't
A button labelled "Click here" or "OK" on every form.
A screen reader says: “Click here, button”
Do
A button labelled with the action, like "Send message" or "Save changes".
A screen reader says: “Send message, button”
An action word tells people what will happen before they press.
Designer's handoff note
Give every button visible words in the design. If it's icon-only, write down the name the screen reader should say, like "Search".
Hand that name to the developer with the design.
Quick test
Tool
NVDA (opens in a new tab) (free on Windows)
Checklist
- Pass
- Every button has a clear name, like "Search, button".
- Fail
- You hear just "button", or a name that doesn't say what it does.
Check these at the same time
- A button has no name a screen reader can say
button-name - A form field has no label
label - A link has no text a screen reader can read
link-name
What a green scan still misses
A scanner can tell if a button has no name. It can't tell if the name is clear or matches what the button really does.
Reference
- Rule ID
input-button-name- Raised by
- axe-core: “Input buttons must have discernible text”
- WCAG
- 4.1.2 Name, Role, Value (opens in a new tab) · Level A · since WCAG 2.0
- Other standards
- EN 301 549 9.4.1.2 · RGAA 11.9.1
- Last reviewed
- 14 October 2026