Navigating EPUB CFIs – Part 1


It’s not a topic I grew up dreaming of writing about one day, but it seems like a useful topic to cover, since questions about how to read them come up from time to time (see this recent thread on CFIs in the IDPF forums). I squeezed a quick explanation of them into the Best Practices book, but I had to keep it short, so maybe I can do better justice to them here.

I will say that the specification can be much more daunting to read than CFIs actually are, but that’s not an indictment of the specification. It’s just that CFIs are one of the more technically complex features that were included in EPUB 3.

But let’s start at the beginning: what is a “CFI”?Continue Reading Navigating EPUB CFIs – Part 1

What’s an Editor?

The editor of a specification can mean many things to many people, so considering that I’m starting ramble on about EPUB here, and we have a new revision revving up, it might be worth clarifying what I do… while sitting in my pyjamas all day.

Working as the editor of the EPUB specs doesn’t put me in a position of authority over the format, to make that clear right off the bat. I don’t have decision making power over what the working group decides to implement, or any kind of veto: the benign dictator editor label does not apply.Continue Reading What’s an Editor?

Get Rich… Soon

With the EPUB 3.0.1 revision kicking into gear this week, I thought I’d do a quick review of what’s on the table, at least at the outset.

(Note that nothing cited in this post is guaranteed to be included in 3.0.1 until it’s in the final recommendation, so don’t quote my ramblings as authoritative!)

The most exciting new feature to me, as a data freak, is the potential inclusion of RDFa lite and microdata for enriching content. (I know I opened the issue, but I still think it’s exciting!)Continue Reading Get Rich… Soon

Anchors Away!

In the EPUB accessibility guidelines, we’ve noted the use of span and div tags for representing page breaks/numbers, but another common question is why not the good old a tag?

The simple answer is that HTML5 does not define named anchor points any more, so it’s no longer kosher to (ab)use a tags as a place to jump people to (a la <a name="page32"/>). If you want a jump destination, put an id attribute on an element, which is not coincidentally how span and div are defined in the guidelines for page breaks (and in the content documents specification, for that matter).

But if you’re thinking why not just <a id="page32">32</a> instead, I have more for you!Continue Reading Anchors Away!

Use Your Headings

A question I get asked a lot is why numbered headings matter in EPUB. HTML5 defined a fancy new algorithm that can correct your headings after all, right? (Albeit in weird and wonderful ways if you don’t follow every nuance!)

The answer to the HTML5 question I’ll get to, but I can never seem to stress enough that getting headings right in your documents is a key component of their overall accessibility. There are two primary ways that readers will move through your ebook at the markup level (or DOM/accessibility tree level, to be specific).

One method is the table of contents, but while it provides the structure of the document, constantly having to open it to move a section or two ahead or back is not the most user-friendly approach to navigation.Continue Reading Use Your Headings

Math is hard? Writing is harder…

I’ve finally had a chance to recover from EPUB 3 Best Practices now, so figured it’s time to talk a bit about it. But don’t worry, I’m not going to flog the book. Everyone’s quite adept at deciding for themselves what they want to read.

I wrote on LinkedIn back when it came out in January that it was a long time coming, so I thought I’d pick up on that as a real first post for the site. The writing process actually began for me back in the summer of 2011, when I was asked to write the introductory piece What is EPUB 3? When I think that it was a year and a half from that piece being released to the release of the best practices guide, it would have taken less time to have a kid, which I happen to have coming soon, too. (There’s my shameless plug for the post.)Continue Reading Math is hard? Writing is harder…