Skip to content

Messages you may see

  • Acrobat Accessibility Checker: List items - Failed (LI must be a child of L)
  • Acrobat Accessibility Checker: Lbl and LBody - Failed (Lbl and LBody must be children of LI)
  • PDF/UA-1 (ISO 14289-1) rule 7.2-17: LI element should be contained in L element
  • PDF/UA-1 (ISO 14289-1) rule 7.2-18: LBody element should be contained in LI element
  • PDF/UA-1 (ISO 14289-1) rule 7.2-19: L element may contain only L, LI and Caption elements
  • PDF/UA-1 (ISO 14289-1) rule 7.2-20: LI element may contain only Lbl and LBody elements
  • PDF/UA-1 (ISO 14289-1) rule 7.2-40: L element may contain a Caption element only as its first kid
  • PDF/UA-2 (ISO 14289-2) rule 8.2.5.25-1: If Lbl structure elements are present, the ListNumbering attribute shall be present on the respective L structure element; in such cases the value None shall not be used
  • PDF/UA-2 (ISO 14289-2) rule 8.2.5.25-2: Any real content within an LI structure element that is not enclosed in an Lbl structure element shall be enclosed in an LBody structure element
  • Matterhorn Protocol 1.1, 09-005: A list-related structure element is used in a way that does not conform to Table 336 in ISO 32000-1.

What the rule requires

For PDF/UA-1 (ISO 14289-1), automated checkers test the list structure defined in ISO 32000-1:

  • Rule 7.2-17: every LI is inside an L.
  • Rule 7.2-18: every LBody is inside an LI.
  • Rule 7.2-19: an L contains only L, LI and Caption.
  • Rule 7.2-20: an LI contains only Lbl and LBody. Text placed directly in LI, or a P next to the label, fails this rule.
  • Rule 7.2-40: a Caption in a list may only be the first child.

PDF/UA-2 (ISO 14289-2) adds rule 8.2.5.25: if a list has Lbl elements, its L needs a ListNumbering attribute other than None (rule 8.2.5.25-1), and all content of an LI that is not the label must be inside LBody (8.2.5.25-2). In PDF/UA-1, ListNumbering for ordered lists is a human check (Matterhorn 16-001 and 16-002).

The Matterhorn Protocol 1.1 lists the structure rules as failure condition 09-005 (checkpoint 09, Appropriate tags); our report shows these findings under checkpoint 09 as well. Condition 16-003, “Content is a list but is not tagged as a list”, can only be found by a person: a list typed with hyphens and tagged as paragraphs passes every machine check.

Why it matters

When a screen reader reaches a correctly tagged list, it announces “list, 5 items”, reads the number or bullet of each item and announces nested levels. Users can skip the whole list or jump from item to item. With broken list tags, these announcements are missing or wrong: items are read as loose paragraphs, numbering is lost, and a nested list may appear to be part of the item above.

In step-by-step instructions, application requirements or legal enumerations, the count and order of items carry meaning. WCAG success criterion 1.3.1 (Info and Relationships) applies; the W3C technique PDF21 shows list tags in PDF.

Common causes

  • Bullets or numbers were typed by hand (hyphen, asterisk, “1.”) instead of using the list function. Adobe's InDesign help states that manually created lists are not recognised as list items.
  • In Word, a list is interrupted by a normal paragraph, which splits it into separate lists. Microsoft's guidance warns that screen readers may then announce the wrong number of items.
  • Automatic tagging in Acrobat created LI elements with P children instead of LBody, or tagged the bullet and the text as separate paragraphs.
  • A manual correction in the Tags panel moved an LI out of its L, or placed a heading or paragraph directly inside L.

Example

L
  P     "• Application form"      <- P directly in L
  LI
    Lbl   "•"
    P     "Proof of identity"     <- not inside LBody
