Press ‘A’. Return to the index by pressing
‘A’ or ‘Esc’. On a touch screen, use a 3-finger touch. You can also
double click to open a specific slide. In slide mode, press ‘?’
(question mark) to get a list of available commands.
If it doesn't work: Slide mode requires a
recent browser with JavaScript. If you are using the ‘NoScript’ add-on (Firefox or the
Tor Browser), or changed the ‘site settings’ (Chrome, Vivaldi, Opera, Brave and some other
browsers), or the ‘permissions for this site’ (Edge), you may have
to explicitly allow JavaScript on these slides. Internet Explorer
is not supported.
EPUB 3.3
Ivan Herman Digital Publishing Technical Lead
A bit of history…
2017: EPUB 3.1, last version defined by IDPF
had backward compatibility issues
2017: merger of W3C and IDPF, creating a separate “activity” at W3C under the banner of
“Publishing@W3C”
2018: EPUB 3.2, published as a W3C Community Group Note
started by EPUB 3.1, but rolling back the compatibility issues: any valid EPUB 3.01
document is a valid EPUB 3.2 document.
A bit of history… (cont.)
2021: creation of the W3C EPUB 3 Working Group, with the goal of publishing a W3C Recommendation
(informally, a “Web Standard”) for EPUB 3.3
going through a rigorous W3C process
thorough editorial review
very few new features
“Rigorous W3C process”
“Horizontal Reviews”
experts in accessibility, internationalization, security, or privacy review the documents
Testing
the process includes a testing phase, a.k.a., “Candidate Recommendation”
there must be a public test suite, and there must be (at least) two independent
implementations for every
normative feature
“Reading Systems” for user agents and their implementors
“Accessibility 1.1” is now integral part of EPUB 3.3 (just like Web standards like WCAG 2.0)
Lots of editorial changes
The thorough review, as well as testing, lead to lots of improvements on the texts
technical improvements on, e.g., base and relative URL-s or security issues
clarifications of details, requirements, explanations, …
over 160 “substantial” changes are listed in the change logs of the three future recommendations!
Privacy and security sections
Added informative privacy and security sections for the the Core and the Reading Systems documents
help content authors and Reading System implementers to avoid privacy or security issues
include “threat models” in the documents, i.e., what the threats are in EPUB (e.g.,
scripting, compromised or malicious remote resources, phishing/spoofing, collection of user
data, user-generated content…)
many of these are identical to the threats in Web pages, others are EPUB specific
Some of these also led to minor technical changes in the specifications
Testing, testing!
EPUB interoperability
Interoperability in EPUB has long been a state we desired but had no real information on
lot of anecdotes (“this book works fine on Apple Books, but not on Kobo…”)
very little published, referenceable material
IDPF had a test suite, but incomplete and not actively maintained any more
The new test suite for EPUB will provide some of that information
EPUB 3.3 test suite
The test suite is not testing base HTML/SVG/CSS features!
W3C has extensive test suites for these
A Reading System is, usually, based on a Web engine, a.k.a. “WebView”
Instead, the test suite concentrates on the EPUB specific features only
pagination control via the package file
core media types
fixed layout
media overlay
etc.
EPUB 3.3 test suite (cont.)
A large, developing set of tests
each test is a small EPUB 3.3 document on one normative feature
each document describes what it means to “pass” the test
reading systems are supposed to run the test and provide a file with yes/no answers on whether it passes or not
There are, at the moment, around 150 tests and growing
Each test must be passed by at least two, mutually independent implementations
if that is not the case, the feature cannot be validated as normative
There is list of tests
Tests and specification are linked
MathML test example
Per specification, a reading system must implement MathML
Test with id cnt-mathml-support, has, roughly, the content
<p>
Test passes if a math equation appears below,
including superscript (not plain text).
</p>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow><mi>x<mo>=…</math>
MathML test example
Language setting example
Per specification the language set in the package document (e.g., “fr”) must not be automatically
applied on the content document
This is what test pkg-lang_but_non_content is all about
there is no language set in the content document (language is “unknown”)
This is based on what the implementations report about themselves
What about unimplemented features?
If you build it… they might not come
Early versions of EPUB 3 were optimistic, included features that sounded necessary and important to
publications, but were not present in reading systems or tools. “If we build it, they will come” was
the
philosophy.
More than 10 years later, many have been implemented, but some have not 😞
Testing will help to see where things stand
The work intend to bring this problems to the open to help authors to produce interoperable content
Removing unused features: “under-implemented”
There may be one or more implementations, but are not common and should be considered risky for
content creators
epubcheck accepts them
Marked as such if there is a single (or no) implementation that reports having implemented it
note: in contrast to the “usual” W3C approach, these features cannot be removed from the
specification, due to the backward compatibility commitment
Removing unused features: “deprecated”
Features defined in earlier versions of EPUB 3
The working group no longer recommends to use them, as they have limited to no support
example: the epub:switch element
epubcheck warns about its usage
(This categorization was taken over from EPUB 3.2)
Removing unused features: “legacy”
Features defined in EPUB 2
Retained for backwards compatibility with previous major versions of EPUB, but may not be
supported by reading systems
example: NCX format for table of content
(This categorization was taken over from EPUB 3.2)
Examples for (potentially) “under-implemented” features
rendition:flow
the ability to tell a reading system to display content as vertically scrolled
scrolling feature is implemented in many reading systems, but it is usually at the user
discretion rather than creators’
Manifest fallbacks
allow content creators to provide an alternate version of a file if the main one does not
render
so far it appears that this feature is under-utilized, and also under-implemented in reading
systems
Removed features
Some features have already been taken out of the standards due to next to no usage and
implementations. E.g.:
To start the slide show:
Press ‘A’. Return to the index by pressing ‘A’ or ‘Esc’. On a touch screen, use a 3-finger touch. You can also double click to open a specific slide. In slide mode, press ‘?’ (question mark) to get a list of available commands.
If it doesn't work: Slide mode requires a recent browser with JavaScript. If you are using the ‘NoScript’ add-on (Firefox or the Tor Browser), or changed the ‘site settings’ (Chrome, Vivaldi, Opera, Brave and some other browsers), or the ‘permissions for this site’ (Edge), you may have to explicitly allow JavaScript on these slides. Internet Explorer is not supported.