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