Failing: P directly in L, text in LI not inside LBody
L                     ListNumbering=Disc
  LI
    Lbl     "•"
    LBody   "Application form"
  LI
    Lbl     "•"
    LBody
      P     "Proof of identity, one of:"
      L                 ListNumbering=Decimal
        LI
          Lbl     "1."
          LBody   "Passport"
        LI
          Lbl     "2."
          LBody   "Identity card"
Fixed: every item with Lbl and LBody, nested list inside LBody
60 0 obj
<< /Type /StructElem /S /L /P 33 0 R
   /A << /O /List /ListNumbering /Decimal >>
   /K [61 0 R 64 0 R] >>
endobj
ListNumbering as a list attribute on the L element

How to fix it

Microsoft Word

  1. Create lists with Home > Bullets or Home > Numbering, or a multilevel list. Do not type hyphens or numbers by hand.
  2. For sub-items, change the list level (for example with Increase Indent or Tab at the start of an item) rather than adding spaces.
  3. Do not put ordinary paragraphs between items of one list. If an item needs a second paragraph, use a line break within the item.
  4. Save as PDF with Document structure tags for accessibility checked.

Adobe InDesign

  1. Format lists with Bullets and Numbering, preferably in the paragraph style (Paragraph Style Options > Bullets and Numbering) so that every list uses the same setting.
  2. Replace hand-typed bullets and numbers with this function; InDesign does not recognise them as list items.
  3. Export with Create Tagged PDF. InDesign tags bulleted and numbered lists as lists, depending on the export options.

Adobe Acrobat Pro

The Reading Order tool has no button for lists, so list structure is corrected in the Accessibility tags panel:

  1. In the Accessibility Checker panel, right-click the failed List items or Lbl and LBody rule and choose Show in Tags Panel.
  2. Rebuild the structure: create missing elements with New Tag from the options menu (types L, LI, Lbl, LBody), change wrong types in Properties, and drag existing elements into place.
  3. Make sure that L contains only LI (and nested L or one leading Caption), and that every LI contains only Lbl and LBody.
  4. Run the check again.

Check your PDF

Upload the fixed file to see which machine-checkable criteria it meets now. The report lists the remaining problems with their pages.

Open the checker

Questions

Does every list item need an Lbl?
No. PDF/UA-1 allows LI elements with only an LBody, for example when there is no visible bullet. If there is a visible bullet or number, tag it as Lbl.
Where does a nested list go?
ISO 32000-1 allows a nested L directly inside an L or inside the LBody of the parent item. Placing it in the LBody keeps the relationship to the parent item clear.

Sources

  1. ISO 14289-1:2014 Document management applications – Electronic document file format enhancement for accessibility – Part 1: Use of ISO 32000-1 (PDF/UA-1) – International Organization for Standardization (ISO). Checked on 7 November 2026.
  2. ISO 14289-2:2024 Document management applications – Electronic document file format enhancement for accessibility – Part 2: Use of ISO 32000-2 (PDF/UA-2) – International Organization for Standardization (ISO). Checked on 7 November 2026.
  3. The Matterhorn Protocol 1.1 – PDF Association. Checked on 7 November 2026.
  4. Matterhorn Protocol checks (list of checkpoints and failure conditions) – PDF Association (Tagged PDF School). Checked on 7 November 2026.
  5. PDF21: Using List tags for lists in PDF documents – W3C Web Accessibility Initiative (WCAG 2.2 Techniques). Checked on 7 November 2026.
  6. Create and verify PDF accessibility, Acrobat Pro – Adobe (Acrobat User Guide), 23 July 2025. Checked on 7 November 2026.
  7. Edit document structure with the Content and Tags panels (Adobe Acrobat Pro) – Adobe (Acrobat User Guide), 3 May 2025. Checked on 7 November 2026.
  8. Reading Order tool for PDFs (Adobe Acrobat Pro) – Adobe (Acrobat User Guide), 9 May 2025. Checked on 7 November 2026.
  9. Make your Word documents accessible to people with disabilities – Microsoft Support. Checked on 8 November 2026.
  10. Creating accessible PDFs – Adobe (InDesign User Guide), 24 May 2023. Checked on 7 November 2026.