Reading Order in PDFs — Complete Guide
In this tutorial, you will learn about Reading Order in PDFs. We cover key concepts, practical examples, and best practices to help you master this topic.
Reading order in PDF Accessibility refers to the sequence in which screen readers present content to users — determined by the order of elements in the structure tree, not their visual position on the page.
What You'll Learn
You will learn why reading order is separate from visual layout, how to inspect the reading order in Acrobat, how to fix common issues like multi-column jumbling and table fragmentation, and how to verify results with screen readers.
Why It Matters
Visual layout often differs from logical reading order. A sidebar on the left may visually appear first but contain secondary content that should be read after the main article. If the reading order matches visual placement, the user hears a jumbled, confusing narrative.
Real-World Use
A legal firm publishes contracts as PDFs with a narrow sidebar containing definitions and a wide main body containing the terms. The auto-tagged reading order places the sidebar first. Screen reader users hear definitions before the contract start, making the document confusing. Using the Reading Order tool, the firm moves the main body before the sidebar.
Reading Order Flow
flowchart TD A["Page Content (Visual)"] --> B["Left Column (Nav/Ads)"] A --> C["Right Column (Main)"] B --> D["Auto-tag: Left < Right"] D --> E["User hears nav before content"] C --> F["Correct: Main before sidebar"] F --> G["Drag to reorder in Tags panel"]
How Reading Order Works
PDF stores two orders: the visual order (based on the internal content stream, typically the order elements were added) and the structure tree order (the tag tree). Screen readers use the structure tree order.
If the PDF was created from a desktop publishing tool like InDesign, the visual and structural orders may differ significantly because DTP tools place elements freely on a canvas.
# Simple reading order checker using pdfminer
from pdfminer.high_level import extract_pages
from pdfminer.layout import LTTextBox
def check_reading_order(pdf_path):
elements = []
for page_num, page_layout in enumerate(extract_pages(pdf_path)):
for element in page_layout:
if isinstance(element, LTTextBox):
elements.append({
"text": element.get_text().strip()[:50],
"x": element.x0,
"y": element.y0,
"order": element.index if hasattr(element, 'index') else 0
})
for e in elements:
print(f"x={e['x']:.0f} y={e['y']:.0f} order={e['order']} text={e['text']}")
return elements
pages = check_reading_order("document.pdf")
# Output shows each text box's position and extraction order
Fixing Reading Order in Acrobat Pro
- Open the Tags panel.
- Drag tags up or down to reorder.
- Use the Reading Order tool (Accessibility > Reading Order) to see a numbered overlay on the page.
- To move a block, click its number and reassign it to a different tag position.
- Use "Clear Page Structure" and re-tag if the tree is severely broken.
Common Mistakes
Confusing visual order with logical order — Just because a table appears visually at the top of page 2 does not mean it should be read before the paragraph that ends on page 1.
Auto-tagging without review — Auto-tag orders content by position, not meaning. Always review the reading order after auto-tagging.
Split tables — A table that spans pages may have its rows split across the tag tree. The rows on page 2 may appear before rows on page 1.
Text reflow issues — When the reading order is wrong, text reflow (zooming in on mobile) also produces incorrect sequence.
Ignoring reflow on zoom — Correct reading order also enables proper text reflow when the user zooms. Test by zooming to 200 percent in Acrobat.
Practice and Challenge
- What determines the reading order in a tagged PDF?
- How is the structure tree order different from the visual order?
- When using Acrobat's Reading Order tool, what does the number overlay indicate?
- Why do multi-column layouts often produce incorrect reading order?
- How can you verify reading order with a screen reader?
Challenge: Find a multi-column newsletter PDF (2 or 3 columns). Inspect its reading order in Acrobat. Identify at least three elements that are out of order. Reorder them correctly and verify using NVDA.
FAQ
Mini Project
Take a 2-page brochure-style PDF with images, headings, and a sidebar. Inspect the current reading order. Reorder elements so that the main content reads before sidebars and related items are grouped together. Create a screenshot showing the before and after numbered overlays.
What's Next
Continue to Headings Structure in PDFs to ensure your headings follow a logical hierarchy, then proceed to Alt Text for Images in PDFs to learn about image descriptions.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro