Tables
Table has no header cells
WCAG 2.2 success criterion 1.3.1 Info and Relationships (Level A)
- WCAG 2.2
- 1.3.1 Info and Relationships
- Level
- A
- Default severity
- Needs review
- Available in
- Free
Updated for Lumtera 1.2.2 and Lumtera Pro 1.1.1.
Why does it matter?
Without header cells, a screen reader reads a table as a stream of unrelated values, and visitors cannot tell which column a number belongs to.
Who it affects: Screen reader users, who hear the header for each cell as they move through a table.
What does Lumtera flag?
Data tables with no <th> header cells. Layout tables marked role="presentation" are skipped.
Check ID table-no-headers — use it to filter the content report or with wp lumtera issues --rule.
How do I fix it in WordPress?
Select the Table block and turn on "Header section" in its settings, then put column names in the header row. If the table is only used for layout, rebuild it with Columns blocks instead.
In the block editor, this issue has a Fix button: one click repairs the block, and Undo puts it back.
Example
<table><tr><td>Plan</td><td>Price</td></tr><tr><td>Personal</td><td>$149</td></tr></table>
<table><thead><tr><th scope="col">Plan</th><th scope="col">Price</th></tr></thead><tbody><tr><td>Personal</td><td>$149</td></tr></tbody></table>
How do I check the fix?
- Update the post. The issue disappears from the Lumtera Accessibility sidebar on the next check, and from the site report on the next scan.
- With a screen reader, move cell by cell (VoiceOver: Ctrl + Option + arrow keys). Each value should be announced with its column or row header.
Find this issue across your whole site
Lumtera runs this check in the block editor sidebar as you write, in the Elementor panel, in Review mode on the live page, and across the whole site in the content report and with wp lumtera scan. You can change its severity or turn it off in Lumtera → Settings.
Related checks
-
WCAG 1.3.1 · AError
Heading is empty
-
WCAG 1.3.1 · ANeeds review
Heading level is skipped
-
WCAG 1.3.1 · ATip
Content uses an H1 heading
-
WCAG 1.3.1 · ATip
Bold text may be a heading
-
WCAG 1.3.1 · ATip
Heading is very long
-
WCAG 4.1.2 · AError
Form field has no label
Start with the free plugin today
All 69 content checks and 33 whole-page checks, fixes you approve with undo, and the site report — free, with no account and no page limits.