Matterhorn 28-008 · PDF/UA-1 UA1:7.18.3-1

Page with annotations has no Tabs entry

Blocker Checkpoint 28: Annotations WCAG 2.4.3 (A)

Any page carrying annotations must declare a tab order. PDF/UA-1 requires /Tabs /S — tab order follows the structure tree.

The condition, as the protocol states it. “A page containing an annotation does not contain a Tabs entry.”

Matterhorn Protocol 1.1, checkpoint 28, index 28-008, section UA1:7.18.3-1. Software can decide this one on its own.

What a screen reader actually does

Keyboard focus moves between links and fields in the order they happen to appear in the annotation array, which is usually creation order, not reading order.

What is in the file

One entry on the page dictionary:

3 0 obj
<< /Type /Page
   /Parent 2 0 R
   /MediaBox [ 0 0 595 842 ]
   /Annots [ 17 0 R 18 0 R 19 0 R ]
   /Tabs /S                          % focus follows the structure tree
   /Contents 4 0 R
>>
endobj

Condition 28-008 is /Tabs being absent on a page that has annotations. 28-009 is /Tabs present with a value other than /S.

Without it, the viewer falls back to the order of the /Annots array. That array is whatever order the producer wrote it in — typically the order fields were created, which on a form built by hand in Acrobat is the order somebody happened to click.

What the user experiences

Press Tab on a two-column form and focus jumps: first name, then a field at the bottom of the second column, then back up, then a link in the footer. There is no way to predict where focus goes next, and no way to know whether a field was skipped.

For anyone who cannot use a mouse — which includes screen reader users, people with motor impairments, and anybody on a keyboard-only setup — that turns a form into a puzzle.

The same applies to a page of links. Tabbing through an article should follow the article.

How to fix it free, in Acrobat Pro

The fastest route is in the form tooling, and it fixes every page at once:

  1. Tools → Prepare Form.
  2. In the Fields pane on the left, open the Options menu (the three dots or the sort control).
  3. Choose Order Tabs by Structure.

That writes /Tabs /S on every page carrying annotations. It is one command and it is the whole fix.

Per page, if you prefer: Tools → Prepare Form, then in the Page Thumbnails panel right-click a page → Page PropertiesTab Order tab → select Use Document Structure.

Upstream: InDesign’s export dialog has Use Structure for Tab Order under General. Tick it and the exported PDF has /Tabs /S on every page. Word sets it automatically when exporting with document structure tags.

The thing to check afterwards

/Tabs /S says “follow the structure tree”. If the structure tree is in the wrong order, focus now follows a wrong order reliably instead of a wrong order randomly — which is an improvement, but not the finish line.

So this fix belongs with two others: get the annotations into the structure tree at all (28-010 for widgets, 28-011 for links), and confirm the reading order is right (09-001).

Where Taggart differs

Taggart reports it once per page rather than once per annotation, with the count:

Page 4 contains annotations but has no /Tabs entry, so keyboard tab order is undefined.

The fix is purely mechanical — one name written to one key — so it ships in “Fix All Safe” and is applied to every page carrying annotations in a single pass. It handles 28-009 at the same time, overwriting /R or /C with /S.

Because nothing in the content stream changes, the page renders identically; the appearance gate measures 1.000000 on this fix.

How Taggart handles it

Taggart detects this condition automatically. It is reported as a blocker, with the page, the structure path and the object id of every occurrence.

The fix is Set tab order to structure order. It is mechanical, so “Fix All Safe” applies it in bulk with a diff and a single undo.

Whatever Taggart changes, the page still looks identical. Fixes edit the PDF object model, not the content streams, and every remediation is re-rendered and compared against the original at structural similarity ≥ 0.999 before you get the file back. A tool that quietly reflows your document is worse than no tool.

Frequently asked questions

What does /Tabs /S actually mean?

S means structure. It tells the viewer to move keyboard focus between annotations in the order they appear in the structure tree, rather than in the order they happen to sit in the page's annotation array. That array is usually creation order — the order somebody dropped fields onto the page.

Are the other values ever right?

/R is row order and /C is column order, and PDF/UA-1 accepts neither. They are geometric guesses, and in a right-to-left document they are actively wrong. Only /S is conformant.

Does this apply to pages with only links?

Yes. The condition is about any page containing annotations, and a link is an annotation. A page of body text with six links needs /Tabs /S just as much as a form does.

Is this really worth a blocker?

It is one entry per page and it decides whether a keyboard user can move through your form in a sensible order. Cost to fix: seconds. Cost of not fixing: the form is unusable without a mouse.

Where this sits in the standards

Standards this condition maps to
StandardReference
Matterhorn Protocol 1.1 Checkpoint 28 (Annotations), index 28-008
PDF/UA-1 (ISO 14289-1) Clause 7.18.3-1
WCAG 2.1 2.4.3 Focus Order — Level A
EN 301 549 / Section 508 / ADA Title II All three point at WCAG 2.1 Level AA for non-web documents, so a Level A or AA criterion here is in scope for each of them.

Other conditions in checkpoint 28

Checkpoint 28 covers annotations. These are its other failure conditions; the ones without a link are in the rule set but do not have a written page yet.

Check your own file. Taggart’s validator is free and unlimited — every machine-checkable Matterhorn condition, no page cap, no watermark, no account needed.

Check a PDF free

Verified against a real document on . Last updated .