- Success Criterion 2.4.4
- Conformance level A
Card Component Link With No Accessible Name of Its Own
2.4.4 — Link Purpose (In Context)
Scenario
Setting
A community forum's discussion thread
What’s wrong
Card patterns where the clickable area's name is empty and the visible title is a sibling not referenced.
Example
<a href="/thread/482" class="card-link"></a>
<div class="card-content">
<h3>Best hiking trails near Denver?</h3>
<p>12 replies, last post 2h ago</p>
</div> Why it matters
A screen reader announces an empty, nameless link before the actual thread title, so the user can't tell what thread it opens.
How to test
Inspect a clickable card component in DevTools: if the wrapping link/element has no accessible name and the visible title is a sibling not referenced by it, it fails.
How to fix
aria-labelledby lets a full-card link borrow its name from the visible heading without duplicating text.
<a href="/thread/482" class="card-link" aria-labelledby="thread-482-title"></a>
<div class="card-content">
<h3 id="thread-482-title">Best hiking trails near Denver?</h3>
<p>12 replies, last post 2h ago</p>
</div> Outcome
A user browsing threads hears Best hiking trails near Denver announced directly on the link.
Who is affected
Screen reader users browsing forum threads hit blank links and must guess or backtrack to find the topic.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Link’s Purpose Explained Only in Unrelated Page Text
- Image-Only Link or Button With No Accessible Name
- Repeated ‘Click Here’ Links With No Way to Tell Them Apart
- Multiple ‘Download’ Links With No File Name or Type Given
- Icon-Only Link With No Accessible Name at All
- Link Text That’s Just a Long, Meaningless Tracking URL