AccessibilityPDF — Martin Schrammel AB

Examples

Example: make 105 meaningful in a PDF table

A number alone says little. Here we connect a value to its month, measure and column.

Applies to
Our example with invented monthly figures
Sources checked
Language

The starting table

MonthCasesHours
January1284
February15105
March18126
This table scrolls horizontally.

The problem is context

If assistive technology presents only 105, readers need to remember their position. Does the number mean cases, currency or hours? Here it means Hours in February. Both contexts matter.

The visible values match our technical before-and-after example. The model below goes further by demonstrating both row and column headers; it is not a transcription of that demonstration file’s exact tag tree.

Why both February and hours are needed

The number 105 has no self-evident meaning without a unit and period. Sighted readers follow the February row and Hours column. The logical structure needs to make those relationships available when navigating cells.

The row header identifies the observation; the column header identifies the kind of value. For 15 in the same row, the period remains February but the quantity is cases. For 126 in the next row, the quantity remains hours but the period becomes March.

This is why every cell should not be a header. The value 105 is data, not a label for other cells. Bold formatting alone is insufficient: software needs structural relationships rather than inferences from typography.

A structure with two header relationships

In a simple regular table, Scope can express a header’s direction. More complex associations may need explicit header identifiers and references from data cells. The model illustrates that latter idea to make relationships visible; it is not literal PDF syntax.

Choose an approach appropriate to the table and target standard. Relationships must be correct and interpretable in the intended environment. If a tool offers a table editor, inspect the attributes it actually saves, particularly after merging or other processing.

Simplified model; not executable PDF attributes
Column header: Hours [TH, id=hours]
Row header: February [TH, id=february]
Data cell: 105 [TD]
  Associated with: hours and february

Sources: [1], [2]

What if one value is missing?

Suppose February’s case count is unavailable but its hours remain 105. The empty cases cell must not disappear and shift 105 into the wrong logical column. Preserve the table grid.

The owner must also establish what the missing entry means. “Data unavailable” may need an explanation; it should not automatically become 0, which is an actual value. Structure and meaning need attention together.

Test the changed row and the following row. If March’s values shifted too, the repair affected more than the initial cell. Neighbouring-cell tests are part of validating the repair.

What the test should establish

Readers should be able to identify 105 as hours in February when navigating to the cell. We do not prescribe the exact wording or announcement sequence of a particular voice. Record the result in the actual test environment.

Also try 15 in the same row and 126 in the next. This can expose a header accidentally assigned to every value or a relationship that works for only one cell.

When simpler design helps

This table does not need merged cells. Keep it simple. Put units in the headers and explain abbreviations nearby. Accessible structure is easier to verify when the visible table is clear too.

Sources

  1. PDF6: Table markupW3C
  2. Tagged PDF Best Practice Guide: SyntaxPDF Association

Examples are our own unless stated otherwise. These guides distinguish legal requirements, standards and practical advice. Passing an automated check is not a complete assessment of document accessibility.

All guides

Need help with your PDFs?

The service is in development. Sign up for an email when we open. You can read the full knowledge library in the meantime.

Get a launch notice