Skip to content

A11Y Cheat Sheet

Powered byA11y University

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 it affects, and how much
WhoWhat they experienceImpact
Screen reader usersThey hear "button" with no name, so they don't know what it will do.High impact
Voice control usersThey 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 usersA button with no clear words makes them unsure, and they may avoid it.Partial impact

Business & product impact

Business & product impact, with how much each claim weighs
AreaWhyImpact
LegalIt 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
ConversionUnnamed submit, search or pay buttons stop people finishing tasks. That is lost sign-ups and sales.High impact
SEOSearch engines barely notice button names. Don't sell this as an SEO fix.Low impact
Brand trustA form people can't finish feels broken, and users say so.Moderate impact
Cost to fixAdding 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

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
Other standards
EN 301 549 9.4.1.2 · RGAA 11.9.1
Last reviewed
14 October 2026