Powered by
Structure & headings
A Table's Summary Repeats Its Caption Word for Word
Screen readers can read both the caption and the summary, so people hear the same words twice and get no help understanding the table.
table-duplicate-nameBest practiceBest practice — not a WCAG requirement, but it helps people all the same.
- Status
- MinorMinor — Cosmetic, or best practice.CurrentScanners run this rule today.
- Owner
- DevContentTest
- Audit
- AutomatedA scanner finds it, and a clean scan means it's fixed.
Why it matters
A table's <caption> is its visible title. The old summary attribute was meant to add something different: how the table is laid out and how to read it. When both say the same thing, screen reader users hear it twice.
The repeat wastes time. Worse, the extra help the summary should give is missing. That matters most for large or complex tables.
Who it affects
| Who | What they experience | Impact |
|---|---|---|
| Screen reader users | They hear the table's title twice and still get no hint about how the table is arranged. | Partial impact |
| Low-vision users (magnification) | Affected only if they also use a screen reader, because the summary is never shown on screen. | Partial impact |
Business & product impact
| Area | Why | Impact |
|---|---|---|
| Legal | This is a best practice, not a WCAG 2.2 Level AA requirement. On its own it's unlikely to lead to a complaint under the Disability Discrimination Act. | Low impact |
| Conversion | Rarely affects sales unless the table is a key comparison, like pricing plans. | Low impact |
| SEO | Search engines don't care about this — no ranking benefit. | Low impact |
| Brand trust | Repeated, noisy announcements make a site feel careless to screen reader users. | Low impact |
| Cost to fix | Deleting one attribute fixes it. Fix the table template once and every table is fixed. | High impact |
Fixing it in code
Drop the repeated summary
Don't
<table summary="Shipping costs by state">
<caption>Shipping costs by state</caption>
…
</table>A screen reader says: “Table, Shipping costs by state, Shipping costs by state”
Do
<table>
<caption>Shipping costs by state</caption>
…
</table>A screen reader says: “Table, Shipping costs by state”
The caption already names the table, and summary is outdated in modern HTML.
Explain a complex table in visible text
Don't
<table summary="2024 sales results">
<caption>2024 sales results</caption>
…
</table>A screen reader says: “Table, 2024 sales results, 2024 sales results”
Do
<p id="sales-help">Each row is a region. Each column is a quarter.</p>
<table aria-describedby="sales-help">
<caption>2024 sales results</caption>
…
</table>A screen reader says: “Table, 2024 sales results, Each row is a region. Each column is a quarter.”
The extra help is now different, useful, and visible to everyone.
Designer's handoff note
Give every data table a short visible title. If the table is complex, add one line of visible text saying how it's laid out.
Quick test
Tool
NVDA (opens in a new tab) (free on Windows)
Checklist
- Pass
- You hear the table's title once, plus any different description.
- Fail
- You hear the same title read twice.
What a green scan still misses
A scanner only checks for an exact match. It can't tell whether a different summary or caption actually helps someone understand the table.
Reference
- Rule ID
table-duplicate-name- Raised by
- axe-core: “Tables should not have the same summary and caption”
- WCAG
- Best practice — not a WCAG requirement
- Other standards
- RGAA 5.2.1
- Last reviewed
- 14 October 2026