Ace, the EPUB accessibility checker: what it tests and how to pass
Ace is the free tool distributors and libraries run on an EPUB before accepting it. What each of its rules checks, which ones you can fix yourself, and what your formatting tool has to get right.
Distributors and library suppliers run a program on your EPUB before they accept it. If it fails,
you get an email with rule names in it: image-alt, heading-order, epub-type-has-matching-role.
The program is Ace, from the DAISY Consortium, and this is what the rule names mean.
Why one tool decides
The European Accessibility Act requires ebooks sold in the EU from June 2025 to be accessible. It names no software, but it points to the EPUB Accessibility specification, and that specification has one reference checker, Ace. Distributors turned the law into a rule they can apply: a file passes Ace or it is sent back.
Retailers have their own reason. Accessibility metadata is a field on the store page and a filter in library catalogues, and a file without it cannot be listed as accessible. Ace reads that metadata and reports what is missing.
What Ace checks
Ace looks at three layers of the file.
The package metadata. The EPUB’s package file must state how the book can be read. Three properties are required: the access modes (textual, visual), the accessibility features (table of contents, structural navigation, alt text) and the hazards (none, or flashing, motion, sound). Two more are recommended: a summary, and which modes are sufficient on their own. Each has a fixed list of allowed values. A file with none of them fails three checks before Ace opens a chapter.
The structure. The navigation document must have a table of contents whose entries point at places that exist, in reading order. Every element marked with an EPUB structural term (chapter, footnote, note reference, epigraph) must also carry the matching ARIA role, because reading systems read the term and screen readers read the role.
The content. Ace runs the axe engine, the same one behind most web accessibility checkers, over every chapter. The findings an author recognises come from here:
- An image with no
altattribute. Empty alt text passes; it marks a decorative image. A missing attribute fails. - A heading that skips a level. Level 1 to level 3 with no level 2 between. This is what styling a subheading as Heading 3 in Word produces.
- A table of three by three cells or more with no header row.
- Text whose colour has less than 4.5:1 contrast against its background (3:1 for large text).
- A link that differs from the surrounding text only by colour, with no underline.
- A chapter file with no title or no language.
Each finding has a severity: critical, serious, moderate or minor. Reviewers send back files with critical or serious findings.
What you can fix
Most of the list above is about how the file was built: the metadata, the roles, the underlines, the contents order. You cannot fix those in a finished file, and you should not have to. They are the formatting tool’s job. If your tool produces files that fail them, change the tool.
What is left is yours:
- Describe your pictures. One sentence saying what the picture shows: “map of the eight parishes of Jersey”, not “map”. Leave a purely decorative ornament blank.
- Keep heading levels in order. A chapter title is level 1. The next level down is 2. If a level 3 follows a level 1, change it to level 2.
- Give large tables a header row. Mark the first row as the header.
- Check colours. A caption or callout title in a pale colour may fall under 4.5:1. Darken it.
The conformance claim
A file that passes may declare conformance in its metadata: to EPUB Accessibility 1.1 at a WCAG level, usually A or AA. Library suppliers look for this line. It is a claim the publisher makes, not a certificate Ace issues, so it should be made only when the file earns it. A file that claims conformance and fails a check is worse than one that claims nothing.
The claim also depends on you. The structural rules can pass by construction. An undescribed picture fails WCAG’s first criterion, so the claim rests on the alt text you wrote.
What Nueel does
Nueel writes the EPUB to pass: the structural term and the ARIA role on every chapter, note and epigraph; a navigation document generated from the book’s structure; underlined links; the full metadata record. Before the file is written, the export check lists the findings only you can act on, each linked to its block: a picture with no description, a heading that skips a level, a large table with no header row, a design colour under the contrast ratio. After writing, the file is checked against the same rules Ace runs, and the result is shown with it.
When every check passes and every picture is described, the file declares EPUB Accessibility 1.1, WCAG 2.0 Level A. Otherwise it carries the metadata and no claim.
Before you upload
Run epubcheck for validity, then Ace for accessibility, then read the book in a reading app. If you cannot install Ace, the free EPUB accessibility checker runs its markup and metadata rules on a file in your browser. The first two are mechanical. The third is the only way to know whether the descriptions you wrote are any good.
Common questions
- What is Ace, the EPUB accessibility checker?
- Ace is a free, open-source program from the DAISY Consortium. It reads an EPUB and reports where the file falls short of the EPUB Accessibility specification and WCAG: missing metadata, structural elements without ARIA roles, images without alt text, headings out of order, low contrast. Distributors, library suppliers and institutional buyers run it before accepting a file.
- How do I run Ace on my EPUB?
- Ace is a command-line program that needs Node.js and a headless browser. Install it with npm install -g @daisy/ace, then run ace book.epub -o report. The report is a web page listing every finding with its severity. Most authors do not install it. Nueel's free EPUB accessibility checker runs Ace's markup and metadata rules on a file in the browser, and a formatting tool can run the same checks before writing the file.
- What does Ace check in an EPUB?
- Three things. The accessibility metadata in the package file: access modes, features and hazards, in a fixed vocabulary. The structure: a table of contents that points at real places in reading order, and an ARIA role on every structural element. The content, through the axe engine: images without alt text, headings that skip levels, large tables without headers, text with too little contrast, links marked by colour alone, missing document titles and languages.
- Does passing Ace mean my ebook is accessible?
- It means the file is structurally accessible. Ace checks that alt text exists, not that it describes the picture. A file that passes Ace and has a real description on every meaningful image is what publishers mean by an accessible ebook, and what the conformance metadata is based on.
- Is Ace required by the European Accessibility Act?
- The Act does not name a tool. It requires ebooks sold in the EU from June 2025 to be accessible and points to the EPUB Accessibility specification, which Ace tests. Distributors respond to the law by requiring files to pass Ace, so in practice a self-published ebook has to meet it whether or not the author's own case is exempt.
- What is the difference between epubcheck and Ace?
- epubcheck checks that the file is a valid EPUB: well-formed markup, a manifest that matches the contents, links that resolve. Ace checks whether a valid EPUB is accessible. Retailers run both. A file can pass one and fail the other.
- accessibility
- epub
- ace
- daisy
- wcag
- screen readers
- european accessibility act
Nueel is a web app that turns a finished manuscript into a typeset book, in your browser: import your Word file, choose a design, export a print-ready PDF and an EPUB. See how it works.