If you've looked into EPUB accessibility, you've probably seen references to "Ace" or "DAISY Ace." It's the most widely used tool for checking ebook accessibility, trusted by publishers like Hachette, HarperCollins, and Penguin Random House. Here's what it does, how it works, and how to make sense of its results.
What Is DAISY Ace?
Ace (Accessibility Checker for EPUB) is an open-source tool developed by the DAISY Consortium, the international organization responsible for accessible publishing standards. It evaluates EPUB files against the WCAG 2.1 AA standard and the EPUB Accessibility 1.1 specification.
Ace is the reference implementation, when publishers, retailers, or standards bodies talk about EPUB accessibility compliance, Ace is typically the tool they use to verify it. Amazon's internal quality checks are believed to run similar evaluations, and books that fail can experience silent suppression in search results.
What Ace Checks
Ace evaluates your EPUB across several categories:
Structural Checks
- Heading hierarchy, Are headings used in the correct order (h1 → h2 → h3)?
- Landmarks, Does the content include ARIA landmarks for navigation?
- Reading order, Is the DOM order logical and sequential?
- Language, Is the document language declared?
Content Checks
- Image alt text, Do all
<img>elements have meaningfulaltattributes? - Table markup, Are data tables properly structured with headers?
- Link text, Are links descriptive (not just "click here")?
- Color contrast, Do text and background colors meet the 4.5:1 ratio?
Metadata Checks
- Accessibility metadata, Are
accessibilitySummary,accessibilityHazard, andaccessibilityFeaturedeclared in the OPF? - Discovery metadata, Can assistive technology determine the book's accessibility features?
- Conformance, Does the EPUB claim conformance to an accessibility standard?
Navigation Checks
- Table of contents, Does the EPUB include a
<nav>element with propertocrole? - Page list, Does the EPUB provide page navigation (especially important for textbooks)?
- Spine order, Does the reading order in the OPF spine match the content order?
How Ace Reports Results
Ace produces a detailed JSON report with every violation it finds. Each violation includes:
- Rule ID, a reference to the specific WCAG success criterion
- Severity, critical, serious, moderate, or minor
- Location, the file and element where the violation occurs
- Description, what's wrong and why it matters
For example, a missing alt text violation might look like:
{
"rule": "image-alt",
"impact": "critical",
"description": "Images must have alternate text",
"html": "<img src=\"images/cover.jpg\">",
"file": "OEBPS/chapter01.xhtml"
}
Ace also generates an HTML report with the same information in a more readable format, including screenshots of the flagged elements.
Running Ace Yourself
Ace is a command-line tool that requires Node.js 18 or later. Here's how to install and run it:
# Install globally
npm install -g @daisy/ace
# Check a single EPUB
ace mybook.epub -o report-output/
# View the report
open report-output/report.html
The -o flag specifies where to save the output. Ace creates both report.json (machine-readable) and report.html (human-readable) in that directory.
Common Issues Running Ace
Electron sandbox errors. Ace uses Electron internally, which can cause sandbox permission issues on some systems. Setting ELECTRON_DISABLE_SANDBOX=1 usually resolves this.
Missing system libraries. On Linux, Ace needs several graphics libraries (libgbm, libnss3, etc.) for its rendering engine. Docker containers need these installed explicitly.
Large files. EPUBs over 100MB may cause memory issues. Ace loads the entire file into memory for analysis.
Interpreting Ace Results
Not all violations carry equal weight. Here's how to prioritize:
Critical, Fix These First
- Missing image alt text, the most common violation and the one most likely to trigger retailer flags. See our guide to writing alt text for ebooks for best practices.
- Missing accessibility metadata, without metadata, automated systems assume non-compliance
- Broken heading hierarchy, affects screen reader navigation
Serious, Fix These Next
- Insufficient link contrast, a WCAG AA requirement that many EPUBs fail
- Missing language declaration, affects screen reader pronunciation
- Missing table headers, important for data-heavy books
Moderate, Good to Fix
- Missing landmarks, improves navigation but may not trigger suppression
- Missing page list, primarily relevant for textbooks and academic titles
Minor, Low Priority
- Minor contrast issues, ratios close to the threshold
- Best practice suggestions, not standard violations
Ace vs. Other Tools
There are other EPUB checkers available, but Ace is unique in several ways:
EPUBCheck validates EPUB structure and schema (is the ZIP valid? Is the OPF well-formed?) but doesn't check accessibility. Think of EPUBCheck as a syntax checker and Ace as an accessibility checker, they're complementary.
axe-core (by Deque) is the underlying accessibility engine that Ace uses for WCAG evaluation. If you're familiar with axe for web testing, Ace applies the same rules to EPUB content.
Retailer-specific tools. Amazon and Apple have internal tools, but they don't share the details publicly. Ace is the closest proxy for what these tools evaluate.
Using Ace Results to Fix Your EPUB
The most efficient workflow is:
- Run Ace and save the report
- Sort violations by severity (critical → minor)
- Fix critical issues first, metadata, alt text, headings
- Re-run Ace after each round of fixes to verify
- Target a clean report, zero critical and serious violations
For a detailed walkthrough of each fix, see our guide on how to fix EPUB accessibility issues step by step. If running Ace locally feels like too much setup, web-based tools like Rahatt wrap Ace in a browser interface and translate the raw report into a risk score with actionable recommendations.