Skip to main content
Checkpoint 16Medium Priority3 failure conditions

Checkpoint 16: Lists

Lists must be properly tagged with correct structure and numbering attributes to convey their organization to assistive technology.

Related WCAG:1.3.1

Checkpoint 16: Lists

Lists must be properly tagged with the correct structure elements and, for ordered lists, appropriate numbering attributes. This ensures assistive technology can convey list organization to users.

What This Means

Lists in PDFs must use specific tag structures:

  • L (List): The container for the entire list
  • LI (List Item): Each item in the list
  • Lbl (Label): The bullet, number, or marker
  • LBody (List Body): The content of the list item

For ordered (numbered) lists, PDF/UA requires a ListNumbering attribute that specifies the numbering style. Valid values include:

  • Decimal: 1, 2, 3, 4...
  • UpperRoman: I, II, III, IV...
  • LowerRoman: i, ii, iii, iv...
  • UpperAlpha: A, B, C, D...
  • LowerAlpha: a, b, c, d...

This attribute allows assistive technology to understand and announce the numbering scheme correctly, even if the visual numbers are represented differently in the PDF.

Why It Matters

Lists are fundamental organizational structures in documents. Proper list tagging provides:

  • Context: Screen readers announce "list with 5 items" so users know what to expect
  • Navigation: Users can skip entire lists or move between items
  • Numbering comprehension: Ordered list numbers are announced correctly
  • Nesting understanding: Sub-lists are properly related to parent items

Without proper list structure:

  • Screen readers treat list items as unrelated paragraphs
  • Users cannot determine how many items are in a list
  • Numbered sequences are not conveyed as ordered
  • Nested lists appear flat and confusing
  • Users cannot efficiently navigate through list content

Consider a 20-item bulleted list. With proper tagging, a screen reader announces "List with 20 items" and users can navigate item-by-item. Without tagging, users hear 20 separate paragraphs with no indication they are related.

Common Violations

The Matterhorn Protocol defines three failure conditions for lists. All require human testing because automated tools cannot determine what content should be a list or verify numbering attribute appropriateness.

16-001: Ordered List Missing ListNumbering Attribute (Human Testing)

What's Wrong: A list is tagged and appears visually numbered (1, 2, 3 or A, B, C), but the List tag does not include the ListNumbering attribute. Without this attribute, assistive technology may not correctly convey the numbering scheme.

How to Identify:

  • Find numbered lists in the document
  • Open the Tags panel and locate the L (List) tag
  • Check tag properties for ListNumbering attribute
  • If missing, this violation exists

How to Check in Acrobat:

  1. Open Tags panel
  2. Find the L tag for the numbered list
  3. Right-click > Properties
  4. Look for ListNumbering in the attribute list
  5. If not present or empty, the attribute is missing

16-002: Invalid ListNumbering Value (Human Testing)

What's Wrong: The ListNumbering attribute exists but contains a value that is not one of the five standard values: Decimal, UpperRoman, LowerRoman, UpperAlpha, or LowerAlpha.

How to Identify:

  • Check the ListNumbering attribute on L tags
  • Verify the value matches one of the allowed values
  • Look for misspellings, wrong case, or non-standard values

Invalid Examples:

  • "Numbers" (not a valid value)
  • "decimal" (wrong case; should be "Decimal")
  • "Roman" (ambiguous; should specify Upper or Lower)
  • "bullets" (bullets do not need ListNumbering)
  • "1" (should be "Decimal", not the number itself)

Valid Values:

ValueDisplays As
Decimal1, 2, 3, 4, 5...
UpperRomanI, II, III, IV, V...
LowerRomani, ii, iii, iv, v...
UpperAlphaA, B, C, D, E...
LowerAlphaa, b, c, d, e...

16-003: Content Is a List But Not Tagged as List (Human Testing)

What's Wrong: Content that visually and semantically functions as a list is not tagged with list structure (L, LI, Lbl, LBody). It may be tagged as paragraphs, or worse, as a single block of text.

