What This Means

One or more data tables in the page have no <th> header cells. The table is built entirely of <td> cells with no row or column headers declared.

Why It Matters for SEO

Screen readers read tables by announcing the header of each cell as they traverse the table. Without <th> elements, the screen reader cannot identify what each column or row represents — it reads only raw cell values with no context. This is a WCAG 2.1 issue (Success Criterion 1.3.1).

For search engines, <th> elements provide additional semantic context about the tabular data. A table about pricing with <th> headers (Plan, Price, Features) is more interpretable than a table of raw <td> values.

What the Platform Checks

The platform inspects all <table> elements and checks for the presence of at least one <th> element within. Fires when a table is found with no <th> cells.

How to Fix It

  • Add <th> elements for column headers in the first row (inside <thead>).
  • Add <th scope="col"> for column headers and <th scope="row"> for row headers.
  • For complex tables with both row and column headers: use the scope attribute correctly.
  • If you are using tables for layout rather than data: consider switching to CSS Grid or Flexbox, which is more appropriate for layout and does not require header semantics.

Find every tablewithout header cells

The audit identifies every data table missing th header cells so you can add proper table structure.