EPUBs with accessibility tests for reading systems
The latest versions of the books are available via this ODPS feed.
They are also listed on epubtest.org, where they are fully incorporated into the testing methodology.
And, they are available on this repository’s releases page.
The EPUB sources are organized like this:
content/epub30-test-0301/
: Basic Functionality (ISBN 9781003410126)content/epub30-test-0302/
: Non-Visual Reading (ISBN 9781003410119)content/epub30-test-0303/
: Visual Adjustments (ISBN 9781003410133)content/epub30-test-0304/
: Read Aloud (ISBN 9781003410140)content/epub30-test-0320/
: Media Overlays (ISBN 9781003410157)content/epub30-test-0330/
: Math (longer book, not on epubtest.org)content/epub30-test-0340/
: Extended Descriptions (longer book, not on epubtest.org)content/epub30-test-0350/
: Extended Descriptions (basic)content/epub30-test-0360/
: Math (basic)Set the location of your EPUBCheck jar, e.g.
export EPUBCHECK=/Users/marisa/Downloads/epubcheck-4.2.0-rc/epubcheck.jar
Or copy example.env
as .env
and set the environment variable there.
Run build-all.sh
to run epubcheck and build EPUB files. The output appears in the build
directory, named after the EPUB title plus the version number.
If you just need to build one book, run build-one.sh foldername
where foldername
is the directory containing the EPUB fileset for that book.
Full example (building one book):
export EPUBCHECK=/Users/marisa/Downloads/epubcheck-4.2.0-rc/epubcheck.jar; ./build-one.sh ./content/epub30-test-0330
Use EPUB
, not OEPBS
, for the content directory, if you want to use the included build script.
dc:title
, e.g.
<dc:title>title</dc:title>
dc:subject
, e.g.
<dc:subject>media-overlays</dc:subject>
<dc:language>fr</dc:language>
. Supported languages are:
<meta property="schema:version">1.0.0</meta>
<dc:identifier id="uid">com.github.epub-testsuite.epub30-test-0330-1.1.2</dc:identifier>
All tests must have an entry in the navigation document. The entry must be a list item with class='test'
and it must contain a link, e.g.
<li class="test"><a href="content.xhtml#test-id">Test Name</a></li>
If you need to create an entry for something that is not a test, don’t include class='test'
on it, e.g.
<li><a href="supplement.xhtml">Supplemental Content</a></li>
Each test must be formatted exactly as:
<section id="TEST-ID" class="test">
<h2><span class="test-id">TEST-ID</span> <span class="test-title">TEST TITLE</span></h2>
<p class="desc">TEST DESCRIPTION</p>
<p class="eval">EVALUATION INSTRUCTIONS</p>
</section>
For example:
<section id="file-010" class="test">
<h2><span class="test-id">file-010</span> <span class="test-title">Operating system/Platform accessibility:</span></h2>
<p class="desc">If you are using a hardware device, it can be started independently and essential accessibility for starting and exiting applications is available.</p>
<p class="eval">Indicate Pass or Fail.</p>
</section>
The version number is formatted as MAJ.MIN.PATCH. The rules for how to use each are:
MAJ: Implies big changes, so use sparingly. At the moment, changes to MAJ or MIN both result in the epubtest.org ingestion system seeing the version as “new” and will list results for older version numbers as being out of date.
MIN: Same effect as MAJ but implies changes of a less drastic nature.
PATCH: For non-breaking changes. E.g. a French book that has version 1.2.4 is treated as being as recent as an English book with version 1.2.3. PATCH is useful for when you make a change that doesn’t affect testing.