[Skip navigation links]

Accessibility Checkpoint Data table without th headers


Identify row and column headers in data tables using th elements, and mark layout tables with role=presentation.


Data tables allow screen reader users to understand column and row relationships. Layout tables read cells as a series of unrelated paragraphs with no tabular structure. Without th or role, screen readers apply heuristics to decide whether a table is a layout table or data table. These heuristics vary greatly between screen readers, and are affected by browser being used, window size, and font size (so the outcome is very unpredictable without th or role). If a data table has headers marked up using td, then change these to th. If a data table has no headers, add th elements describing each row and/or column. If the table is only used for layout add role=presentation to the table element.

Applicable standards

Note: Section 508 (2000) checkpoints (a) through (k) are equivalent to WCAG 1.0 level A checkpoints. Section 508 Refresh (2017) checkpoints are equivalent to WCAG 2.0 level AA checkpoints.

Impact on Users

Change history

This page describes a web site issue detected by SortSite Desktop and OnDemand Suite.

Rule ID: AccHtmlTableNoHeaders