Skip to content
DevMarDe
Crawl Audit check 175Crawl AuditAccessibility

Names for icon-only buttons: Crawl Audit check 175

Crawl Audit check 175 looks for buttons and links with no name a screen reader can read. Why icon-only buttons fail, and three ways to label them.

Zain Kazmi2 min read
On this page
Check
175 of 200
Module
Content Quality & Accessibility
Group
Accessibility (a11y) & WCAG Compliance
Impact
Medium

Short answer: a button that shows only an icon, like a magnifying glass or a cross, has no name unless you give it one. A screen reader then just says "button", and the visitor has to guess. Check 175 fails when buttons or links have no accessible name.

What Crawl Audit checks

  • Full audit: it reads Lighthouse's "Buttons have an accessible name" audit and fails if any button lacks one.
  • Free check: it looks for <button> or <a> elements with no text, no aria-label and no title.

The free check doesn't count aria-labelledby or the alt text of an image inside a link, so it can flag a control that is actually named. The full audit is more accurate.

What the sources say

  • Lighthouse: "When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers."
  • WCAG 4.1.2 Name, Role, Value, level A, asks that the name and role of every control "can be programmatically determined".
  • WebAIM's 2026 survey found empty links on 46.3% of top home pages and empty buttons on 30.6%.

Three ways to name it

<button aria-label="Search"><svg aria-hidden="true">...</svg></button>

<button><svg aria-hidden="true">...</svg><span class="sr-only">Search</span></button>

<a href="/cart"><img src="cart.svg" alt="Your cart"></a>

Name it for what it does ("Close menu"), not what it shows ("X").

On devmarde.com

Our homepage had no unnamed buttons or links on 6 October, in both Crawl Audit's check and Lighthouse's audit. It passes.

Sources

All 200 Crawl Audit checks

See how your site does on every check.

Crawl Audit runs this check and 199 others on your domain. The full report is $7.89, one time. The free check on this site covers 25.