table-th-has-data-cells

<th> elements must describe at least one data cell

automaticWCAG 1.3.1 (A)confidence: highseverity: moderateperceivable

Checks that a table containing <th> elements also contains at least one <td> data cell for those headers to describe.

Applies to. Applies to <table> elements that keep their table semantics and are included in the accessibility tree, and that contain at least one <th> which is visible, included in the accessibility tree, and not overridden by an explicit role other than rowheader/columnheader. Also applies to the ARIA-only equivalent: an element with role="grid"/"treegrid" (no native <table> involved) that contains at least one in-scope columnheader/rowheader-role element.

Expectation. The table also contains at least one <td> somewhere in it.

Examples

pass
<table>
<tr><th>Name</th></tr>
<tr><td>Apple</td></tr>
</table>

The table has at least one `<td>` for the `<th>` to head.

fail
<table>
<tr><th>Name</th></tr>
</table>

The table has a `<th>` but zero `<td>` anywhere.

View source