This page sketches out our expected approach to tackling EPUB documents in AxAp.


EPUB is a complex, moving target. It uses a plethora of HTML tags and attributes, many of which are not supported by typical web browsers and screen readers. It also uses XML files to encode metadata and navigation information; these will generally be ignored by browser/reader stacks. Finally, each document's use of EPUB will vary, depending on which version (and features) it uses.

AxAp's challenge is to turn typical EPUB documents' web content into something that popular browser/reader stacks can handle. However, we aren't trying to solve every problem at once. So, once we have minimal capabilities, we can assess the situation and tackle problems based on importance, urgency, and tractability.


Existing EPUB Readers will be a valuable resource. By analyzing and comparing their behavior, we can decide how AxAp should behave. We can detect problems using sample documents, then create and use minimal test cases to focus on specific issues.

Most web browsers contain powerful debugging support, allowing code (e.g., JavaScript) and markup (e.g., CSS, HTML, SVG) to be examined, modified, and tested. However, the accessibility of this support may be limited or nonexistent. So, we need to assess our "working set" of browsers, using the best ones and filing bug reports on the others.

AxAp can and should provide its own debugging support for EPUB. For example, the "Meta" page will present harvested metadata in a human-friendly format. We may also be able to add EPUB-specific interactive features.

To be continued...

This wiki page is maintained by Rich Morin, an independent consultant specializing in software design, development, and documentation. Please feel free to email comments, inquiries, suggestions, etc!

Topic revision: r2 - 31 Oct 2016, RichMorin
This site is powered by Foswiki Copyright © by the contributing authors. All material on this wiki is the property of the contributing authors.
Foswiki version v2.1.6, Release Foswiki-2.1.6, Plugin API version 2.4
Ideas, requests, problems regarding CFCL Wiki? Send us email