High severityTables

How to Make PDF Tables Accessible (Add Table Headers)

Standards this affects

  • PDF/UAISO 14289-1, clause 7.5 (tables)
  • WCAG 2.11.3.1 Info and Relationships (Level A)
  • Section 508502 / WCAG 2.0 AA by reference

What this means

An accessible PDF table uses proper table tags: a Table (Table) containing rows (TR), with header cells tagged TH and data cells tagged TD. Header cells must be associated with the data cells they describe (via scope or IDs for complex tables).

Why it matters

Sighted readers connect a value to its column and row heading at a glance. A screen reader can only do this if the headers are tagged as TH and associated correctly — otherwise a user hears a stream of numbers with no idea what each one means. Layout tables (used only for positioning) should not be tagged as tables at all.

How the checker flags it

  • The checker reports missing TH header cells or a table-structure error.
  • Cells that are visually headers are tagged TD instead of TH.
  • A screen reader reads cell values without announcing their headers.

How to fix it

  1. 1

    Confirm it's a real data table

    If the "table" is only used to position content visually, it should be tagged as normal content/artifacts, not as a table. Only genuine data tables need header structure.

  2. 2

    Tag header cells as TH

    In Acrobat Pro, use the Table Editor (Reading Order tool → select the table → Table Editor). Right-click header cells and set their type to Header Cell (TH); data cells should be TD.

  3. 3

    Set header scope

    For each TH, set Scope to Row or Column so it's clear which cells it labels. This is what lets a screen reader announce the right header with each value.

  4. 4

    Handle complex tables

    For tables with merged cells or multiple header levels, assign header cell IDs and reference them from data cells so associations stay correct. Where possible, simplify the table instead.

  5. 5

    Re-check the table

    Run the checker again and, ideally, tab through the table with a screen reader to confirm each value announces its row and column headers.

Check your PDF for this issue

Upload your PDF to see whether it has this problem — and every other PDF/UA and WCAG 2.1 AA issue. Free, instant, no signup required.

Frequently asked questions

What's the difference between a layout table and a data table?
A data table presents related data in rows and columns (a price list, a schedule). A layout table is used purely to position content on the page. Only data tables should be tagged as tables; layout tables should be tagged as ordinary content.

Related fixes