Ace, by DAISY

Ace, the Accessibility Checker for EPUB, is a tool developed by the DAISY Consortium to assist with the evaluation of accessibility features of EPUB publications.

What is Ace?

Ace is a tool to run automated accessibility checks for EPUB Publications, in order to assist in the evaluation of conformance to the EPUB Accessibility specification.

It is important to keep in mind that only a limited portion of accessibility checks can be automated, and therefore Ace is just a helper tool to assist in a broader, human-driven, evaluation process.

Under the hood, Ace currently runs the aXe engine for automated testing of HTML, developped by the good folks at Deque Systems.

Getting started

  • Install Node.JS (version 6 or higher).
  • Install Ace with npm install ace-core -g

If everything went smoothly, you should now be able to run the ace command in your shell.


The following help message is displayed when running ace --help:

Ace by DAISY, an Accessibility Checker for EPUB

    $ ace [options] <input>

    -o, --outdir  <path>   save final reports to the specified directory
    -t, --tempdir <path>   specify a custom directory to store the temporary reports

    $ ace -o out ~/Documents/book.epub

Checking an EPUB

You can check an EPUB by running the ace command followed by the path to the EPUB document. For example:

$ ace ~/Documents/moby-dick.epub

The above command will extract the EPUB to a temporary cache directory, then run the test rules against every Content Document in the EPUB.

When ran with no further options, the tool will produce a JSON report to the standard output.

Saving the reports on disk

You can specify a directory where to store the JSON report along with a human-readable HTML report, with the --outputdir option. For example:

$ ace -o results ~/Documents/moby-dick.epub

The above command will run the test rules and store both a JSON report (report.json) and an HTML report (report.html) under the results directory of your current working directory.

What’s next?

Feel free to read the project requirements to have a better idea of where we’re heading to.

You can also review the current work plan by looking at the current milestones defined in the issue tracker.