PDF Accessibility Checkers — Complete Guide
In this tutorial, you will learn about PDF Accessibility Checkers. We cover key concepts, practical examples, and best practices to help you master this topic.
PDF accessibility checkers are automated tools that scan the structure tree, metadata, and content of a PDF to identify violations of PDF/UA and WCAG standards — checking for missing tags, incorrect reading order, absent alt text, missing language declarations, and contrast failures.
What You'll Learn
You will learn the capabilities and limitations of the major PDF accessibility checkers, how to interpret their reports, how to prioritize issues by severity, and how to integrate checking into a quality assurance workflow.
Why It Matters
Automated checkers catch structural issues that are invisible to humans reading the document. A PDF that looks perfectly fine to a sighted reviewer may have severe accessibility problems. Checkers provide the objective, repeatable validation needed for Compliance.
Real-World Use
A document remediation team processes 100 PDFs per week. Before using PAC 2021, reviewers missed untagged tables in 15 percent of documents. After integrating PAC 2021 as a mandatory pre-check, the miss rate dropped to under 1 percent.
Checker Comparison
flowchart TD A[PDF Checkers] --> B[PAC 2021] A --> C[Acrobat Checker] A --> D[pa11y-pdf] A --> E[axe-pdf] B --> F["PDF/UA (Matterhorn)"] B --> G["30+ checks"] C --> H["Built into Acrobat"] C --> I["Good for quick scan"] D --> J["CI/CD friendly"] D --> K["Node.js, open source"] E --> L["WCAG-focused"] E --> M["Integrates with axe"]
PAC 2021 — PDF Accessibility Checker
The most comprehensive free PDF checker. It validates against the Matterhorn protocol (PDF/UA test suite).
# PAC 2021 command-line mode
PAC-2021-CLI -f report.pdf -o report.html
# Generates an HTML report with:
# - Pass/fail for each PDF/UA criterion
# - Detailed failure descriptions
# - Visual highlights on the PDF
Key checks:
- Document is tagged
- Structure tree has valid parent-child relationships
- All content is tagged (no untagged text)
- Language is set
- Figures have alt text
- Headings follow hierarchy
- Tables have correct structure
Acrobat Accessibility Checker
Built into Adobe Acrobat Pro. Access via Accessibility > Full Check.
// Acrobat JavaScript to configure and run the checker
var opts = {
// Categories to check
"AlternateText": true,
"DocumentLanguage": true,
"Headings": true,
"Links": true,
"ReadingOrder": true,
"Tables": true,
"TaggedContent": true,
"TextContrast": false // Acrobat does not check this well
};
var report = this.checkAccessibility(opts);
console.println(report.summary);
Limitations:
- Does not check color contrast reliably
- Does not validate reading order correctness (only presence)
- May pass documents that have tags but incorrect semantics
pa11y-pdf
Lightweight Node.js checker for CI/CD pipelines.
// pa11y-pdf with custom configuration
const pa11yPdf = require("pa11y-pdf");
const options = {
standard: "WCAG2AA",
checks: [
"tagged",
"language",
"title",
"headings",
"altText",
"tables"
]
};
pa11yPdf("document.pdf", options).then(results => {
if (results.issues.length > 0) {
console.error(`FAIL: ${results.issues.length} issues found`);
process.exit(1);
} else {
console.log("PASS: No accessibility issues found");
}
});
Interpreting Checker Reports
| Severity | Meaning | Action |
|---|---|---|
| Error | PDF/UA violation | Must fix |
| Warning | Possible issue | Investigate manually |
| Pass | Check passed | No action needed |
| Skipped | Check not applicable | Verify skipping is correct |
Common Mistakes
Trusting a single pass result — A pass from Acrobat does not mean the PDF is accessible. Use at least two checkers and manual review.
Ignoring "manual check" items — Checkers flag some items as requiring manual review. Do not skip these — they often hide real issues.
Not understanding what the checker validates — Acrobat checks that tags exist, not that they are correct. A document with all
<P>tags and no headings passes Acrobat but fails the user.Running the checker on every export but never fixing — Checking is only useful if you act on the results. Create a remediation pipeline.
Using only the free Acrobat Reader checker — Reader's Accessibility Checker is limited. Use PAC 2021 or Acrobat Pro for full validation.
Practice and Challenge
- What is the Matterhorn protocol and which checker uses it?
- Why does Acrobat's checker pass documents that are not truly accessible?
- How do you configure pa11y-pdf to fail a CI build when issues are found?
- What is the difference between an error and a warning in a checker report?
- Which checker is best for validating PDF/UA compliance?
Challenge: Take a PDF that passes Acrobat's Accessibility Checker but has known issues (use one you created earlier). Run it through PAC 2021. Compare the results. Identify at least three issues that PAC 2021 catches but Acrobat missed. Write a brief analysis of why each check differs.
FAQ
Mini Project
Create a test PDF with 10 intentional issues (missing tags, no language, flat headings, missing alt text, low contrast, wrong table structure, untagged content, no title, no form field tooltips, and incorrect reading order). Run three checkers on it: Acrobat, PAC 2021, and pa11y-pdf. Create a matrix showing which checker caught each issue. Identify which checker is most effective for each category.
What's Next
Finish the module with the PDF Accessibility Module Project, where you will remediate a real PDF from start to finish using all the skills you have learned.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro