Accessibility Wiki

Internal links should target structure, not page numbers

PDF/UA check INTRA_DOC_STRUCTURE_DEST · Document level · severity Medium · PDF/UA 8.8 Navigation · advanced check

↩ Back to the rules index · WCAG cross-reference

Advanced check. This is a file-internals rule. It is hidden from the standard report view and generally indicates a problem with the tool that produced the PDF rather than something an author did.

Why it matters

Page-based destinations break when content reflows or pages renumber. Structure destinations target the actual content element, surviving layout changes.

What you will see

Links within the document point at page coordinates instead of at the content element they refer to.

How to fix

Convert page-based destinations in bookmarks and internal links to structure destinations, so the destination array's first element is a structure element rather than a page. Alternatively, keep the page-based /D or /Dest and add an /SD structure destination entry to the same GoTo action or outline item.

Step-by-step guide

  1. Collect the offenders from the EQChecker report details - the check walks bookmarks (both /A GoTo actions and direct /Dest entries), named destinations, and link annotations, labeling each offender (e.g. outline:SectionTitle, link:page3).
  2. Know the two accepted forms: (a) make the destination itself a structure destination, where the destination array's first element is a structure element rather than a page (ISO 32000-2 12.3.2.3); or (b) keep the page-based /D or /Dest and add an /SD entry containing the structure destination to the same GoTo action or outline item - the backward-compatible form older viewers still understand.
  3. For each flagged destination, identify the target structure element: the element in the tag tree enclosing the content being pointed at (for example the H2 element of the target section).
  4. Acrobat Pro cannot author structure destinations or /SD entries - the bookmarks and links it creates are page-based, and no stock Preflight fixup converts them. A document failing this rule was generated without structure destinations by its producing application, and the only reliable fix is regenerating it from its source with an export pipeline that writes structure destinations.
  5. Where realistic, re-export from a producer that writes structure destinations for internal links and bookmarks; few producers do so today, so confirm your export pipeline's PDF/UA-2 support before relying on this path.
  6. For actionable cross-references in content (table-of-contents entries, footnote references, in-text links), 8.8 permits the Ref entry on the source structure element as a second mechanism alongside link annotations - but EQChecker still requires the destination itself to be a structure destination or carry /SD, so treat Ref as supplemental, not a substitute.

Verify: Re-run the EQChecker scan; INTRA_DOC_STRUCTURE_DEST passes when every intra-document destination is a structure destination or its action/outline item carries an /SD fallback.

Note: PDF/UA-2 only: 8.8 requires all destinations whose target lies within the same document to be structure destinations. PDF/UA-1 (PDF 1.7) had no structure destination concept, so UA-1-targeted files are exempt. Destinations pointing outside the document (remote GoTo, URI actions) are out of scope for this rule.

WCAG success criteria

No WCAG success criterion maps cleanly to this check — it is a PDF/UA structural requirement. The PDF/UA clause above is the normative reference.

Standards

This check contributes to the following standards:

PDF/UA

Standard Criteria
PDF/UA-2 (ISO 14289-2:2024) 8.8 Navigation