Skip to content
Accessibility

EPUB accessibility checklist: WCAG 2.1 AA and EPUB Accessibility 1.1

Eight things reviewers and validators check most, how Ace by DAISY tests them, and where a human still has to decide.

6 min read

Trusted by publishers worldwide
1,000+ organizations
50+ countries
Powered by the publica.la platform
Built on the standards: epubcheck DAISY Ace ONIX 3.0 BISAC / Thema EDItEUR List 196 EAA

An accessible EPUB can be read by everyone — including people who use screen readers, refreshable braille, magnification, or keyboard-only navigation. Two standards set the bar: WCAG 2.1 AA for the content inside each chapter, and EPUB Accessibility 1.1 for how the package as a whole exposes that content. Since the European Accessibility Act took effect in June 2025, meeting both is also a legal requirement for ebooks sold in the EU.

This checklist walks through the eight things reviewers look at most. Work through it before you publish, and run Ace by DAISY to catch the machine-checkable issues automatically. Origami runs Ace on every file and repairs the mechanical problems with AI — the judgement calls, like whether an image needs a description, stay with you.

What the standards actually require

WCAG 2.1 AA was written for the web, but an EPUB is web content in a box: every chapter is an XHTML document, so the same criteria apply — text alternatives, contrast, structure, and predictable navigation. EPUB Accessibility 1.1 adds the packaging layer: a valid navigation document, a declared reading order, and machine-readable metadata in the OPF.

You claim conformance with the dc:conformsTo property. A claim you cannot back up is worse than none, so the metadata you publish must match what is actually inside the file.

How it gets checked

Roughly two thirds of the criteria are machine-checkable: missing alt attributes, empty headings, undeclared languages, tables without header cells, and absent metadata all surface in an automated report. Ace by DAISY, the open-source checker from the DAISY Consortium, is the tool most retailers trust for this pass.

The rest needs a person: only a human can judge whether alt text conveys what the image shows, whether the reading order makes sense, or whether contrast holds up for text over a photo. Treat the automated report as the floor, not the finish line.

The checklist

  1. 1

    Give informative images meaningful alt text

    Every image that carries meaning needs an alt attribute that conveys the same information, not the file name. Mark purely decorative images as such with an empty alt attribute (alt="") or role="presentation" so assistive technology skips them. Complex figures and charts also need a longer description nearby.

  2. 2

    Use headings and landmarks in order

    Structure each document with a logical heading hierarchy — one h1, then h2, then h3, without skipping levels — so readers can navigate by heading. Add epub:type and ARIA landmarks to identify chapters, the table of contents, footnotes, and page breaks.

  3. 3

    Declare a logical reading order and navigation

    Every EPUB needs a navigation document (nav) with a working table of contents that reflects the real structure of the book. Make sure the spine lists content in the intended reading order and that nothing meaningful is marked linear="no".

  4. 4

    Declare the language of the content

    Set the primary language on the package and on each XHTML document with xml:lang and lang so screen readers use the right pronunciation. Mark inline passages in another language with their own lang attribute.

  5. 5

    Build data tables with real headers

    Use th cells with a scope attribute (col or row) so assistive technology can associate each cell with its headers. Never use tables purely for visual layout — that is what CSS is for — and reserve tables for tabular data.

  6. 6

    Check contrast and never rely on color alone

    Body text needs a contrast ratio of at least 4.5:1 against its background (3:1 for large text). Make sure information carried by color — links, warnings, required fields — is also signalled another way, such as text or an icon.

  7. 7

    Publish accessibility metadata

    Add schema.org accessibility metadata to the OPF: accessMode, accessModeSufficient, accessibilityFeature, accessibilityHazard, and a plain-language accessibilitySummary. Retailers surface these fields to readers, so they are how an accessible book gets discovered.

  8. 8

    Handle math, media, and motion

    Encode formulas as MathML rather than images so they can be read and reflowed. Give audio and video captions or transcripts, and avoid anything that flashes more than three times per second, which can trigger seizures.

Frequently asked questions

Is Ace by DAISY enough to pass?
Ace is the best automated pass available and catches most technical failures, but it cannot judge meaning. It cannot tell you whether your alt text is accurate or your reading order is sensible. Use it as the machine-checkable baseline, then review the human-judgement items yourself. Origami runs Ace on every upload and flags exactly which findings a person still needs to confirm.
What is the difference between WCAG 2.1 AA and EPUB Accessibility 1.1?
WCAG 2.1 AA governs the content inside each chapter — alt text, contrast, structure, keyboard access. EPUB Accessibility 1.1 wraps that in packaging rules: a valid navigation document, a declared reading order, and discovery metadata. A conformant EPUB has to satisfy both.
Do I really need accessibility metadata if the content is already accessible?
Yes. Without accessibility metadata a reader cannot tell whether your book meets their needs before they buy it, and many retailers now require these fields. It is a distinct requirement from the content itself, and one of the most common things missing from otherwise good files.
Does the European Accessibility Act change any of this?
It raises the stakes, not the bar. Since June 2025 ebooks sold in the EU must be accessible, so the same WCAG and EPUB Accessibility criteria are now a legal obligation for most commercial titles. The checklist does not change — the consequences of skipping it do.
Can I fix these issues automatically?
The mechanical ones, largely yes — missing language declarations, malformed headings, table headers, and metadata scaffolding can be repaired programmatically. Meaningful alt text and a sensible reading order need a human eye. Origami repairs the mechanical findings with AI and leaves the judgement calls clearly marked for you.

The bottom line

Accessible EPUBs are better books for everyone and, in the EU, a legal requirement. Run Ace by DAISY to clear the machine-checkable issues, publish honest accessibility metadata, and give real thought to alt text and reading order — the parts only a human gets right. Origami handles the automation and shows you exactly what is left to review.

Do this in Origami