Links Must Have Discernible Text: Fix Empty and Icon-Only Links
- May 28, 2026
- Accessibility, Links and Navigation

Your audit flagged one or more links that a screen reader announces as nothing more than "link" — no words, no destination, no clue. This is the axe-core link-name rule, and it maps to WCAG 2.4.4 (Link Purpose in Context) and 4.1.2 (Name, Role, Value). A link with no discernible text is invisible to assistive tech and a dead end for the crawlers that follow your links to understand your site.
What "discernible text" actually means for a link
A link's accessible name is the text a screen reader reads aloud when a user lands on it. Sighted users get that name from visible words. A blind user, or Google's crawler, gets it from the accessible name computation: the text inside the anchor, or an aria-label, or the alt of an image inside the link. When all of those are empty, the link has no name. That's the failure.
The three usual suspects: an anchor wrapping only an icon font (<i class="fa-twitter">) with no label, an anchor wrapping an image that has an empty alt, or a completely empty anchor left behind by a page builder.
A real failing example and the fix
<!-- FAILS: icon-only link, screen reader says just "link" -->
<a href="/contact"><i class="icon-envelope"></i></a>
<!-- FAILS: image link with empty alt -->
<a href="/"><img src="logo.svg" alt=""></a>
<!-- FAILS: empty anchor from a builder -->
<a href="/pricing"></a><!-- FIXED: give the icon link an accessible name -->
<a href="/contact" aria-label="Contact us">
<i class="icon-envelope" aria-hidden="true"></i>
</a>
<!-- FIXED: describe where the logo link goes -->
<a href="/"><img src="logo.svg" alt="Acme Tools home"></a>
<!-- FIXED: real, visible link text -->
<a href="/pricing">See pricing</a>Note the aria-hidden="true" on the icon. Once the anchor has an aria-label, you hide the decorative glyph so the name doesn't get muddied.
Failure pattern to accessible fix
| What the audit found | Why it has no name | The fix |
|---|---|---|
Icon-only link (<a><i></i></a>) | Icon fonts carry no text node | Add aria-label on the anchor, aria-hidden on the icon |
Image link, alt="" | Empty alt gives the image no name to pass up | Write a destination-based alt (not "logo") |
| Empty anchor | No child content at all | Add visible text, or remove the dead link |
| SVG-only link | Inline SVG has no <title> | Add <title> inside the SVG or aria-label on the anchor |
Text hidden with display:none | Hidden text is excluded from the name | Use aria-label or visually-hidden CSS instead |
Why it matters for accessibility and SEO
For a keyboard or screen-reader user, an unnamed link is a locked door. They hear "link, link, link" down your navigation with no way to tell where any of them go. That alone fails the audit, and it makes your site genuinely unusable for a chunk of your audience.
On the search side, anchor text is a ranking signal — it's how Google infers what the target page is about. An empty or icon-only link passes zero descriptive context to the destination. A link that says "See pricing" tells both the user and the crawler exactly what waits on the other side; an empty <a> tells nobody anything.
How to detect it on your own site
- axe DevTools — install the browser extension, open DevTools, run a scan, and filter for the
link-namerule. It points to the exact anchor. - Lighthouse — run the Accessibility category in Chrome DevTools; "Links do not have a discernible name" appears under failing audits with the offending nodes.
- WAVE — the wave.webaim.org extension flags "Empty Link" with a red icon right on the page.
- Manual tab test — tab through the page. When focus lands on a link, check the status bar or listen with a screen reader (VoiceOver: Cmd+F5). If it announces "link" and nothing else, it's unnamed.
- Devtools inspection — right-click the link, Inspect, and read the Accessibility panel's "Name" field. Empty means flagged.
How to fix it
- Open the flagged link in your template or page builder.
- Decide the true destination and write a short, human name for it ("Contact us", "Download the guide", "Acme home").
- If there's visible text that fits, put it inside the anchor. If the design is icon-only by choice, add
aria-labelto the anchor andaria-hidden="true"to the icon. - For image links, replace the empty
altwith text describing the destination, not the picture. - For inline SVG, add a
<title>element as the first child, or anaria-labelon the anchor. - Re-run axe or Lighthouse to confirm the count drops to zero.
FAQ
Is title the same as aria-label for naming a link?
No. The title attribute only appears on mouse hover and is inconsistently exposed to screen readers, so axe won't accept it as a reliable name. Use aria-label or real link text.
Does adding aria-label hurt my SEO?
It doesn't hurt, but visible anchor text is stronger. Google reads on-page text more confidently than ARIA attributes, so prefer real words in the link when the design allows, and reserve aria-label for genuinely icon-only controls.
My logo link keeps getting flagged. Why?
Because the logo image has alt="". A logo that links home is functional, not decorative, so it needs a name. Set alt="Brand name home" on the image.
Is this an error or a warning?
axe-core rates link-name as a serious violation, not a soft warning. It's a genuine barrier, so treat every flagged instance as something to fix rather than dismiss.
What about "click here" links — are those flagged too?
Not by this rule. "Click here" has discernible text, so it passes link-name, but it's still weak. See our note on non-descriptive anchor text for why generic labels underperform.
Related checks
This is the link-specific sibling of two other "discernible text" checks: buttons must have discernible text (for <button> controls) and form input elements must have labels. Also worth a look: same link text should go to the same place, and the broader picture in accessibility and SEO.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







