Another advantage of this attribute is that it allows you to selectively decide how to hide rendering. For example, if your leveling changes from section to section, you aren’t locked into a single “nothing below level 3” approach to tailoring your content. Only the ordered lists you attach the attribute to are hidden from view.

Before turning to the other types of navigation lists you can include in the navigation document, there is one additional accessibility requirement to note. Since the a and span elements allow all HTML5 inline content, you need to remember not to assume that their content will always be rendered visually. Or, more to the point, to remember that your entries might not voice properly if they include images or MathML or similar.

If the prose you include will present a challenge to voice playback, you need to include a title attribute with an equivalent text rendition to use instead:

<li><a href="chapter001.xhtml#pi" title="The life of pi">The Life of π</a></li>

Some assistive technologies might voice the pi character in this example as the letter “p”, for example, which might make sense in a biology book but would be an awkwardly confusing title to announce in a math book.

But to move on from the primary table of contents, there are other ways to help readers navigate your document that are also a benefit to all. The landmarks nav, for example, can provide quick access to key structures. These can be whatever you want, but jumping to the index, glossaries, and other back matter elements are common tasks the readers may want to perform many times while reading. Think of it like a kind of bookmark list to key structures:

<nav epub:type="landmarks">
    <h1>Guide</h1>
    <ol>
        <li>
            <a epub:type="toc" href="contents.xhtml#toc">
                Table of Contents
            </a>
        </li>
        <li>
            <a epub:type="bodymatter" href="chapter001.xhtml#bodymatter">
                Start of Content
            </a>
        </li>
        <li>
            <a epub:type="glossary" href="glossary.xhtml#gloss">
                Glossary
            </a>
        </li>
        <li>
            <a epub:type="index" href="index.xhtml#idx">
                Index
            </a>
        </li>
    </ol>
</nav>

You’ll notice that, unlike the table of contents example, the a tags have epub:type attributes attached to them to provide machine-readable semantics. The epub:type attribute is required on all links in the landmarks navigation list. The additional semantics are there to help facilitate quick-link options in reading systems so that the landmarks list doesn’t have to be opened and navigated manually each time (e.g., a dedicated reading system option to jump to the index).

We touched on the need for page lists in the last section, so I’ll only note that a page-list nav should be included if the ebook is part of a dual print-digital workflow: