DAISY to EPUB Migration

It’s the oft asked question: if EPUB is the future of accessible digital reading, when should I migrate?

The easy part is asking the question, the hard part is giving a meaningful answer. I know I don’t have a perfect one to offer up, as a lot of what is most impressive about EPUB is still not implemented at this point. But there are other reasons that make the transition a challenge beyond feature support in reading systems.
Continue Reading DAISY to EPUB Migration

Nav to NCX

I’ve been porting over the content I used to have on the cdata site today, so for a taste of programming (which it seems like I rarely get to do anymore) I made the XSLT style sheet I wrote ages ago to convert an EPUB 3 navigation document into an NCX into a live form.

Feel free to use it, but I guarantee nothing…

It’s also reachable under the Odds ‘n Ends section.

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

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