Checkpoint 15: Tables
Data tables in your PDF must have properly marked header cells so that screen reader users can understand how the data is organized and what each cell means.
What This Means
Tables organize information into rows and columns. Sighted users can glance at column headers and row labels to understand what data each cell contains. For example, when you see a number in a table, you look up to see the column header ("Q3 Revenue") and left to see the row header ("North Region") to understand the number means "North Region's Q3 Revenue."
Screen reader users cannot glance at headers. Instead, their software must announce the headers along with each cell value. For this to work, your PDF must explicitly mark which cells are headers and define the relationship between headers and data cells. Without this structure, screen reader users hear a confusing stream of disconnected values with no context.
Why It Matters
Tables are everywhere in business documents: financial reports, schedules, comparison charts, pricing information, and data summaries. When table headers are not properly marked:
- Screen reader users cannot understand your data. They hear cell values without knowing what column or row they belong to.
- Navigation becomes impossible. Users cannot jump between headers or move logically through the table.
- Critical business information is inaccessible. Financial data, schedules, and comparisons become meaningless.
- Your documents fail accessibility requirements under PDF/UA, Section 508, and other standards.
Properly structured tables benefit everyone. They also enable better data extraction, improved search indexing, and compatibility with future assistive technologies.
Common Violations
The Matterhorn Protocol defines five failure conditions for tables. Here is what each one means and how to fix it.
15-001: Row Header Not Tagged as Header
What's Wrong: A cell that serves as a row header (the first cell in a row that labels the row's data) is tagged as a regular data cell (TD) instead of a header cell (TH).
Example: In a table showing quarterly sales by region, "North Region" in the first column should be a header cell because it labels all the data in that row.
| Region (should be TH) | Q1 | Q2 | Q3 | Q4 |
|---|---|---|---|---|
| North Region | $1.2M | $1.4M | $1.3M | $1.5M |
| South Region | $0.9M | $1.1M | $1.0M | $1.2M |
How to Identify:
- Open the Tags panel and expand the Table structure
- Check if the first cell in each row is tagged as TD instead of TH
- Use the Table Editor tool in Acrobat to visualize header assignments
How to Fix:
- Open Tools > Accessibility > Reading Order
- Click on the table to select it
- Right-click and select Table Editor
- Click on the row header cell that needs fixing
- Right-click and select Table Cell Properties
- Change "Type" from Data Cell to Header Cell
- Set "Scope" to Row (this tells assistive technology the header applies to cells in this row)
- Click OK and repeat for all row headers
15-002: Column Header Not Tagged as Header
What's Wrong: A cell that serves as a column header (typically in the top row, labeling the data below it) is tagged as a regular data cell (TD) instead of a header cell (TH).
Example: In the table above, "Q1", "Q2", "Q3", and "Q4" should all be header cells because they label the data in their columns.
How to Identify:
- Open the Tags panel and expand the Table structure
- Check if cells in the header row are tagged as TD instead of TH
- Look for tables where the first row appears bold or styled differently but is not marked as headers
How to Fix:
- Open Tools > Accessibility > Reading Order
- Click on the table to select it
- Right-click and select Table Editor
- Click on each column header cell in the top row
- Right-click and select Table Cell Properties
- Change "Type" from Data Cell to Header Cell
- Set "Scope" to Column
- Click OK and repeat for all column headers
15-003: Header Cell Missing Scope Attribute (Machine Testable)
What's Wrong: A cell is correctly tagged as a header cell (TH), but it does not have a Scope attribute that specifies whether it is a row header or column header. Without Scope, assistive technology cannot determine which data cells the header applies to.
How to Identify:
- Run a PDF/UA check in Adobe Acrobat or PAC
- The checker will report "TH cell has no associated data cells" or "Scope attribute missing"
- In the Table Editor, header cells may show without clear row or column associations
How to Fix:
- Open Tools > Accessibility > Reading Order
- Click on the table and select Table Editor
- Click on the header cell that is missing Scope
- Right-click and select Table Cell Properties
- Confirm "Type" is set to Header Cell
- Set "Scope" to the appropriate value:
- Column for headers in the top row that label columns below
- Row for headers in the first column that label rows to the right
- Both for a header that applies to both its row and column (rare, use for top-left corner cells in some tables)
- Click OK
15-004: Content Tagged as Table but Not Organized in Rows and Columns
What's Wrong: Content has been tagged as a table structure (using Table, TR, TD tags), but it is not actually tabular data organized in rows and columns. This might be layout content that was incorrectly identified as a table, or a real table that has a broken structure.
How to Identify:
- In the Tags panel, find the Table tag and expand it
- Check if TR (table row) tags contain TD/TH cells as expected
- Look for missing rows, cells outside of rows, or other structural problems
- Content that was laid out using tables for positioning but contains no actual data
How to Fix:
If the content is not actually a table:
- In the Tags panel, right-click the Table tag
- Select Change Tag to Artifact if it is purely decorative layout
- Or change it to appropriate tags (like P for paragraphs) if it contains real content
If it is a real table with broken structure:
- Delete the existing table tags
- Use the Reading Order tool (Tools > Accessibility > Reading Order)
- Draw a rectangle around the entire table
- Click the Table button
- Use the Table Editor to verify and fix the structure
- Ensure every row is tagged as TR and contains TH or TD cells
15-005: Cell Headers Cannot Be Unambiguously Determined
What's Wrong: The table structure is ambiguous, and assistive technology cannot determine which headers apply to a given data cell. This typically happens with complex tables that have:
- Merged cells (cells spanning multiple rows or columns)
- Multiple levels of headers
- Irregular layouts
Example of a problematic table:
+---------------------------+
| 2024 Sales Report | (merged across all columns)
+---------------------------+
| | Q1 | Q2 |
+---------+------+------+
| North | East | $1M | $1.2M | (this structure is confusing)
| | West | $0.8M| $0.9M |
+---------+------+------+
How to Identify:
- Look for tables with merged cells or complex layouts
- Run a PDF/UA check, which may flag ambiguous header relationships
- Test with a screen reader: if the announced headers do not match expectations, the associations are wrong
How to Fix:
For tables with merged cells:
- Open the Table Editor
- Click on the merged header cell
- Right-click and select Table Cell Properties
- Verify the Row Span and Column Span values are correct
- Ensure the Scope is set appropriately (may need "Both" for spanning headers)
For complex tables with multiple header levels:
- Consider simplifying the table structure if possible
- Use the Headers attribute to explicitly associate data cells with their headers:
- Give each header cell an ID in its properties
- For each data cell, specify which header IDs apply to it
- In extreme cases, split complex tables into multiple simpler tables
For irregular layouts:
- Restructure the content as a proper grid of rows and columns
- If the information cannot fit a regular table structure, consider presenting it as a list or other format
How to Fix in Adobe Acrobat
Adobe Acrobat Pro provides specialized tools for working with table accessibility.
Using the Table Editor
- Go to Tools > Accessibility > Reading Order
- Click on the table you want to edit
- Right-click the table and select Table Editor
- The table appears with cells highlighted and labeled
In the Table Editor view:
- TH cells appear differently from TD cells
- Click any cell to select it
- Right-click for properties and options
Converting Data Cells to Header Cells
- In Table Editor, click the cell to convert
- Right-click and select Table Cell Properties
- Change "Type" to Header Cell
- Set the appropriate "Scope" (Row, Column, or Both)
- Click OK
Fixing Cell Spanning (Merged Cells)
- In Table Editor, click the merged cell
- Right-click and select Table Cell Properties
- Verify "Row Span" and "Column Span" values match the visual layout
- If a header spans 3 columns, Column Span should be 3
- Click OK
Verifying Table Structure
- After making changes, close the Table Editor
- In the Tags panel, expand the Table tag
- Verify the structure looks correct:
- Table contains TR (table row) tags
- Each TR contains TH (header) and/or TD (data) cells
- The number of cells per row matches your table
- Run Tools > Accessibility > Accessibility Check to verify
Rebuilding a Broken Table
If a table has severe structural problems:
- In the Tags panel, delete the existing Table tag and its contents
- Go to Tools > Accessibility > Reading Order
- Draw a rectangle around the table content
- Click the Table button
- Acrobat will create a new table structure
- Use Table Editor to fine-tune headers and properties
How to Fix in Microsoft Word
Creating accessible tables in Word before exporting to PDF produces better results than fixing PDFs after the fact.
Designating Header Rows in Word
- Click anywhere in your table
- Go to the Table Design tab (or Table Tools > Design)
- In the Table Style Options group, check Header Row
- This marks the first row as a header row for accessibility
For Row Headers (First Column)
- Click anywhere in your table
- Go to the Table Design tab
- Check First Column in the Table Style Options
- This marks the first column as containing row headers
Repeating Header Rows Across Pages
If your table spans multiple pages, repeat headers on each page:
- Select the header row(s) of your table
- Right-click and select Table Properties
- Go to the Row tab
- Check Repeat as header row at the top of each page
- Click OK
Adding Alt Text to Tables
For complex tables, add a summary:
- Click anywhere in the table
- Right-click and select Table Properties
- Go to the Alt Text tab
- Enter a Title (brief) and Description (explains the table's purpose and structure)
- Click OK
Exporting to PDF with Table Structure
- Go to File > Save As and select PDF
- Click Options
- Ensure Document structure tags for accessibility is checked
- Click OK and save
Testing Your Fix
After making corrections, verify your tables are properly accessible.
Quick Test in Acrobat
- Go to Tools > Accessibility > Accessibility Check
- Run a full check with PDF/UA-1 selected
- Check the "Tables" section of the results
- Verify no errors about headers, scope, or structure
Test with the Tags Panel
- Open the Tags panel
- Expand your Table tag
- Verify the structure:
- TR tags for each row
- TH tags for header cells
- TD tags for data cells
- Right-click header cells and check Properties to confirm Scope is set
Test with a Screen Reader
- Open the PDF in a screen reader (NVDA, JAWS, or VoiceOver)
- Navigate to the table
- Use table navigation commands:
- Ctrl + Alt + Arrow keys in NVDA/JAWS to move between cells
- Listen for header announcements with each data cell
- Verify you hear the appropriate column and row headers when moving to each cell
Use PAC (PDF Accessibility Checker)
- Open your PDF in PAC
- Run the PDF/UA check
- Navigate to the "Matterhorn Protocol" results
- Check Checkpoint 15 for any remaining table failures
- Use the Preview feature to visualize table structure
Manual Review Checklist
- All tables have TH cells for headers
- All TH cells have a Scope attribute (Row or Column)
- Column headers are in the first row (or clearly marked)
- Row headers are in the first column (where applicable)
- Merged cells have correct Row Span and Column Span values
- Complex tables have explicit header-cell associations
- Tables that span pages repeat headers on each page
- Layout tables (used only for positioning) are marked as artifacts
Additional Resources
Official Standards and Guidelines
- W3C WCAG 2.1 Success Criterion 1.3.1: Info and Relationships
- PDF Association Matterhorn Protocol 1.02
- ISO 32000-1:2008 (PDF Specification) - Table 333
Tutorials and Guides
- Adobe: Creating Accessible Tables in PDFs
- WebAIM: Creating Accessible Tables
- W3C WAI Tables Tutorial
Tools
- PAC (PDF Accessibility Checker) - Free PDF/UA validation tool
- NVDA Screen Reader - Free screen reader for testing table navigation
- Adobe Acrobat Pro Table Editor
This documentation is based on the Matterhorn Protocol 1.02, the definitive reference for PDF/UA validation. For the most current information, consult the PDF Association and W3C WCAG guidelines.