Testing and Validation

There is a wide spectrum of EPUB reading systems currently available, each with different capabilities. Some reading systems support scripting; some do not. Some systems support web video, others don’t.

Reading systems aside, the end users themselves have unique characteristics that must be taken into account. Users may have different subject familiarity, different ability to perceive and understand the content, or different ways to access and interact with the content.

Given the different combinations of reading systems and user ability, how does a content creator ensure that their EPUB content is inclusive and considerate of all these differences? The short answer: build good standards compliant EPUB, and test across a variety of systems.

Consider testing with mobile devices such as Android tablets and phones, Apple iPhones and iPads.

Reader Software:

Screen Readers:

There are a number of reasons why it is important to test a variety of systems and to never assume that because the experience in one system is acceptable, it will be acceptable in other systems, for example:

  • aria-label and aria-labelledby are ignored by NVDA when used on
    elements, but are read aloud by Apple’s VoiceOver.
  • MathML is rendered fine in Calibre, iBooks, and Lucifox, but appears improperly in Readium.
  • MathML elements are pronounced as “underneath” instead of “over” in Apple’s VoiceOver.
  • As when building a website, cross-system testing is important to ensure the message and content you want to convey comes across accurately.

Validating an EPUB file will ensure that it conforms to the EPUB specification.

EPUB validator: http://validator.idpf.org/
Source: Floe project.