The EPUB specification is a distribution and interchange format standard for digital publications and documents. EPUB defines a means of representing, packaging and encoding structured and semantically enhanced Web content — including HTML5, CSS, SVG, images, and other resources — for distribution in a single-file format.
EPUB has been widely adopted as the format for digital books (eBooks), and these new specifications significantly increase the format’s capabilities in order to better support a wider range of publication requirements, including complex layouts, rich media and interactivity, and global typography features as well as a high degree of accessibility.
By incorporating the following features available within the format, EPUB 3 has the ability to offer a mainstream format which is accessible for everyone:
- new semantic markup features in HTML5 for structuring content, including native MathML support
- the inclusion of ARIA attributes for making dynamic content accessible
- the addition of the epub:type attribute for semantic inflection
- media overlays for text and audio synchronization
- SSML, PLS pronunciation lexicons and CSS3 Speech for enhanced text-to-speech playback
- a new XHTML-based navigation document
However, it must be emphasised that it is indeed possible to create an unaccessible EPUB 3 if these features are not employed. The developer must ensure that the format is used to its best advantage in this respect. And these enhancements alone don’t make ebooks accessible. The creation of accessible content requires due diligence both in production and quality assurance processes.
EPUB Accessibility Top Tips
Text must be available in a Logical Reading Order
Text must not be presented as images, be reordered by CSS, or require scripting to be accessed. Use structural markup to define the natural reading order of the primary narrative and to distinguish secondary material such as footnotes, references, figures, and other auxiliary content.
Separate Presentation and Content
Visual reading is only one way of accessing content. Do not use visual-only cues such as colored text, font size or positioning as the only clue to the meaning or importance of a word or section. Do not use tables or pictures of text to control the appearance of the content. The meaning of the content should be the same both with and without any styles or formatting applied.
Provide Complete Navigation
Include a complete table of contents in the front matter and consider smaller tables of contents at the start of each section. Use <section> and <aside> tags in the content and the <itemref linear=”no”> tag in the manifest file to define a logical reading order. This is particularly important for academic, educational, and other complex texts.
Create Meaningful Structure wherever possible
Create a structure by using numbered headings in a logical structure. For other tagged structures, specify their content with the epub:type attribute. For example, the tag that contains the preface of a book might look like <section epub:type=”preface”>. Specific tags are for specific content only (i.e., the <cite> tag is only for citations) and should be used according to the standard. Use the most specific tag available and do not automatically wrap <div> or <span> tags around everything.
Define the Content of each Tag
Include semantic information to describe the content of a tag. A section tag for the table of contents would look like <section epub:type=”toc”> or a list of definitions in a glossary would be tagged with <dl epub:type=”glossary”>. Use the EPUB 3 Structural Semantics Vocabulary as defined at (http://idpf.org/epub/vocab/structure/) to identify content.
Use Images only for Pictures, not for Tables or Text
Any content embedded in an image is not available to visually impaired readers. If the textual contents of a table or image are required for comprehension of the document, use proper and complete markup for text and tabular data, including headers and scope attributes for tables. If images of text are unavoidable, provide a description and transcription of the text and use accessible SVG. Accessible SVG graphics allow text in images to be rendered in an accessible way. They can also make it possible to deliver tactile images electronically to blind users with appropriate devices or to help automate the creation of tactile images that can be mailed to the reader with minimum human intervention.
Use Image Descriptions and Alt Text
Every image should have a description, caption or alt text unless it is solely decorative. See the DIAGRAM Center Image Guidelines for EPUB 3 for mark up best practices.
Include Page Numbers
Page numbers are the way many people navigate within a book. For any book with a print equivalent, use the epub:type=”pagebreak” attribute to designate page numbers. Include the ISBN of the source of the page numbers in the package metadata for the book. A tag for a page number might look like <span xml:id=”page361″ epub:type=”pagebreak”>361</span>.
Define the Language(s)
To make sure each word will be rendered correctly, specify the default language of the content in the root html tag. Indicate any words, phrases or passages in a different language by using the xml:lang attribute: <span xml:lang=”fr” lang=”fr”>rue Saint-Andre-des-Arts</span>.
MathML makes mathematical equations accessible to everyone by eliminating the ambiguity of a verbal description of a picture. There are many tools available to support MathML creation.
Provide Alternative Access to Media Content
Make sure the native controls for video and audio content are enabled by default. Provide fallback options such as captions or descriptions for video and transcripts for audio.
Make Interactive Content Accessible
Use Accessibility Metadata
As part of a general good practice of documenting the accessibility of your content, provide accessibility metadata in your files so end users know what features are there and search engines can discover your accessible materials.
This work is licensed under the Creative Commons Attribution-NonCommercial 2.5 Generic License produced by The Diagram Center
EPUB Accessibility 1.0 Specification
There have been a number of efforts to highlight accessible practices since EPUB 3 was first launched, from the IDPF accessibility guidelines to the BISG Quick Start Guide. Although these were necessary and beneficial first steps in moving toward a more inclusive model of publishing, we were still missing a testable framework for evaluating the overall accessibility of EPUB publications. It was not always clear what steps were sufficient to make universally accessible content.
Enter the EPUB Accessibility specification, which became a recommended IDPF specification on January 5th, 2017. The specification is not specific to any one version of EPUB. You can use it to assess EPUB 3.0 or even 2.0 publications. The specification is structured so that there is a set of universal high-level requirements, while a separate techniques document identifies specific practices and how they are implemented in the different flavours of EPUB.
See our Developer’s Guidance page for some useful top tips on creating accessible EPUB files and how you might make the most of some of the above features
EPUB Accessibility Techniques
The document, EPUB Accessibility Techniques, provides guidance on how to meet the discovery and accessibility requirements for EPUB files.
The W3C also has an extremely useful online tutorial on Structure for EPUB Documents
The DAISY Consortium has released a free, open source EPUB accessibility checking tool, Ace by DAISY, which has been created to assist in the evaluation of conformance to the EPUB Accessibility Specification. Designed to assist content providers at any stage in their workflow, Ace by DAISY makes it easier to produce higher quality, more accessible EPUB content files that meet internationally recognized standards.
The Ace tool performs a variety of automated checks producing a list of violations that need fixing and data visualizations to aid the manual inspection process. Ace, by DAISY can be usable as a standalone tool, or it can be integrated as a third-party component in broader publishing workflows or authoring processes.
Ace is currently a command line tool and there are step-by-step instructions on how to install, update and use the tool available in our Getting Started Guide.