How to Make PDF Tables Accessible: Complete Tagging Guide

Diana Kosovacova
Digital Marketing Lead & PDF Accessibility Evangelist

Connect with Us on LinkedIn

ON THIS PAGE

Why Table Tagging Matters for PDF Accessibility

Screen readers don’t “see” a table the way a sighted reader does. They rely entirely on the tag structure underneath the visible layout: TR for each row, TH for header cells, TD for data cells, and a scope attribute (row, column, or both) that tells the reader which header goes with which data cell.

If that structure is missing, wrong, or incomplete, a screen reader either reads the table as an unstructured wall of text or announces the wrong header for a piece of data – which fails WCAG and PDF/UA accessibility requirements.

PDFix Desktop gives you both manual tagging tools and automation to get this structure right, whether you’re tagging one table or thousands.

❶ Open Your PDF and Check Existing Table Tags

Before you start tagging table by table, check the Tags panel to see what’s already there.

Check the Tags panel to see whether the table already has a tag structure. If it’s missing, tagged incorrectly (for example, tagged as a paragraph), or only partially tagged, switch to the Table Tool in the top toolbar to tag it from scratch.

❷ Tag a Table with the Table Tool

Pick where the table lands in the tag tree first, then draw a box around it and let PDFix auto-detect the rows, columns, and header cells for you.

Before drawing anything, click the paragraph tag in the tag tree that you want the new table to appear directly after – PDFix inserts the finished table tag right below whatever tag was selected, so setting this first saves you from having to move the tag afterward.

Then select the Table Tool and draw a rectangle around the table directly on the page. PDFix automatically detects where the data cells, rows, and columns should be – including headers that span multiple columns (for example, a single header cell sitting above several sub-columns).

Common cleanup you may need before tagging:

  • Extra or split rows: right-click a cell and choose Delete Row, or Merge Cells if content has been split across two cells that should be one.
  • Missing rows or columns: right-click to add a row or column PDFix didn’t detect.
  • Custom shortcuts: PDFix Desktop lets you assign your own keyboard shortcuts (for example, a single key for Merge Cells) — worth setting up if you’re tagging a lot of tables.

Once the structure looks right, click the checkbox to Tag as Table. The table tag appears in the tag tree, but this step usually leaves behind empty paragraph tags where the content used to sit. Clean these up with a “delete empty tags” action from Tag Actions – this is typically a saved custom action rather than a default menu item, so set one up (or ask support for the action file) if you don’t already have it.

❸ Set Row and Column Headers, and Confirm Scope

Every header cell needs both the right tag type (TH) and the right scope – column, row, or both.

Switch to the Tag selection tool (rather than the content-selection tool) so that highlighting content on the page selects the corresponding tag. Then:

  • Select the cells in your header row and confirm in Cell Properties that they’re tagged TH with scope: column.
  • Select the header cells running down the side of the table and confirm they’re TH with scope: row.
  • If a header spans several columns (like a section header sitting across the top of multiple sub-columns), confirm its column span matches the number of columns it covers — e.g. a header spanning all 8 columns of a table needs column span 8.
  • If the same kind of section header is instead positioned down the left side of the table (spanning several rows rather than columns), check its row span instead — e.g. a header spanning 4 rows needs row span 4, with column span left at 1.
  • Don’t assume auto-detection got every header right: select all the cells you expect to be row headers at once and check Properties — it’s common for one or two of them to come in tagged as TD instead of TH and need to be corrected before you set scope.
  • If a header is incorrectly tagged as a data cell (or vice versa), right-click and use Set Row Header / Set Column Header, or double-click the tag to change its type.

❯❯❯ Watch Paul Rayius’s Guide: How to Use the Table Tool in PDFix Desktop

Correct TH/TD tagging and scope aren’t always enough – Associated Header explicitly links each data cell to the header it belongs to.

