Rule library Tables

Table cell headers attributes must refer to other <th> elements in the same table

td-headers-attrWCAG 2.0 A

Ensure that each cell in a table that uses the headers attribute refers only to other <th> elements in that table

Who this affects

Data table cells are not associated with headers, so a screen reader reads values without saying which column they belong to.

How to fix it

Use <th scope="col"> / <th scope="row"> in data tables.

Effort Low · ~20 min per table

Where this sits in the standard

WCAG success criterionLevelEN 301 549 clause
1.3.1 Info and RelationshipsA301-549, 9.1.3.1

EN 301 549 clause 9 applies these criteria to web content. The published version referenced by the European Accessibility Act is V3.2.1, which incorporates WCAG 2.1 level A and AA. More on the standard.

How to check it by hand

Move cell by cell with the screen reader's table commands. Each cell should announce its row and column headers. If it reads only the value, the association is missing.

Automated testing settles roughly a third of the WCAG success criteria. This rule is one an automated tool detects reliably — but a clean automated result is not proof of conformance.

Reference

Deque's technical write-up for this rule: td-headers-attr

See whether your site trips this rule

Paste a URL. We open it in a real browser, dismiss the cookie wall and run the full EN 301 549 rule set. No account, no card.

Run a free scan All rules