If you’ve ever taken a read of the EPUB 3 Content Documents spec, you’ve undoubtedly seen the warnings about HTML5 features being experimental, and to use them with caution. Caveat emptor and all that…
Did you ever skip on over to the HTML 5.0 spec and have a look at what features those were? Did you use them with caution? (Everyone follows specs to the letter of the law, right?)
If not, as the 5.0 revision winds down you might have missed the various features that have recently been pushed out. If you liked the
summary elements, for example, you’re waiting for HTML 5.1 now for official status.
So where does that leave the world of EPUB 3?
Before getting too deep, here’s the list of features that were most recently at risk for removal:
<command>and commands API
<menu>and context menus feature (“
- Application Cache
- Custom scheme and content handlers (registerProtocolHandler and registerContentHandler)
- Outline algorithm
- UA mechanism for navigating to resources linked to in cite=””
hgroup element was shifted out of the core HTML specification last spring, if I still remember time right, but a recent culling of the other features took place in April.
Gone from 5.0 is everything in the above list except the outline algorithm and the “time” input type (still at risk), and the outline algorithm itself only exists as a theory not something to use in real HTML markup. (Adding to the fun is that the
ruby is now listed at risk, too!)
hgroup, though, these features have been punted for to HTML 5.1, so they’re not really “gone” gone.
It’s probably unlikely that many of these elements and attributes have seen wide usage, either — since they’re removed for lack of implementation support — but
summary is a pair that’s been growing in use, especially in cases where you want the reader to have the option of viewing but don’t want to rely on EPUB’s uncertain scripting support (granted, it’s not the most semantically meaningful tag pair ever created, but sometimes solutions come in awkward packages). Scoped styles are kind of nice, too, and even found their way into the Open Annotation in EPUB spec as a means of styling annotation fragments. (Oops!)
So what does it mean that these features are no longer in HTML 5.0?
That’s the interesting question. There’s not really a lot of concern that browser vendors will drop the support they do have just because these features didn’t meet a W3C spec timeline, but at the same time it makes their use non-conformant in any pure adoption of HTML 5.0.
And that’s where things get fun, as EPUB 3 doesn’t automatically transition to the latest and greatest HTML version automatically. It’s rooted in 5.0 right now.
Because the rendering engines aren’t going to drop support, you don’t have to worry that the features you’ve used are suddenly going to go belly up in reading systems, but the sticky wicket is going to be epubcheck and vendors. Will epubcheck hammer you with invalid content errors, or will less strict validation perhaps save the day? Will vendors be as strict in what they accept, and what to do if they are?
I don’t know that this scenario was anticipated during the 3.0 revision — where we’d have features in 5.0 not dropped outright but punted forward to another revision. The
switch element was modified to handle the scenario where new features were introduced post-5.0, for example, but there’s nothing for the “it did exist, but isn’t valid now, but exists in the next iteration” scenario.
The (still rumoured) 3.1 revision coming this fall might be an opportunity to look at updating to HTML 5.1, as I gather it’ll probably be looking at dropping the X from the current HTML requirement. But that still leaves the in-between time.
So do I have an answer? Nope.
Only a warning that the uncertainty has become certainty, and it remains to be seen how epubcheck, vendors, the EPUB working group and any other gatekeepers will handle this newfound invalidity.