W3C

EPUB 3.3 is now in CR

The EPUB 3 Working Group is pleased to announce that three of our documents have now progressed to Candidate Recommendation: EPUB 3.3, EPUB 3.3 Reading Systems, and EPUB Accessibility 1.1. We encourage implementers to review the specifications and test.

EPUB 3.3

EPUB 3.3 is completely backwards compatible with previous versions of EPUB 3, meaning that current EPUB 3 files in your systems likely already meet EPUB 3.3 requirements. The working group has made some changes to the specifications to introduce more clarity to the documents as well as introduce some new content types and recommendations around areas previously underspecified.

New Media Types

EPUB 3.3 introduces two new media types:

  • WebP, a modern image format for the web, which allows for smaller file sizes with the same quality as JPEG or PNG
  • OPUS, an open source audio codec also designed for the web, with streaming, storage, and a wide range of support for different bitrates and sampling rates

The addition of these media types brings EPUB closer to modern web standards, especially as digital publishing becomes more mature. We look forward to seeing implementations taking advantage of these additions.

Changes to the Package File

We have added additional control in the package file to allow for the proper rendering of bidirectional texts in fields like title.

New Document Structure

EPUB 3.3 features a major revision to how the EPUB specification is structured. Previously, EPUB 3.2 was structured into 5 different documents, which contained requirements for both content authors and reading systems:

  • EPUB 3.2
  • EPUB Packages 3.2
  • EPUB Content Documents 3.2
  • EPUB Open Container Format 3.2
  • EPUB Media Overlays 3.2

In EPUB 3.3, we have organized the content of those 5 documents into 2, dividing them by their audience:

  • EPUB 3.3 Core
  • EPUB 3.3 Reading Systems

Core covers all of the requirements for content authors, while reading systems are contained in the second document. While understanding both documents is helpful, it is now much easier to find information depending on your use case, as each document holds all of the pertinent requirements for its audience.

In addition to revising the document structure, we have also gone through both documents thoroughly to address any editorial issues. Many requirements or informative sections have been revised to focus on real-world implementation practice, or just to clarify any confusing language. A number of notes have been added to both documents to ensure key points are clarified as well.

We have also removed some features from the core specifications that are mentioned in the satellite specifications. Mentions of multiple renditions have been move to the Multiple Renditions document, as well as text-to-speech requirements. This is to align the specifications better with real-world implementations of EPUB and reading systems.

Privacy and Security

While EPUB 3 is over 10 years old, this is the first time the specification has been through the W3C Process. Previous versions of the specification have not been through wide review, which was an interesting and enlightening process for the EPUB 3 WG. While EPUB has had a strong focus on internationalization and accessibility, both of which are core to the format, we never reviewed the specifications for privacy and security.

With the help of W3C Privacy Interest Group, EPUB 3.3 and EPUB 3.3 Reading Systems now both have sections focusing on the unique privacy and security concerns in EPUB 3.3. EPUB relies strongly on the security model of the web, but there were also unique circumstances we needed to consider as a transmission and presentation format. Building a threat model for EPUB was an interesting thought exercise, and we strongly recommend implementors review both when reviewing the new version of the specification.

For people new to the concept of a threat model, here are some examples of threats we saw in the EPUB ecosystem:

  • Scripting
  • Compromised or malicious remote resources
  • Phishing/spoofing
  • Collection of user data
  • User-generated content

It’s important to point out that some of the privacy and security issues in EPUB are not just from the file format, but also from the ecosystem it resides in. Reading systems or other user agents for EPUB should be conscious of privacy and security issues they may introduce in how they build their software.

Testing

As part of CR, we are building a test suite for EPUB 3.3. Reading system implementers are encouraged to run the tests on their systems and report the results back to us. You can find information on EPUB testing on our testing repository.

We look forward to seeing the results of the testing, particularly because we hope to see increased interoperability in the EPUB ecosystem with some of the updates made to the EPUB specification. While very few features have changed, we hope providing clarification might make it easier to understand areas that are under implemented.

Members of the EPUB community are also encouraged to contribute tests of the specifications, but please be sure to follow our contribution guidelines and process.

Under Implemented Features

As part of CR, we have identified some areas of the EPUB specification we believe to be at-risk. At-risk is defined as not meeting the 2-implementation threshold. In EPUB, this means the feature does not appear in more than two different reading system platforms.

Due to the requirements around backwards compatibility, we will not be deprecating any features deemed at-risk. However, if any features tested do not meet the required 2-implementation threshold, we will be labelling them as “under-implemented”.

This is a new classification that we have added to two other classifications already in the EPUB specification:

  • Deprecated features – features the working group no longer recommends be used, as they have limited to no support in the market (ex. EPUB switch)
  • Legacy features – features we have retained for backwards compatibility with previous versions of EPUB, but may not be supported by reading systems (ex. the NCX file)

In the limited testing we have done so far, we have discovered two features we consider to be potentially under-implemented:

  • rendition:flow
  • manifest fallbacks

EPUB Accessibility 1.1

The EPUB Accessibility specification has been updated to meet the need of publishers and content creators as they prepare for the European Accessibility Act (EAA). Some of these changes include:

  • Allowing EPUB creators to conform to the latest version of WCAG
  • New recommendations for page list and page numbering
  • refines attributes for accessibility metadata fields

In addition to these changes, editorial changes have also been made to improve the document in alignment with the rest of the specification. We have also added expanded privacy and security sections to the Accessibility specification, which was reviewed alongside EPUB 3.3 and Reading Systems.

What can the community do to help?

First and foremost, review the specification! While in CR we are still able to make some changes, and we appreciate feedback that will help us achieve our goals of improved interoperability and readability of the specification.

Review the test suite, try the tests out, and please report any errors or issues the tests might have. We also would appreciate help with writing new tests, as the specification is still expansive and many areas still require testing.

Lastly, if you are a reading system implementer, run the tests and provide an implementation report. The more results we have, the better. While we need 2 implementations to prove the viability of features, because the digital publishing ecosystem is so big, the more information we have about support for EPUB the better it is for us to make decisions on what features to focus on or improve over time. For potentially under-implemented features, if you happen to be an implementer your feedback is essential.

One thought on “EPUB 3.3 is now in CR

Leave a Reply

Your email address will not be published. Required fields are marked *