How to Identify:

  • Look for content that appears as a list:
    • Items with bullets, numbers, or markers
    • Sequential items with consistent formatting
    • Step-by-step instructions
    • Feature or benefit lists
    • Tables of contents (sometimes)
  • Check if this content uses L/LI tags or just P tags
  • Compare visual appearance to tag structure

Common Scenarios:

  • Bulleted items tagged as separate P elements
  • Numbered steps tagged as paragraphs with manual numbers
  • Definition lists not using L/LI structure
  • Nested lists flattened to single-level paragraphs
  • Visual bullets created with images, not tagged as list markers

How to Fix in Adobe Acrobat

Creating List Structure from Untagged Content

  1. Go to Tools > Accessibility > Reading Order
  2. Draw a selection box around all list items
  3. Click the List button in the dialog
  4. Acrobat creates L > LI > LBody structure

Manually Building List Tags

  1. Open View > Show/Hide > Navigation Panes > Tags
  2. Create the list structure manually:
    • Right-click where list should appear > New Tag
    • Type: L (List)
    • Inside L, create LI (List Item) for each item
    • Inside each LI, create:
      • Lbl for the bullet/number
      • LBody for the content
  3. Drag content into the appropriate tags

Adding ListNumbering Attribute

  1. In the Tags panel, click on the L tag
  2. Right-click > Properties
  3. Click the Tag tab
  4. Click Edit Attribute Objects
  5. Click New Item to add an attribute
  6. Add attribute:
    • Key: ListNumbering
    • Value: One of: Decimal, UpperRoman, LowerRoman, UpperAlpha, LowerAlpha
  7. Click OK to close all dialogs

Using the Object Properties Panel

  1. Go to View > Show/Hide > Navigation Panes > Object
  2. Select the list tag
  3. View and edit attributes in the properties area
  4. Add or modify ListNumbering as needed

Converting Paragraphs to List Items

If list items are already tagged as P (paragraphs):

  1. In the Tags panel, select the first P tag that should be a list item
  2. Right-click > Properties
  3. Change Type from P to LI
  4. Create an L tag to contain the LI tags
  5. Create Lbl and LBody inside each LI
  6. Move content appropriately

Handling Nested Lists

For lists within lists:

  1. Create the outer L tag with its LI items
  2. Inside an LI's LBody (or after it), create another L tag
  3. This nested L contains its own LI items
  4. Each level can have its own ListNumbering if numbered

Structure example:

L (ListNumbering: Decimal)
├── LI
│   ├── Lbl "1."
│   └── LBody "First item"
│       └── L (ListNumbering: LowerAlpha)
│           ├── LI
│           │   ├── Lbl "a."
│           │   └── LBody "Sub-item"
│           └── LI
│               ├── Lbl "b."
│               └── LBody "Another sub-item"
└── LI
    ├── Lbl "2."
    └── LBody "Second item"

How to Fix in Microsoft Word

Creating proper lists in Word ensures correct tagging when exporting to PDF.

Using Built-in List Features

For bulleted lists:

  1. Select the items or position cursor
  2. Click Home > Bullets button
  3. Choose a bullet style
  4. Word creates a proper list structure

For numbered lists:

  1. Select the items or position cursor
  2. Click Home > Numbering button
  3. Choose a numbering style (1,2,3 or A,B,C or I,II,III)
  4. Word creates a numbered list with correct structure

Creating Multi-level Lists

  1. Click Home > Multilevel List button
  2. Choose a list style
  3. Use Tab to indent (increase level)
  4. Use Shift+Tab to outdent (decrease level)
  5. Different levels can have different numbering styles

Do NOT Fake Lists

Avoid these non-accessible approaches:

  • Typing bullets manually (asterisks, hyphens, em-dashes)
  • Typing numbers and periods manually
  • Using tabs to align items
  • Creating "lists" with paragraph breaks only

Wrong:

