Accessible Publishing Knowledge Base

Table of Contents

Summary

...

Techniques

Examples

Example 1 — Re-using the nav toc by including it in the spine
<package …>
   …
   <manifest>
	  …
	  <item id="htmltoc"
	  		properties="nav"
	  		media-type="application/xhtml+xml"
	  		href="bk01-toc.xhtml"/>
	  …
   </manifest>
   …
   <spine>
	  …
	  <itemref idref="htmltoc" linear="yes"/>
	  …
   </spine>
</manifest>

See in context in Accessible EPUB 3 package file

Example 2 — Adding a table of contents to the publication body
<section epub:type="toc">
   <h1>Table of Contents</h1>
   <nav id="toc">
	  <ol class="toc">
		 <li>
			<a href="ch01.xhtml">1. Introduction</a>
		 </li>
		 <li>
			<a href="ch02.xhtml">2. Building a 
			   Better EPUB: Fundamental
			   Accessibility</a>
		 </li>
		 <li>
			<a href="ch03.xhtml">3. It’s Alive:
			   Rich Content Accessibility</a>
		 </li>
		 <li>
			<a href="ch04.xhtml">4. Conclusion</a>
		 </li>
	  </ol>
   </nav>
</section>
Example 3 — A mini table of contents at the start of a section
<section>
   <header>
	  <h2>
		 3. It’s Alive: Rich Content Accessibility
	  </h3>
	  <nav id="toc">
		 <ol>
			<li>
			   <a href="#s01">The Sound and 
			   the Fury: Audio and Video</a>
			</li>
			<li>
			   <a href="#s02">Talk to Me: 
			   Media Overlays</a>
			</li>
			<li>
			   <a href="#s03">Tell It Like 
			   It Is: Text-to-Speech (TTS)</a>
			</li>
			<li>
			   <a href="#s04">The Coded Word:
			   Scripted Interactivity</a>
			</li>
			<li>
			   <a href="#s05">A Little Help:
			   WAI-ARIA</a>
			</li>
			<li>
			   <a href="#s06">A Blank Slate:
			   Canvas</a>
			</li>
		 </ol>
	  </nav>
   </header>
   …
</section>

Explanation

Although the EPUB navigation document provides navigation capabilities for the publication as a whole, embedding tables of contents within the body can further facilitate comprehension and navigation (e.g., a table of contents in the front matter or a reduced table of contents or mini tables of contents at the start of each section).

If you embed other tables of contents in the body of your publication, try to construct them in the same way as the navigation document — using the nav element and ordered lists. Lists simplify access as assistive technologies typically provide hotkeys to move through them more effectively.

Samples

The EPUB Samples Project contains the following publications that include embedded tables of contents:

References

Frequently Asked Questions

Do I have to use the navigation document in the body?

No, it's just a convenience. If the navigation document format is too restrictive or otherwise not conducive to your needs, you can create your own for the body. As a table of contents in the body is not explicitly an accessibility aid, you have greater freedom to lay it out how you need. Maintaining an accessible structure to it is still recommended, however.