Skip to main content
All rules

A11Y-004

Buttons or links have no accessible name

MediumDefault severity · Accessibility · Accessibility (WCAG 2.2 AA)

Last reviewed

What it checks

Visible buttons and links whose accessible name is empty after following the W3C accname rules: text, aria-label, aria-labelledby, alt text of images inside, SVG title or aria-label, and title.

Why it matters

Screen readers announce just “button” or “link”, so users cannot tell what it does.

Recommended fix

Add an aria-label (or visually hidden text) describing the action to each icon-only control.

How to verify

Tab through the page with a screen reader and confirm each control announces its purpose.

Example fix prompt

Generic prompt (your report adds the evidence)
Please fix this production issue in my app.

Issue A11Y-004: Buttons or links have no accessible name
Site: https://your-app.example

First confirm the issue in the code or live config. If it is not present, say so and change nothing.
Task: Give every icon-only button and link listed in the evidence an accessible name: add an aria-label describing the action (for example aria-label="Open menu"), or visually hidden text. Do not change the visual design.

Constraints: make the smallest change that fixes this, keep the current design and behaviour, never paste secret values into code or chat, and tell me which files you changed.
Done when: Tab through the page with a screen reader and confirm each control announces its purpose.

References