This is useful for validation profiles that check header/data associations directly, and essential for the multi-level tables in Step 5. It’s also the exact fix behind the PDF/UA error “table header cell has no associated subcells” – see our guide How to Add Associated Headers in PDF Tables.

  • Before you start, turn on two display options from the panel menu above the tag tree (the three-dot / hamburger menu → Show Options): Highlight Associated Headers and Highlight Children of Associated TH. These make it much easier to see, at a glance, which cells are already linked and which still need it.
  • To link cells: select the relevant data cells, right-click just one of the row headers, and choose Associate Header. PDFix is smart about multi-row selections – even though you only right-clicked a single header, if the data cells you selected span several rows, PDFix matches each row to its own nearest row header rather than linking every selected row to the one header you clicked

❺ Tagging Complex Tables with Grouped or Multi-Level Headers

Section headers that sit above a group of rows (instead of beside them) need their own scope, column span, and Associated Header links.

Some tables place a header above a group of rows instead of in a header column beside them. To tag this correctly:

  1. Set your top-row column headers as TH with scope column, as usual.
  2. Set the row headers down the side as TH with scope row.
  3. Select the section header cells (multi-select with Ctrl/Cmd if there’s more than one), set them as TH, assign scope row, and set the correct column span for each — for example, a section header spanning all 8 columns of the table should have column span 8.
  4. Use Associate Header to link the row-level data cells to their closest row header, then link those row headers up to the section header, and finally link all data cells down a column to their top column header. Selecting a data cell afterward shows you both its row header and its column header, so you can quickly confirm every cell is linked correctly.

This same process works even when a table spans multiple pages – the Table Tool and tag selection continue to work across the page break as if it were one table.

❯❯❯ Watch Paul Rayius’s Guide: Tagging Complex Tables with Row Headers

❻ Finalize the Tag and Validate

Confirm the tag tree is clean, then run Validation to make sure the table actually passes PDF/UA and WCAG checks.

Once headers, scope, and associations are set:

  1. Confirm the table tag sits in the correct place in the tag tree.
  2. Delete any remaining empty tags left over from the tagging process.
  3. Run Validation from the Tags panel against your target profile (PDF/UA-1, WCAG 2.1/2.2, or a custom profile) to confirm the table passes machine checks.

Already have a table tag and just need to touch up a cell or two? You don’t need to retag the whole table – locate the existing table tag in the Tags panel, right-click it, and open the Table Editor. From there you can set header cells and data cells directly on the already-tagged structure, then right-click and choose Tag as Table again to confirm the fix.

What’s New in PDFix Desktop: Automating Table Tagging at Scale

Manually tagging every table is fine for a handful of documents, but remediators working through hundreds or thousands of files need automation. PDFix Desktop has added several tools for exactly this:

❯❯❯ Watch the Webinar: How to Tag Complex PDF Tables for Accessibility

Frequently Asked Questions

What tags does an accessible PDF table need?

An accessible PDF table needs a Table tag containing TR (row) tags, which in turn contain TH (header) and TD (data) cells. Header cells also need a scope attribute (row, column, or both) so screen readers know which header applies to which data cell.

What is PDF table tagging accessibility, in simple terms?

It’s the process of adding a tag structure (Table, TR, TH, TD, scope) to a PDF table so screen readers can announce headers and data correctly, instead of just reading the visible text with no structure.

What does “Associated Header” do in PDFix Desktop?

Associated Header explicitly links a data cell to the header cell(s) it belongs to. It’s most important in complex tables with multiple header levels, where scope alone may not fully describe the relationship between a data cell and every relevant header.

What’s the difference between tagging a new table and fixing an already-tagged one?

Tagging a new table means building the TR/TH/TD structure from scratch with the Table Tool, which is what this guide covers. Fixing an already-tagged table means correcting existing errors — wrong TH/TD types, missing scope, or tables mistakenly used for layout — which is covered in our companion guide, How to Fix Table Tags in PDF.

Can PDFix Desktop tag a table automatically?

Yes. The Table Tool auto-detects rows, columns, and likely headers when you draw a box around a table. For documents with many repeated or complex tables, the Layout Template feature can auto-tag the same structure across an entire document set from one saved template.

Can I generate table descriptions automatically?

Yes. PDFix Desktop’s OpenAI-powered Table Summary action can generate a text summary for each tagged table automatically, in batch across multiple files in the Enterprise edition.