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
- 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.
- In the PDF: in Acrobat Pro, use the Table Editor in the Reading Order tool to set header cells and scope.
- 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.