Data cells need to be linked to their headers
PDF/UA check
TABLE_DATA_ASSOCIATION· Tables · severity Critical · PDF/UA 8.2.5.26 Table
Why it matters
Data cells must be linked to their headers when Scope alone is insufficient. When navigating a table, screen readers announce the relevant headers for each cell so users know what the data means.
What you will see
Data cells carry no Headers association, and scope alone is not enough to work out which headers apply.
How to fix
Either set Scope attributes on the table's TH cells, or add a Headers attribute to each data cell listing the ID entries of the TH cells that describe it (each TH needs an ID). If Headers is used anywhere in the table, apply it to every cell that has headers.
Step-by-step guide
- Understand the two pass paths: EQChecker passes a data cell if ANY TH in the table carries a Scope attribute, or if the cell itself carries a non-empty Headers attribute. Fixing Scope on the headers is almost always the faster and better path.
- Preferred path: open All tools > Prepare for accessibility > Fix reading order (the Reading Order tool), right-click the table, choose Table Editor, then right-click each header cell > Table Cell Properties and set Scope (Column, Row, or Both). This resolves the association for every data cell at once.
- If Scope cannot describe the relationships (e.g. multiple stacked header rows where a cell answers to several headers, or irregular header layouts), use the ID/Headers path instead.
- In Table Cell Properties for each TH, assign a unique value in the ID field.
- In Table Cell Properties for each data cell, use the Associated Header Cell IDs list (the + button) to add the ID of every header cell that applies to that cell.
- Apply Headers consistently: per PDF/UA-2 8.2.5.26 NOTE 4, once the Headers attribute is used anywhere in the table it is required on all cells in the table that have headers, so do not leave partially attributed rows.
- Keep any existing Scope attributes even when adding Headers; NOTE 7 states that the use of Headers does not negate the need for Scope.
Verify: Re-run the EQChecker scan and confirm TABLE_DATA_ASSOCIATION passes. Screen reader spot checks using table navigation should announce the correct headers for sampled cells.
Note: The Headers attribute is an array of the IDs of the associated TH elements, stored with owner /Table. TH cells can also carry Headers when they are themselves described by higher-level headers. Tables with no header cells at all are out of scope for this rule (see TABLE_HEADERS_EXIST).
Fixing it in your authoring tool
| Tool | Steps |
|---|---|
| Adobe Acrobat Pro | Reading Order tool → Table Editor → right-click a data cell → Table Cell Properties → Associated Header Cell IDs. |
WCAG success criteria
1.3.1 Info and Relationships — Level A
Structure and relationships conveyed visually (headings, lists, tables, labels, groups) must also be available programmatically.
Standards
This check contributes to the following standards:
PDF/UA WCAG A EN 301 549
| Standard | Criteria |
|---|---|
| PDF/UA-2 (ISO 14289-2:2024) | 8.2.5.26 Table |
| EN 301 549 (non-web documents) | 10.1.3.1 |