Perspective

A control has no useful accessible name

The control is present and operable, but its purpose is missing, vague or misleading when exposed to assistive technology.

A button can look completely obvious and still be difficult or impossible to identify through another interaction mode.

An icon-only button showing a familiar trash-can symbol, for example, may visually communicate “Delete”. If its accessible name is missing, a screen reader may announce only “button” — or expose an implementation detail that is no more useful.

What happens

The user can reach a control, but cannot reliably determine what it does from the information exposed to them.

This is not limited to screen readers. Useful programmatic names can also matter to speech-input users who need to identify a control by name.

Why it matters

Being technically focusable or clickable is not enough. A person needs enough information to decide whether activating a control will do what they intend.

The cost is particularly high for destructive or consequential actions such as Delete, Pay, Send or Submit.

Who may encounter it

This barrier may affect, among others:

This list is not exhaustive.

How to test it

1. Inspect the control semantically

Ask what role, name and state are exposed — not merely what text appears visually.

For a native HTML button, visible text usually supplies the accessible name automatically. Icon-only controls need an equivalent name from an appropriate source.

2. Navigate without relying on the visual icon

Using a screen reader, move to the control and listen to what is announced.

Could you understand the action if you could not see the icon?

3. Check that the name describes the action

“Button”, “icon”, a filename, or an internal component name is not useful.

A good name communicates purpose. Context still matters: several buttons all named “Delete” may need additional context if the user cannot determine what each one deletes.

Can automation detect it?

Partially.

Automated rules can identify many interactive elements with no programmatically determinable accessible name. They cannot reliably decide whether an existing name is clear, accurate or sufficiently contextual.

A passing automated rule therefore establishes less than “this control has a good accessible name.”

Relevant WCAG

This barrier commonly relates to WCAG 2.2 Success Criterion 4.1.2 — Name, Role, Value.

Depending on the implementation and visible label, other criteria may also be relevant. The WCAG mapping should follow the actual failure rather than being treated as a diagnosis from the symptom alone.

How to fix it

Prefer native controls and visible text when they fit the design.

For an icon-only button, provide a concise programmatic name that describes the action. Do not add ARIA when the native HTML already exposes the correct semantics and name.

Then test the result through the accessibility tree and with representative assistive technology.

What a pass does not prove

A correctly named button does not prove that:

It proves one important thing about one control.

Follow the evidence trail