This check finds a <td headers="…"> value that points to an ID that is missing, duplicated, outside the table, or assigned to an element that is not an appropriate header cell.
Why this matters
The headers relationship supplies context for complex tables. Broken references prevent assistive technologies from announcing the correct row and column headings for a data value.
How to fix it
- Give every referenced
<th>a unique ID within the document. - Update each data cell’s space-separated
headerslist to use the exact relevant IDs. - Keep referenced headers in the same table as the data cell.
- For a simple table, prefer correctly applied
scopeattributes instead of unnecessary manual ID mapping.
When the finding appears across many URLs, fix the shared component or layout that produces it instead of patching generated HTML page by page. Recheck representative templates and responsive states after deployment so the correction does not create a regression elsewhere.
How to verify the fix
Programmatically resolve every token in every headers attribute and confirm it identifies one header cell in the same table. Then review the announced context with a screen reader.
Keep before-and-after evidence for the affected URL, original output, correction, and verification method. If markup changes after load, test consent states, localization, responsive variants, and client-side navigation because the initial HTML and rendered DOM can differ.