Headings
Heading inside a table cell
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.3.0 and Lumtera Pro 1.2.0.
Why does it matter?
WCAG 1.3.1 asks that structure reaches assistive technology as it was meant; a heading inside a data table is often a sign that a cell is doing the job of a table header or caption, and it breaks up the page outline. A heading that really starts a section of the page is fine.
Who it affects: Screen reader users, who jump from heading to heading to understand and skim a page, and people with cognitive disabilities who rely on clear structure.
What does Lumtera flag?
A heading inside a table cell, often a cell doing the job of a table header or caption. For review: a heading that really starts a section of the page is fine.
Check ID heading-in-table — use it to filter the content report or with wp lumtera issues --rule.
How do I fix it in WordPress?
To title the table, use its caption. To label a column or a row, use a header cell (<th>). If the table is only there for layout, use columns instead of a table.
Example
<td><h3>Price</h3></td>
<th scope="col">Price</th>
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.
- Use a headings outline — the block editor's Document Overview (List View → Outline), or a browser extension such as HeadingsMap — and check the levels read like a table of contents.
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 2.4.10 · AAATip
Long content has no subheadings
Start with the free plugin today
All 88 content checks and 38 whole-page checks, fixes you approve with undo, and the site report — free, with no account and no page limits.