Welcome Check Web

Tables · WCAG 2.0 Level A

Non-empty <td> elements in larger <table> must have an associated table header

Ensure that each non-empty data cell in a <table> larger than 3 by 3 has one or more table headers.

What it means

The td-has-header rule flags elements that fail this check. It maps to WCAG success criterion 1.3.1.

Who it affects

Screen reader users who move through tables cell by cell.

How to fix it

Mark up header cells with <th> and scope, and keep headers attributes pointing at real header cells in the same table.

Check it on your site

Run a free scan. If this rule fails, the results list the affected elements. Deque, which maintains axe-core, also documents this rule in detail: Deque University: td-has-header.

Quick answers

What does the axe rule "td-has-header" check?

Ensure that each non-empty data cell in a <table> larger than 3 by 3 has one or more table headers.

How do I fix "Non-empty <td> elements in larger <table> must have an associated table header"?

Mark up header cells with <th> and scope, and keep headers attributes pointing at real header cells in the same table.

Who is affected by td-has-header failures?

Screen reader users who move through tables cell by cell.

Automated accessibility scan. Results are informational and may not identify every accessibility issue. This service is not legal advice, a compliance certification, or a substitute for comprehensive manual accessibility testing.