Skip to content

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.
Save as PDF (opens in a new tab)

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 it affects, and how much
WhoWhat they experienceImpact
Screen reader usersThey 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

Business & product impact, with how much each claim weighs
AreaWhyImpact
LegalThis 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
ConversionRarely affects sales unless the table is a key comparison, like pricing plans.Low impact
SEOSearch engines don't care about this — no ranking benefit.Low impact
Brand trustRepeated, noisy announcements make a site feel careless to screen reader users.Low impact
Cost to fixDeleting 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