* First item
* Second item
* Third item

Right: Use the Bullets button to create a real list.

Customizing List Appearance

  1. Right-click on a list item
  2. Select Adjust List Indents or Bullets/Numbering
  3. Customize spacing, alignment, and markers
  4. Changes apply to list structure, not fake formatting

Verifying List Structure

  1. Click inside a list
  2. Look at the Home tab; Bullets or Numbering should be highlighted
  3. Open Navigation Pane > Headings (lists may not appear here but structure is preserved)
  4. Export to PDF and verify in Acrobat

Testing Your Fix

Automated Testing

Adobe Acrobat:

  1. Go to Tools > Accessibility > Accessibility Check
  2. Run with PDF/UA settings
  3. Look for list structure errors
  4. Note: Cannot detect missing ListNumbering attributes reliably

PAC (PDF Accessibility Checker):

  1. Open PDF in PAC
  2. Run PDF/UA validation
  3. Review list-related checkpoints
  4. Check both structure and attributes

Manual Structure Verification

  1. Open Tags panel
  2. Find all L tags
  3. For each list, verify:
    • L contains only LI children
    • Each LI contains Lbl and/or LBody
    • Nested lists are properly structured
  4. For numbered lists, check ListNumbering attribute:
    • Right-click L > Properties
    • Verify attribute exists and has valid value

Screen Reader Testing

  1. Open PDF with NVDA, JAWS, or VoiceOver
  2. Navigate to list content
  3. Verify announcements:
    • "List with X items" when entering list
    • Item numbers or bullets announced
    • "Nested list" for sub-lists
    • "Out of list" when leaving
  4. Test list navigation shortcuts
  5. Compare what you hear to visual appearance

Content Review

  1. Look through the entire document visually
  2. Identify all content that looks like a list:
    • Bulleted items
    • Numbered steps
    • Alphabetical sequences
    • Hierarchical content
  3. Check each against the tag structure
  4. Verify nothing is missed

Validation Checklist

  • All bulleted lists use L > LI > LBody structure
  • All numbered lists use L > LI > Lbl + LBody structure
  • Numbered lists have ListNumbering attribute
  • ListNumbering uses valid value (Decimal, UpperRoman, LowerRoman, UpperAlpha, LowerAlpha)
  • Nested lists have proper hierarchical structure
  • Visual list content matches tagged structure
  • Screen reader announces list information correctly
  • List navigation works properly

Common List Scenarios

Simple Bulleted List

L
├── LI
│   └── LBody "First bullet point"
├── LI
│   └── LBody "Second bullet point"
└── LI
    └── LBody "Third bullet point"

Numbered List with Labels

L (ListNumbering: Decimal)
├── LI
│   ├── Lbl "1."
│   └── LBody "Step one"
├── LI
│   ├── Lbl "2."
│   └── LBody "Step two"
└── LI
    ├── Lbl "3."
    └── LBody "Step three"

Definition List Pattern

While not strictly a definition list, you can use:

L
├── LI
│   ├── Lbl "Term 1:"
│   └── LBody "Definition of term 1"
├── LI
│   ├── Lbl "Term 2:"
│   └── LBody "Definition of term 2"

Table of Contents as List

A TOC can be tagged as a nested list:

L
├── LI
│   ├── Lbl "1."
│   └── LBody
│       ├── Reference "Introduction... 1"
│       └── L
│           ├── LI
│           │   └── LBody (Reference "Background... 3")

Additional Resources

Official Standards and Guidelines

Tutorials

Tools


This documentation is based on the Matterhorn Protocol 1.02, the definitive reference for PDF/UA validation. List violations require human testing because automated tools cannot determine what content should be a list or verify that ListNumbering values are appropriate. For the most current information, consult the PDF Association and W3C WCAG guidelines.

Scan Your PDFs for Accessibility Issues

Beacon automatically detects PDF accessibility violations and shows you exactly how to fix them.

Start Free Scan