Skip to main content
Checkpoint 15Critical Priority5 failure conditions

Checkpoint 15: Tables

Data tables must have properly marked header cells so screen reader users can understand the relationship between headers and data.

Related WCAG:1.3.1

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)Q1Q2Q3Q4
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:

  1. Open Tools > Accessibility > Reading Order
  2. Click on the table to select it
  3. Right-click and select Table Editor
  4. Click on the row header cell that needs fixing
  5. Right-click and select Table Cell Properties
  6. Change "Type" from Data Cell to Header Cell
  7. Set "Scope" to Row (this tells assistive technology the header applies to cells in this row)
  8. 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:

  1. Open Tools > Accessibility > Reading Order
  2. Click on the table to select it
  3. Right-click and select Table Editor
  4. Click on each column header cell in the top row
  5. Right-click and select Table Cell Properties
  6. Change "Type" from Data Cell to Header Cell
  7. Set "Scope" to Column
  8. 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:

  1. Open Tools > Accessibility > Reading Order
  2. Click on the table and select Table Editor
  3. Click on the header cell that is missing Scope
  4. Right-click and select Table Cell Properties
  5. Confirm "Type" is set to Header Cell
  6. 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)
  7. 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:

  1. In the Tags panel, right-click the Table tag
  2. Select Change Tag to Artifact if it is purely decorative layout
  3. Or change it to appropriate tags (like P for paragraphs) if it contains real content

If it is a real table with broken structure:

  1. Delete the existing table tags
  2. Use the Reading Order tool (Tools > Accessibility > Reading Order)
  3. Draw a rectangle around the entire table
  4. Click the Table button
  5. Use the Table Editor to verify and fix the structure
  6. 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:

  1. Open the Table Editor
  2. Click on the merged header cell
  3. Right-click and select Table Cell Properties
  4. Verify the Row Span and Column Span values are correct
  5. Ensure the Scope is set appropriately (may need "Both" for spanning headers)

For complex tables with multiple header levels:

  1. Consider simplifying the table structure if possible
  2. 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
  3. In extreme cases, split complex tables into multiple simpler tables

For irregular layouts:

  1. Restructure the content as a proper grid of rows and columns
  2. 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

  1. Go to Tools > Accessibility > Reading Order
  2. Click on the table you want to edit
  3. Right-click the table and select Table Editor
  4. 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

  1. In Table Editor, click the cell to convert
  2. Right-click and select Table Cell Properties
  3. Change "Type" to Header Cell
  4. Set the appropriate "Scope" (Row, Column, or Both)
  5. Click OK

Fixing Cell Spanning (Merged Cells)

  1. In Table Editor, click the merged cell
  2. Right-click and select Table Cell Properties
  3. Verify "Row Span" and "Column Span" values match the visual layout
  4. If a header spans 3 columns, Column Span should be 3
  5. Click OK

Verifying Table Structure

  1. After making changes, close the Table Editor
  2. In the Tags panel, expand the Table tag
  3. 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
  4. Run Tools > Accessibility > Accessibility Check to verify

Rebuilding a Broken Table

If a table has severe structural problems:

  1. In the Tags panel, delete the existing Table tag and its contents
  2. Go to Tools > Accessibility > Reading Order
  3. Draw a rectangle around the table content
  4. Click the Table button
  5. Acrobat will create a new table structure
  6. 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

  1. Click anywhere in your table
  2. Go to the Table Design tab (or Table Tools > Design)
  3. In the Table Style Options group, check Header Row
  4. This marks the first row as a header row for accessibility

For Row Headers (First Column)

  1. Click anywhere in your table
  2. Go to the Table Design tab
  3. Check First Column in the Table Style Options
  4. 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:

  1. Select the header row(s) of your table
  2. Right-click and select Table Properties
  3. Go to the Row tab
  4. Check Repeat as header row at the top of each page
  5. Click OK

Adding Alt Text to Tables

For complex tables, add a summary:

  1. Click anywhere in the table
  2. Right-click and select Table Properties
  3. Go to the Alt Text tab
  4. Enter a Title (brief) and Description (explains the table's purpose and structure)
  5. Click OK

Exporting to PDF with Table Structure

  1. Go to File > Save As and select PDF
  2. Click Options
  3. Ensure Document structure tags for accessibility is checked
  4. Click OK and save

Testing Your Fix

After making corrections, verify your tables are properly accessible.

Quick Test in Acrobat

  1. Go to Tools > Accessibility > Accessibility Check
  2. Run a full check with PDF/UA-1 selected
  3. Check the "Tables" section of the results
  4. Verify no errors about headers, scope, or structure

Test with the Tags Panel

  1. Open the Tags panel
  2. Expand your Table tag
  3. Verify the structure:
    • TR tags for each row
    • TH tags for header cells
    • TD tags for data cells
  4. Right-click header cells and check Properties to confirm Scope is set

Test with a Screen Reader

  1. Open the PDF in a screen reader (NVDA, JAWS, or VoiceOver)
  2. Navigate to the table
  3. Use table navigation commands:
    • Ctrl + Alt + Arrow keys in NVDA/JAWS to move between cells
    • Listen for header announcements with each data cell
  4. Verify you hear the appropriate column and row headers when moving to each cell

Use PAC (PDF Accessibility Checker)

  1. Open your PDF in PAC
  2. Run the PDF/UA check
  3. Navigate to the "Matterhorn Protocol" results
  4. Check Checkpoint 15 for any remaining table failures
  5. 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

Tutorials and Guides

Tools


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.

Scan Your PDFs for Accessibility Issues

Beacon automatically detects PDF accessibility violations and shows you exactly how to fix them.

Start Free Scan