Back to All Rules
Critical2.4.4 Link Purpose (In Context) (Level A), 4.1.2 Name, Role, Value (Level A)Rule ID: link-name

Links must have discernible text

A link does not have an accessible name. Users cannot understand where the link goes or what it does.

Rule Description

Checks that every <a href> element has a non-empty accessible name from text content, aria-label, aria-labelledby, or image alt text.

Why It Matters

  • Screen reader users may only hear “link” with no purpose
  • Voice control users need a name to activate links
  • Ambiguous links increase navigation errors

How to Fix

Provide visible link text, or use aria-label/aria-labelledby for icon-only links.

Bad Example:

<a href="/pricing"></a> <a href="/cart"><svg></svg></a>

Good Example:

<a href="/pricing">View pricing</a> <a href="/cart" aria-label="View cart"><svg aria-hidden="true"></svg></a>

Common Mistakes

  • Empty anchor tags
  • Links containing only unlabeled icons
  • Generic text like “click here” in repeated contexts

Testing

  • Inspect with axe/browser devtools for link-name
  • Tab through links and verify purpose is clear
  • Use a screen reader links list and confirm distinct names

External Resources

Automate Your Accessibility Testing

Our tool automatically checks for this rule and hundreds of other accessibility issues.

Start Your Free Trial