EPUB Accessibility and WCAG 2.2: A Practical Compliance Guide
EPUB Accessibility 1.1 is built on WCAG 2.2 AA. Meeting it requires both structural EPUB requirements and specific WCAG success criteria. This guide maps the key requirements to concrete implementation steps.
EPUB Accessibility 1.1 vs WCAG 2.2
EPUB Accessibility 1.1 is an EPUB-specific accessibility standard that incorporates WCAG 2.2 by reference. An EPUB can conform to three levels:
- EPUB Accessibility 1.1 (WCAG AA) — minimum conformance; meets WCAG 2.2 Level AA
- EPUB Accessibility 1.1 (WCAG AAA) — meets WCAG 2.2 Level AAA
- EPUB Accessibility 1.1 Optimized — AA plus additional optimisations (page list, extended descriptions)
Key WCAG Success Criteria for EPUBs
| SC | Requirement | EPUB implementation |
|---|---|---|
| 1.1.1 | Non-text content has alt text | alt attribute on all img elements; empty alt for decorative |
| 1.3.1 | Info and relationships conveyed in structure | Semantic HTML: h1-h6, ul/ol, table with thead/th, figure |
| 1.3.2 | Meaningful sequence | Document order matches reading order; no CSS-only reordering |
| 1.4.3 | Contrast ratio 4.5:1 (text) | Minimum contrast in embedded CSS; test with Colour Contrast Analyser |
| 1.4.4 | Text resizable to 200% without loss | Use em/rem units; avoid px for font-size |
| 2.4.1 | Skip navigation blocks | TOC allows skipping to content; landmarks nav in nav.xhtml |
| 2.4.2 | Page titled | title element in each XHTML head |
| 2.4.6 | Headings and labels descriptive | Meaningful heading text, not just "Chapter 1" |
| 3.1.1 | Language of page | xml:lang on html element in each XHTML file |
| 4.1.1 | Parsing — valid markup | Pass EPUBCheck and W3C XHTML validator |
| 4.1.2 | Name, role, value for UI | ARIA roles where semantic HTML is insufficient |
Required EPUB-Specific Requirements
Beyond WCAG, EPUB Accessibility 1.1 adds these EPUB-specific requirements:
- Logical reading order — spine order must match the intended reading sequence
- Navigation — EPUB 3 NAV document required; TOC must cover all major sections
- Accessibility metadata —
schema:accessMode,schema:accessibilityFeature,schema:accessibilitySummary, anda11y:certifiedByin OPF
<!-- Required accessibility metadata in content.opf -->
<meta property="schema:accessMode">textual</meta>
<meta property="schema:accessMode">visual</meta>
<meta property="schema:accessModeSufficient">textual</meta>
<meta property="schema:accessibilityFeature">structuralNavigation</meta>
<meta property="schema:accessibilityFeature">alternativeText</meta>
<meta property="schema:accessibilityFeature">tableOfContents</meta>
<meta property="schema:accessibilityHazard">none</meta>
<meta property="schema:accessibilitySummary">
This publication includes structured navigation, alt text for all
informative images, and semantic heading structure.
</meta>
<meta property="a11y:certifiedBy">Your Organisation</meta>
<meta property="dcterms:conformsTo">
EPUB Accessibility 1.1 - WCAG 2.2 Level AA
</meta>
Testing Tools
- EPUBCheck — validates EPUB spec conformance (not accessibility):
java -jar epubcheck.jar book.epub - Ace by DAISY — WCAG accessibility checker for EPUBs:
ace book.epub -o ace-report/. Generates HTML report with violations, warnings, and best practice notices. - NVDA + Firefox — manual screen reader test on Windows (free)
- VoiceOver + Safari — manual test on macOS/iOS (built-in)
- Colour Contrast Analyser — check text/background contrast ratios against 4.5:1 threshold
Common Accessibility Failures in Converted EPUBs
- Images without alt text (especially charts and figures from PDF)
- Tables without
<th>header cells orscopeattributes - Language not declared on
<html>element - No page title in
<title>element - Heading hierarchy skipped (H1 → H3, missing H2)
- Links with non-descriptive text ("click here", "read more")
Accessible PDF-to-EPUB Conversion
toolkit.bot outputs EPUBs that target EPUB Accessibility 1.1 at WCAG 2.2 AA conformance. Alt text is generated for images, semantic heading structure is preserved from the PDF, language is detected and set, and accessibility metadata is included in the OPF. Run Ace by DAISY on the output to verify before distribution.
Convert PDF to accessible EPUB3 →