Creating accessible PDFs sounds simple, but WCAG, PDF/A-1a, and PDF/UA are ruthless about structure, semantics, and metadata.
A single mistake in tag order, table structure, or missing metadata — and the PDF is no longer accessible or archival-grade.
In complex publication chains, with documents from many sources, manual fixes simply don’t scale.
At Elk Solutions we automate the entire process. Our pipeline starts with XML as the uniform source — no matter where that XML comes from: databases, STOP/TPOD, legal systems, CMS, custom files, or specialized schemas.
The Problem: The Illusion of “Complete” PDF Export

Many organizations rely on manual or semi-automatic PDF export. Even with decent tools, structural issues persist:
- Incomplete or incorrect tag structure
- Headings and paragraphs not recognized
- Lists that look right visually but are semantically wrong
- Tables missing
thinfo or with broken cell spans - No readable navigation for screen readers
- Incorrect or missing XMP metadata
Accessibility becomes a “nice to have”, while WCAG and archiving standards make it mandatory.
Reality:
- Manual validation fails.
- Post-fix is expensive and error-prone.
- Consistency is impossible when sources vary.
The Solution: XML as Source + XSL-FO as Layout

Where traditional pipelines “cut and paste” PDFs, we take a different route.
We use XML as the foundation — structured, predictable, semantically rich.
Then we render XML to XSL-FO, which gives us pixel-perfect and semantically correct output.
XSL-FO gives full control over:
- Document structure (headings, paragraphs, sections)
- Lists (bullets, nesting, numbering)
- Tables (headers, body, cell relations)
- Alt text and descriptions
- Metadata for PDF/A-1a and PDF/UA
- Reading order and logical structure
Because XML is the source, it doesn’t matter how it was created.
Everything becomes uniform, repeatable, and 100% controllable.
The Engine: Smart Structure Recognition & Validation
Our transformation engine does more than “convert”.
It understands structure and fixes what’s missing.
Examples:
- Normalizing heading levels
- Checking and rebuilding list structures
- Enriching or repairing table structures
- Injecting missing semantics
- Assigning roles, alt text, and relationships
- Deriving logical reading order
These steps are built around international standards:
- PDF/UA (ISO 14289) — https://pdfa.org/resource/iso-14289-pdfua/
- PDF/A-1a: full tagging and XMP integrity
- WCAG 2.2: accessibility for non-HTML docs
- Matterhorn Protocol: 136 checkpoints for PDF/UA validation
By baking this knowledge into the engine, accessibility is not a bolt-on step but integral to the publication flow.
The Result: Automatic, Valid PDFs
1. Perfectly Tagged PDF/A-1a + PDF/UA
Each PDF is delivered with:
- full semantic tags
- correct heading and list structures
- table recognition with headers and scopes
- correct reading order
- language and document metadata
- embedded, accessible fonts
2. Scalable, Fast, Repeatable
Applies to:
- legal documents
- policy papers
- inspection reports
- dynamic data sheets
- STOP/TPOD publications
— always identical output. No dependency on individual users or Office setups.
3. Automatic Validation Chain
We validate by default with:
- veraPDF — official open validator for PDF/A
https://verapdf.org - PAC (PDF Accessibility Checker) — strictest PDF/UA validator
https://pac.pdf-accessibility.org/en - Matterhorn Protocol — full PDF/UA checklist
This is not optional: every PDF passes this chain before it leaves the pipeline.
Conclusion: Why This Works
Starting from XML and using XSL-FO for consistent layout yields a publication chain that:
- Guarantees accessibility, not “approaches” it
- Meets standards without post-processing
- Is fully repeatable, independent of tools or people
- Scales from one document to hundreds of thousands
- Stays future-proof, because XML and FO are open standards
Accessible PDFs don’t have to be a last-minute fire drill.
They can be guaranteed output of a smart, structural pipeline.
Don’t start at the PDF.
Start at the structure — and everything else follows.