Editor's Draft 26 April 2016
As many issues remain open for comment in this first draft, this document has not been updated yet. It will be updated later in the revision cycle once the proposed changes stabilize.
The complete EPUB 3.1 specification is also available for download as an EPUB Publication.
Copyright © 2010-2016 International Digital Publishing Forum™
All rights reserved. This work is protected under Title 17 of the United States Code. Reproduction and dissemination of this work with changes is prohibited except with the written permission of the International Digital Publishing Forum (IDPF).
EPUB is a registered trademark of the International Digital Publishing Forum.
This section describes the status of this document at the time of its publication. Other documents may supersede this document.
This document is a draft produced by the EPUB Working Group under the EPUB Working Group Charter approved on 8 July 2015.
This document is not considered stable and may be updated, replaced or obsoleted at any time. Its publication as a draft does not imply endorsement by IDPF membership or the IDPF Board. The document should only be cited as a work in progress.
Feedback on this document can be provided to the EPUB Working Group's mailing list or issue tracker.
This document is governed by the IDPF Policies and Procedures.
This document is informative.
This document provides a starting point for content authors and software developers wishing to understand the EPUB® 3.1 specifications. It consists entirely of informative overview material that describes the features available in EPUB 3.1.
Another informative document, EPUB 3.1 Changes from EPUB 3.0.1 [EPUB3Changes], describes changes in EPUB 3.1 from the last version.
This section covers the major features of EPUB, including important components and topics that apply to the process of authoring EPUB Publications as a whole.
Each Rendition of an EPUB Publication includes a single Package Document, which specifies all the resources required to render that Rendition. The Package Document also defines a reading order for linear consumption, and associates metadata and navigation information for the Rendition.
The Package Document represents a significant improvement on a typical Web site. A Web site, for example,
embeds references to its resources within its content, which, while a simple and flexible means of
identifying resources, makes it difficult to enumerate all the resources required to render it. In addition,
there is no standard way for a Web site to define that a sequence of pages make up a larger publication,
which is precisely what EPUB's spine [Packages31]
element does (i.e., it provides an external declarative means
to explicitly specify navigation through a collection of documents). Finally, the Package Document defines a
standard way to represent metadata globally applicable to a collection of pages.
The Package Document also includes a collection [Packages31]
element, which allows grouping of logically-related
Publication Resources. This element exists to enable the development of specialized content
identification, processing and rendering features, such as the ability to define embedded preview content, or
assemble an index or dictionary from its constituent XHTML Content Documents.
The Package Document and other Rendition-specific constructs are specified in [Packages31].
The new EPUB Canonical Fragment Identifier (epubcfi) Specification [EPUBCFI] defines a standardized method for linking into an EPUB Publication.
Required support for this scheme in Reading Systems means that EPUB now has an interoperable linking mechanism, one that can, for example, facilitate the sharing of bookmarks and reading locations across devices.
EPUB Publications provide a rich array of options for adding metadata. Each Rendition's Package Document includes a dedicated metadata section [Packages31] for general information about the EPUB Publication, allowing titles, authors, identifiers and other information about the EPUB Publication to be easily accessed. It also provides the means to attach complete bibliographic records using the link element [Packages31].
The Package Document also allows a Unique Identifier to be established for the EPUB Publication using the unique-identifier attribute [Packages31]. The required last-modified date in the Package metadata section can be joined with this identifier to define a Release Identifier, which provides a means of distinguishing different versions of an EPUB Publication (see Publication Identifiers [Packages31]). The Package Identifier addresses the issue of how to release an EPUB Publication without changing its Unique Identifier while still identifying it as a new version.
XHTML Content Documents also include the means of annotating document markup with rich metadata, making them more semantically meaningful and useful both for processing and accessibility purposes (HTML Semantic Inflection [ContentDocs31]). Both RDFa and Microdata attributes can also be used in XHTML Content Documents, enabling content-level metadata expressions (HTML Semantic Enrichment [ContentDocs31]).
Each Rendition of an EPUB Publication contains one or more EPUB Content Documents, as defined in [EPUB31]. These are XHTML or SVG documents that describe the readable content and reference associated media resources (e.g., images, audio and video clips).
XHTML Content Documents are defined by a profile of HTML5.
Although EPUB's history is steeped in enabling reflowable content, not all publications lend themselves easily to reflowing. Children's books, comics and manga, magazines and many other content forms require the ability to create page-precise layouts to be represented in a meaningful fashion.
EPUB 3.1 includes metadata that allows the creation of fixed-layout XHTML Content Documents [Packages31], in addition to existing capabilities for fixed layouts in SVG. This metadata enables the dimensions of the page [ContentDocs31] to be controlled, creating a canvas on which elements can be absolutely positioned.
The metadata does not just flag whether content is to be fixed or reflowed, but also allows Authors to specify the desired orientation of pages [Packages31], when to create synthetic spreads [Packages31], and how to position pages [Packages31] within those spreads, providing a broad range of control over the presentation of EPUB Publications.
A key concept of EPUB is that content presentation adapts to the User, rather than the User having to adapt to a particular presentation of content. HTML was originally designed to support dynamic rendering of structured content, but over time HTML as supported in Web browsers has become focused on the needs of Web applications, and most popular Web sites now have fixed-format layouts.
EPUB Publications, however, are designed to maximize accessibility for the visually impaired, and Reading Systems typically perform text line layout and pagination on the fly, adapting to the size of the display area, the User's preferred font size, and other environmental factors. This behavior is not guaranteed in EPUB; images, vector graphics, video and other non-reflowable content might be included, and some Reading Systems might not paginate on the fly, or at all. Nevertheless, supporting dynamic adaptive layout and accessibility has been a primary design consideration throughout the evolution of the EPUB standard.
EPUB Content Documents can reference CSS Style Sheets, allowing Authors to define the desired rendering properties. EPUB 3.1 defines a profile of CSS based on CSS 2.1 [CSS2.1] for this purpose, together with capabilities defined by various CSS3 Modules and several additional properties specific to EPUB.
CSS3 properties were selected based on their current level of support in Web browsers, but support for them in Reading Systems and User Agents is not guaranteed (EPUB-defined properties can similarly be ignored).
EPUB 3.1 also supports CSS styles that enable both horizontal and vertical layout and both left-to-right and right-to-left writing, but Reading Systems might not support all of these capabilities. Reading Systems might also support different rendering options than the Author intended. Refer to CSS in the Global Language Support section for more information.
EPUB 3.1 also supports the ability to include multiple style sheets that allow users, for example, to select between day/night reading modes or to change the rendering direction of the text. Refer to [AltStyleTags] for more information.
EPUB 3.1 supports audio and video embedded in XHTML Content Documents via the new [HTML5]
audio
and video
elements, inheriting all the functionality and features
these elements provide. (For information on supported audio formats, please refer to Core Media Types [EPUB31]. For recommendations on embedding video, refer to
Reading System
Conformance [EPUB31].)
Another key new multimedia feature in EPUB 3.1 is the inclusion of Media Overlay Documents [MediaOverlays31]. When pre-recorded narration is available for a Rendition of an EPUB Publication, Media Overlays provide the ability to synchronize that audio with the text of a Content Document (see also Aural Renditions and Media Overlays).
EPUB 3.1 supports two closely-related font formats — OpenType [OpenType] and WOFF [WOFF] — to accommodate both traditional publishing workflows and emerging Web-based workflows. Word processing programs used to create EPUB Publications are likely to have access only to a collection of installed OpenType fonts, for example, whereas Web-archival EPUB generators will likely only have access to WOFF resources (which cannot be converted to OpenType without undesirable, and potentially unlicensed, stripping of WOFF metadata).
EPUB 3.1 also supports both obfuscated and regular font resources for both OpenType and WOFF font formats. Support for obfuscated font resources is required to accommodate font licensing restrictions for many commercially-available fonts.
EPUB strives to treat content declaratively — as data that can be manipulated, not programs to be executed — but does support scripting as defined in HTML5 and SVG (refer to Scripting [ContentDocs31] for more information).
It is important to note, however, that scripting support is optional for Reading Systems and might be disabled for security reasons.
Authors need to be aware that scripting in an EPUB Publication can create security considerations that are different from scripting within a Web browser. For example, typical same-origin policies are not applicable to content that has been downloaded to a User's local system. Therefore, it is strongly encouraged that scripting be limited to container constrained contexts, as further described in Scripted Content Documents — Content Conformance [ContentDocs31].
In other words, consider limiting scripting to cases where it is essential to the User experience, since it greatly increases the likelihood that content will not be portable across all Reading Systems and creates barriers to accessibility and content reusability.
EPUB 3.1 provides the following text-to-speech (TTS) facilities for controlling aspects of speech synthesis, such as pronunciation, prosody and voice characteristics:
The inclusion of generic pronunciation lexicons using the W3C PLS format [PLS] enables Authors to provide pronunciation rules that apply to the entire EPUB Publication. Refer to Pronunciation Lexicons [ContentDocs31] for more information.
The incorporation of SSML phonemes functionality [SSML] directly into a EPUB Content Document enables fine-grained pronunciation control, taking precedence over default pronunciation rules and/or referenced pronunciation lexicons (as provided by the PLS format mentioned above). Refer to SSML Attributes [ContentDocs31] for more information.
An EPUB Publication is transported and interchanged as a single file (a "portable document") that contains the Package Documents, all Content Documents and all other required resources for processing the included Renditions. The single-file container format for EPUB is based on the widely adopted ZIP format, and an XML document that identifies the location of the Package Document for each Rendition in the ZIP archive is located at a pre-defined location within the archive.
This approach provides a clear contract between any creator of an EPUB Publication and any system which consumes such EPUB Publications, as well as a reliable representation that is independent of network transport or file system specifics.
An EPUB Publication's representation as a container file is specified in [OCF31].
EPUB 3.1 supports alternate representations of all text metadata items in the package metadata section to
improve global distribution of EPUB Publications. The alternate-script property can be combined with the xml:lang
attribute to
include and identify alternate script renderings of language-specific metadata.
Using this property, a Japanese EPUB Publication could, for example, include an alternate Roman-script representation of the author's name and/or one or more representations of the title in Romance languages. Refer to the alternate-script for more information.
The page-progression-direction
attribute also allows the content flow direction to be
globally specified for all Content Documents to facilitate rendering (see the page-progression-direction [Packages31]).
XHTML Content Documents leverage the new HTML5 directionality features to improve support for bidirectional
content rendering: the bdi
element allows an instance of directional text to be isolated
from the surrounding content, the bdo
element allows directionality to be overridden for its
child content and the dir
attribute allows the directionality of any element to be
explicitly set.
XHTML Content Documents also support ruby annotations for pronunciation support (which makes them supported in Navigation Document links, as well).
SVG Content Documents support the rendering of bidirectional text, but do not include support for ruby.
EPUB 3.1's support for new CSS3 modules enables typography for many different languages and cultures. Some specific enhancements include:
support for vertical writing, which also provides Reading Systems the ability to allow users to toggle direction;
better handling of emphasis, such as the inclusion of bōten;
better control over line breaking, so that breaks can occur at the character level for languages that do not use spaces to delimit new words; and
better control over hyphenation, to further facilitate line breaking.
EPUB 3.1 does not require that Reading Systems come with any particular set of built-in system fonts. As occurs in Web contexts, Users in a particular locale might have installed fonts that omit characters required for other locales, and Reading Systems might utilize intrinsic fonts or font engines that do not utilize operating system installed fonts. As a result, the text content of an EPUB Publication might not natively render as intended on all Reading Systems.
To address this problem, EPUB 3.1 supports the embedding of fonts to facilitate the rendering of text content, and this practice is recommended in order to ensure content is rendered as intended.
Support for embedded fonts also ensures that characters and glyphs unique to an EPUB Publication can be embedded for proper display.
EPUB 3.1's support for PLS documents and SSML attributes increases the pronunciation control that Authors have over the rendering of any natural language in text-to-speech-enabled Reading Systems. Refer to Text-to-speech in the Features section for more information on these capabilities.
The combination of CSS Speech and inline SSML phonemes also allows fine control over ruby.
The OCF container format supports UTF-8, allowing for internationalized file and directory naming of content resources.
A major goal of EPUB is to facilitate content accessibility, and a variety of features in EPUB 3.1 support this requirement. This section reviews these features, detailing some established best practices for ensuring that EPUB Publications are accessible where applicable.
It is important to note that while accessibility is important in its own right, accessible content is also more valuable content: an accessible EPUB Publication will be adaptable to more devices and be easier to reuse, in whole or in part, via human and automated workflows. The EPUB Working Group strongly recommends that Authors ensure that they generate accessible content.
HTML5 supports a number of new elements intended to make markup more semantically meaningful (e.g.,
section
, nav
and aside
) and introduces more clearly
defined semantics for some HTML4 elements. Make use of these elements, in conjunction with best practices for
authoring well-structured Web content, when creating EPUB XHTML Content Documents. These additions allow
content to be better grouped and defined, both for representing the structure of documents and to facilitate
their logical navigation. XHTML Content Documents also natively support the inclusion of ARIA role and state
attributes and events, enhancing the ability of Assistive Technologies to interact with the content.
EPUB 3.1 includes the epub:type attribute, which is meant to be functionally equivalent to the W3C Role Attribute [Role]. This attribute allows any element in an XHTML Content Document to include additional information about its purpose and meaning within the work, using controlled vocabularies and terms. Refer to HTML Semantic Inflection [ContentDocs31] for more information.
The design center of EPUB is dynamic layout: content is typically intended to be formatted on the fly rather than being typeset in a paginated manner in advance (i.e., expecting a particular sized "page"). This core capability is useful, for example, for optimizing rendering onto different sized device screens or window sizes, and it facilitates and simplifies content accessibility.
While it is possible to incorporate more highly formatted content in EPUB — for example via bitmap images or SVG graphics, or even use of CSS explicit positioning and/or table elements to achieve particular visual layouts — Authors are strongly discouraged from utilizing such techniques. They are not reliable in EPUB since many Reading Systems render content in a paginated manner rather than creating a single scrolling Viewport and since each Reading System might define its own pagination algorithm. If these techniques are necessary to convey the content of the publication, consider including fallbacks [EPUB31] (e.g., for graphic novels).
In general, it is preferable to achieve visual richness by using CSS Style Sheets without absolute sizing or positioning.
Although descriptions are commonly associated with image-based content, the ability to describe any complex structure in a document is a necessary requirement to make the content more accessible. Describing complex tabular data can be beneficial to all readers, for example.
EPUB 3.1 includes two mechanisms for attaching descriptions to structures in XHTML Content Documents. The
[WAI-ARIA]
aria-describedby
attribute was allows enables linking to descriptions within the same page,
and the [WAI-ARIA-1.1]
aria-describedat
attribute can be used to reference descriptions in another file (which can
be located inside or outside the EPUB Container).
Aural renderings of content are important for accessibility and are a desirable feature for many other Users. A baseline to facilitate aural rendering is to utilize semantic HTML designed for dynamic layout. Refer to Text-to-speech for more information on how to use the native facilities that EPUB XHTML Documents include.
Media Overlays provide the ability to synchronize the text and audio content of an EPUB Publication, a feature already familiar to readers of DAISY Digital Talking Books. Overlays transcend the accessibility domain in their usefulness: the synchronization of text and audio as a tool for learning to read, for example, being of benefit in many circumstances.
Not all formats are accessible in their native format, and not all Users prefer to read in the default format provided. EPUB defines a variety of means for providing fallbacks so that alternate renderings can be made available in these cases.
Publication- and content-level fallbacks are defined in Foreign Resources [EPUB31]. These fallback mechanisms enable the inclusion of Foreign Resources in an EPUB Publication and ensure compatibility of EPUB 3.1 content across Reading Systems with varying capabilities (e.g., they allow the inclusion of multiple video formats, and the inclusion of XHTML fallbacks to SVG Content Documents for EPUB 2 Reading Systems).
In addition, multiple instances of a complete work can be delivered in a single EPUB Publication by
defining multiple rootfile
elements in the OCF container file (as described in The Container File [OCF31]). These alternate
Rendition fallbacks might be used, for example, so that a formatted graphic novel defined via a sequence of
SVG pages can be accompanied by an accessible text version defined via XHTML.
EPUB 3.1 adopts a progressive enhancement approach for scripted content, whereby scripting has to not interfere with the integrity of the document (i.e., not result in information loss when scripting is not available). Consequently, although documents that do employ scripting can provide fallbacks [ContentDocs31] to further facilitate access to their contents, the documents have to be accessible without them.
Ensure that you always implement best practices for accessible scripting in Web documents, such as provided in [WAI-ARIA], and reserve the use of scripting for situations in which interactivity is critical to the User experience.
This section is informative
EPUB has been developed by the International Digital Publishing Forum in a cooperative effort, bringing together publishers, vendors, software developers, and experts in the relevant standards.
The EPUB 3.1 specifications were prepared by the International Digital Publishing Forum’s EPUB Maintenance Working Group, operating under a charter approved by the membership in July 2015, under the leadership of:
Active members of the working group at the time of publication of revision 3.0 were:
Version 3.0 of this specification was prepared by the International Digital Publishing Forum’s EPUB Maintenance Working Group under the leadership of:
Active members of the working group at the time of publication of revision 3.0 were:
Version 2.0.1 of this specification was prepared by the International Digital Publishing Forum’s EPUB Maintenance Working Group under the leadership of:
Active members of the working group at the time of publication of revision 2.0.1 were:
Version 1.0 of this specification was prepared by the International Digital Publishing Forum’s Unified OEBPS Container Format Working Group under the leadership of:
Active members of the working group at the time of publication of revision 1.0 were:
[AltStyleTags] Alternate Style Tags .
[CSS2.1] Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification . 7 June 2011.
[ContentDocs31] EPUB Content Documents 3.1 .
[EPUB31] EPUB 3.1 .
[MediaOverlays31] EPUB Media Overlays 3.1 .
[OCF31] Open Container Format 3.1 .
[OPS2] Open Publication Structure 2.0.1 .
[OpenType] ISO/IEC 14496-22:2009 - Information technology -- Coding of audio-visual objects -- Part 22: Open Font Format .
[PLS] Pronunciation Lexicon Specification 1.0 (PLS) . 14 October 2008.
[Packages31] EPUB Packages 3.1 .
[SSML] Speech Synthesis Markup Language (SSML) Version 1.1 . 7 September 2010.
[SVG] Scalable Vector Graphics (SVG) 1.1 (Second Edition) . 09 June 2011.
[WAI-ARIA] Accessible Rich Internet Applications (WAI-ARIA) 1.0 .
[WAI-ARIA-1.1] Accessible Rich Internet Applications (WAI-ARIA) 1.1 .
[WOFF] WOFF File Format 1.0 .
[EPUB3Changes] EPUB 3.0.1 Differences from EPUB 3.0 .
[Role] Role Attribute . An attribute to support the role classification of elements. 05 August 2010.