Guides › How to

How to make tables in a PDF accessible

Short answer: An accessible PDF table is tagged as a Table with rows (TR), header cells (TH) and data cells (TD); header cells say whether they label a column or a row; every row has the same number of cells, accounting for merged cells; and the table is not used just for layout. Fee schedules and budgets exported from Excel often lack header cells or have uneven rows.

What a table needs

  • Structure tags: Table › TR › TH/TD.
  • Header cells: column headers (and row headers when the first column labels each row, such as fee names).
  • Scope: each TH says whether it applies to a column or a row.
  • Consistent rows: each row has the same number of cells, counting merged cells.
  • A caption or nearby heading that says what the table is.

Common failures we see

  • No header row. Many fee schedules have section titles (“PLANNING FEES”) but no “Item | Fee” header row. Screen readers then have nothing to announce.
  • Uneven rows. Notes and footnotes typed into one wide cell make rows with different cell counts.
  • Layout tables. Tables used to place text side by side. These should be tagged as normal text, not as a table.
  • Huge single tables spanning many pages with repeated header rows tagged as data.

How to fix

  1. At the source: in Excel or Word, add a real header row, mark it as a header (Word: Table Properties › Repeat as header row), avoid merged cells, and keep notes outside the table.
  2. In the PDF: in Acrobat Pro, use the Table Editor in the Reading Order tool to set header cells and scope.
  3. Automated: remediation tools detect tables and header rows. Check the result, especially when the source has no header row.

Checking

Listen with NVDA: move into the table, then use Ctrl+Alt+Arrow keys to move between cells. Each cell should be announced with its column header.

In our tests on city fee schedules, automated tagging got rows and values right; where the original had no header row, it used the section title as the header, which is understandable but not ideal. The report flags tables for review.

Frequently asked questions

What does a screen reader do with a table without headers?
It reads cell values without context: '$250, $500, $1,000', with no way to tell which fee or column each belongs to.
Should we avoid tables in PDFs?
No. Use tables for tabular data, mark headers, and keep them simple. Avoid tables used only to position text.

Sources

Related guides

Last updated: