2.5.3 Label in Name
Level A · added in WCAG 2.1
When a control has a visible text label, its accessible name must contain that same text. Ideally the name starts with the visible label.
Who it helps
Voice control users say what they see, such as "click Send". If the code names the button "Submit form", the command fails. Screen reader users who can see the screen also get confused when speech doesn't match the label.
How to meet it
- Let the visible text be the accessible name by not adding aria-label to controls that already have text.
- If you add aria-label or aria-labelledby, include the visible label word for word, preferably at the start.
- For links with visually hidden extra text, keep the visible words first, such as "Read more about pricing".
- Capitalization and punctuation don't need to match exactly, but keep the same words in the same order.
- Icon-only controls with no visible text are not covered here, though they still need a name under 4.1.2.
Examples
<button type="submit" aria-label="Submit form">Send</button><button type="submit" aria-label="Find products">Search</button><button type="submit">Send</button><button type="submit" aria-label="Search products">Search</button>Can a scanner detect this?
Partly
axe-core's label-content-name-mismatch rule compares visible text with the accessible name and flags names that don't contain it. It cannot read text inside images or labels placed outside the control, so check those by hand.
axe-core rules that test it
label-content-name-mismatch
Common mistakes
- Adding a "more descriptive" aria-label that replaces the visible words instead of including them.
- Translating the visible text but leaving the aria-label in the original language.
- Naming a form field with aria-label that differs from its visible label element.
- Adding a tooltip or title as the name while the visible text says something else.
Related criteria
Check your own page
See which automated WCAG checks your page fails, with the failing elements and how to fix them.
Reviewed November 2, 2026