Annotations must not hang off headings or the document root
PDF/UA check
ANNOT_INVALID_PARENT· Annotations · severity Medium · PDF/UA 8.9 Annotations · advanced check
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
Annotations under a heading or document root are announced out of context. The parent should be a content-bearing element like P, Span, or Annot.
What you will see
An annotation is nested directly under a heading or the document root rather than under content.
How to fix
Move the annotation's OBJR out of the heading or Document element and into a content-bearing element near the annotated text, such as the P or Span enclosing that content, or a dedicated Annot structure element placed as its child or sibling.
Step-by-step guide
- Read the parent_type and subtype recorded on each finding - the annotation's OBJR currently sits directly under a heading (H1-H6 or generic H), Document, or DocumentFragment element.
- Select the annotation on the page, then in the Accessibility tags panel (View > Show/Hide > Side panels > Accessibility tags) use Options > Find Tag from Selection to reveal the OBJR under the offending parent.
- Create an Annot element via Options > New Tag > Annotation, placed as a child or sibling of the structure element enclosing the annotated content - an Annot parent clears this check and MARKUP_ANNOT_PARENT_ANNOT at once, whereas moving the OBJR into a P or Span passes this check but leaves that one failing.
- Drag the OBJR into the target element and delete the now-empty wrapper if one is left behind.
- Keep the annotation as close as possible to the content it annotates - a child or sibling of the enclosing structure element, or a child of an Annot element (8.9.3.2).
Verify: Re-run the EQChecker scan in advanced mode; ANNOT_INVALID_PARENT should pass. Moving the OBJR into an Annot element also clears MARKUP_ANNOT_PARENT_ANNOT for the same annotation.
Note: Advanced-only check covering markup annotation subtypes. An annotation announced inside a heading or at the document root is read out of context; this typically happens when auto-taggers attach stray OBJRs to the nearest structural ancestor instead of the annotated content.
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.9 Annotations |
| EN 301 549 (non-web documents) | 10.1.3.1 |