Testing Accessibility of ePub Books

What is an eBook?

An eBook essentially is an interconnected collection of web pages and assets (like images, other media) that conform to the ePub specification and can be read with an ePub reader.

Why should you check the accessibility of an ePub?

Properly created ePub publications are a boon to users with disabilities like blindness, low vision, cognitive impairments or mobility constraints. Unlike paper publications, they can be used by everyone without needing to be converted to an electronic format. But in order for these benefits to obtain, ePubs need to:

  • Conform to the ePub specification
  • Follow WCAG Guidelines

When do you check the accessibility of an ePub?

Ideally, every time you receive a request to purchase an eBook or are thinking of adopting one for your class.

Realistically, you would want to do automated sample testing when you are considering a specific publisher for your unit or department.  Automated testing tools are quite adequate for this purpose, as they will give you a fairly good idea of how seriously this publisher takes accessibility and adherence to the ePub standard. If the publisher’s offerings are attractive but nonconformant and/or inaccessible and you have a good working relationship with the publisher, the automated tools offer reports that you can share with them to guide them in remediating their product.

If you are considering publishing ePub books, you will want to follow a process and use a tool set that will facilitate creating ePubs that are “born accessible.”  You will also want to strongly consider checking your publications as you go along with the automated process outlined below, and then also doing some functional spot checking as well, following the DAISY knowledge base

Automated testing 

EPUB-Checker: validate conformance the the EPUB spec

EPUBCheck is a tool to validate the conformance of EPUB publications against the EPUB specifications.  This is an important step - if the ePub conforms, the ePub reader software will interpret it correctly and present the information correctly to the user.

We recommend the EPUB-Checker from Pagina, which includes the EPUBCheck engine but also provides a user interface.

  1. Download EPUB-Checker and follow the prompts to install.
  2. Launch EPUB-Checker.
  3. Choose the file you want to test.
  4. The application will read it and generate a report.

If you want to save the report for your records, or send it to the publisher, choose Logfile from the menu, pick Save logfile. This will be the report you can share with the publisherIf you are testing your own book, the report will outline what things you need to remediate.

Note: When you first launch the EPUB-Checker it may notify you that it requires Java, which you may need to install. Pick the Oracle version from the dialog, install and restart EPUB-Checker.

ACE: check the accessibility of the EPUB

ACE will check your ePub against the WCAG 2.0 AA guidelines, ensuring that the ePub reader will interpret and deliver the content correctly to assistive technology.

  1. Download ACE and follow the prompts to install.
  2. After installing it, launch the application
  3. Select the ePub you want to test, either by browsing for it (click on Check ePub button) or drag the ePub file onto the application.
  4. ACE will read in the file and provide you with a report on screen.

If you want to save the report for your records, or send it to the publisher, you can export a compressed archive of the report by clicking on the “Export” button. If you are testing your own book, the report will outline what things you need to remediate.

Note: If you add an ePub and nothing seems to happen, the temporary directory where ACE does its work may not be accessible to the application.  Create a folder on your Desktop or some other common location. Click on “Settings” and select that folder in the “Internal Report Storage” setting.

Functional Testing

Since you have already done automated testing, you can focus your functional testing on those things that automated testing will not be able to examine.  The guidelines referenced below deal with “web pages,” which is fine, as this is what an ePub is at heart.

Start with the Quick non technical accessibility tests (omit the automated test at the end). For more extensive coverage, follow the checks recommended in Functional testing as an adjunct to automated testing. Finally, make sure to perform some checks that involve the following things that are specific to the ePub medium:

  1. Discovery
    • Make sure that the ePub package has the right metadata so that a user can understand what the contents are without actually reading the contents. Think of this as the card catalog entry for the book. The EPUBCheck application will note the absence of metadata elements, but will not be able to judge how appropriate and accurate they are. Only a manual check will tell the tale.
  2. Page navigation
    • Page navigation is provided and page breaks are programmatically discoverable by assistive technologies.
  3. Synchronized media playback
    • Media can be totally controlled by user
    • Media and text are synchronized.