Link without discernible text (link-name)

The link-name rule flags links that have no accessible name, so a screen reader announces "link" – or reads out the web address – and nobody can tell where it goes. Most are icon links and image links whose image has no alt. The fix is text inside the link, an alt on the image, or an aria-label that says where the link leads.

What the rule means

Every link needs a name that tells people where it goes. For an <a href>, the name comes from the text inside it, including the alt of an image in it. The rule passes a link that gets its name from:

  • text content, including the alt text of images inside the link,
  • aria-label or aria-labelledby,
  • or a title attribute.

It fails a link where all of these are empty – a link wrapped around an SVG marked aria-hidden="true", around an image with no alt or with alt="", or around nothing at all. Content drawn by CSS, such as an icon font or background image, does not count. A link that is removed from both the tab order and the accessibility tree is not checked, and neither is an <a> without href, which is not a link.

The rule checks only that there is a name. "Click here", "More" and "Read more" pass – whether the text says where the link goes is a judgement, which is why the fact box above says "partly".

Who is affected

Blind people using a screen reader, who often move through a page by pulling up a list of its links: an unnamed link appears as "link" or as a long address. Voice-control users, who cannot say "click Instagram" for a link with no name. People using a braille display, where only the role shows. Empty links are among the most common failures on the web: the WebAIM Million 2026 found them on 46.3% of the top one million home pages [5].

Why the check fails

  • Social media icons in the footer – an SVG or icon font and nothing else.
  • Logo links in the header with an image that has no alt or alt="".
  • Product and teaser cards where the image is one link with no text and the title is a second link.
  • Icon links in the header – cart, account, wishlist – without text.
  • Empty anchors such as <a href="#"></a> that a script fills in later, or never.
  • Text hidden with display: none on small screens, which hides it from screen readers too.

How to fix it

  1. For an image link, put the destination in the image's alt – "Example Ltd – home", not "logo".
  2. For an icon link, add visually hidden text inside the link or an aria-label on it, and mark the icon aria-hidden="true".
  3. Where an image and a title link to the same place, make them one link, so there is one name and one stop in the tab order.
  4. Fix it in the header, footer and card components – they appear on every page.
<!-- Before: an icon link and an image link with no name -->
<a class="header-cart" href="/basket/">
  <svg aria-hidden="true" width="24" height="24" viewBox="0 0 24 24"><path d="M4 4h2l3 12h10l2-8H7"/></svg>
</a>
<a class="social-link" href="https://www.instagram.com/example/">
  <img src="/icons/instagram.svg" width="24" height="24">
</a>
<!-- After: aria-label names the icon link, alt names the image link -->
<a class="header-cart" href="/basket/" aria-label="Basket">
  <svg aria-hidden="true" width="24" height="24" viewBox="0 0 24 24"><path d="M4 4h2l3 12h10l2-8H7"/></svg>
</a>
<a class="social-link" href="https://www.instagram.com/example/">
  <img src="/icons/instagram.svg" width="24" height="24" alt="Example Ltd on Instagram">
</a>

A "Read more" link passes the rule but tells nobody which article it opens. Add the title as hidden text, so the visible word stays short and the name is unique:

<a class="teaser__more" href="/blog/accessible-forms/">
  Read more<span class="visually-hidden"> about accessible forms</span>
</a>

How to test it manually

  1. Open the list of links with a screen reader – NVDA: Insert + F7; VoiceOver: the rotor with VO + U – and read it without looking at the page. Can you tell where each link goes?
  2. Look for entries that read "link", a file name or a web address: those are the unnamed links.
  3. Select icon and image links in your browser's accessibility inspector (Chrome, Edge, Firefox): the "Name" must not be empty.
  4. Look for several links with the same name, such as "Read more", that go to different places.

The rule is mapped to two criteria, both Level A: 2.4.4 Link Purpose (In Context), because a link with no text cannot say where it goes, and 4.1.2 Name, Role, Value, because the link, as a control, has no name. Related: 1.1.1 Non-text Content for the image inside an image link, and 2.5.3 Label in Name – an aria-label must contain the link's visible text.

How Reviseberg reports it

Reviseberg runs link-name on every crawled page at 1280px. The issue list shows the rule with its severity, WCAG criteria and level, the number of links and pages affected, and the points you get back by fixing it. The detail view gives the CSS selector, the HTML snippet and every page affected – social icons in the footer appear on every page, and one template fix clears all of them.

You can mark findings as "ignore", "can't fix" or "false positive" with a reason, for example for a third-party embed; every decision is logged. A clean result here never marks 2.4.4 or 4.1.2 as passed: whether each link text says where it goes is a person's check.

  • undefined – images without alt text, often the reason an image link has no name.
  • undefined – the same problem on buttons.
  • undefined – links in running text that stand out by colour alone.

Find every empty link on your site – get a free scan

Frequently asked questions

Is "Read more" allowed?

It passes this rule, and WCAG 2.4.4 accepts it when the surrounding text – the paragraph or list item – makes the destination clear. Many identical "Read more" links in a list of links are still hard to use; hidden extra text fixes that.

Should the alt text of a logo link say "logo"?

No. It should say where the link goes, usually the company name and "home", for example "Example Ltd – home".

Is a title attribute enough?

The rule accepts it, but the tooltip only appears on mouse hover – people using touch or the keyboard never see it. Use text or aria-label.

Why does a link with an alt="" image fail?

alt="" marks the image as decorative, so it contributes nothing to the name. If the image is the only content of the link, the link has no name left.

Sources

  1. W3C, Understanding SC 2.4.4 Link Purpose (In Context) – https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context
  2. W3C, Understanding SC 4.1.2 Name, Role, Value – https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
  3. Deque University, axe-core 4.13 rule link-name – https://dequeuniversity.com/rules/axe/4.13/link-name
  4. W3C, Failure F89: not providing an accessible name for an image which is the only content in a link – https://www.w3.org/WAI/WCAG22/Techniques/failures/F89
  5. WebAIM, The WebAIM Million (2026) – https://webaim.org/projects/million/

See what a scan finds on your site

One page in about thirty seconds, no email needed. The full report covers up to 100 pages and a keyboard journey.