Summary
Include a page list so users of digital publications can coordinate their position with a statically paginated equivalent.
Techniques
- Include a page list when a publication has statically paginated equivalent. [[WCAG-2.4.5]]
Examples
The page list is a simple ordered list of links to the page break locations. It is identified
by the epub:type
attribute value page-list
.
Note that the page list includes the hidden
attribute so that the list is
not presented to users if the table of contents is also included in the spine.
An ARIA role
attribute (see the next example) is not necessary if the
page list is always hidden from users or the EPUB navigation document is not included in the spine.
<nav epub:type="page-list" hidden="hidden">
<ol>
<li><a href="georgia.xhtml#page752">752</a></li>
<li><a href="georgia.xhtml#page753">753</a></li>
<li><a href="georgia.xhtml#page754">754</a></li>
<li><a href="georgia.xhtml#page755">755</a></li>
<li><a href="georgia.xhtml#page756">756</a></li>
<li><a href="georgia.xhtml#page757">757</a></li>
<li><a href="georgia.xhtml#page758">758</a></li>
</ol>
</nav>
A page list for use on the Web generally is identified by the role
attribute
value doc-pagelist
. The aria-label
attribute is used to provide
a title for the navigation element, but an explicit heading can also be used (refer to the
second nav
element).
<nav role="doc-pagelist" aria-label="Page list">
<ol>
<li><a href="georgia.xhtml#page752">752</a></li>
<li><a href="georgia.xhtml#page753">753</a></li>
…
</ol>
</nav>
<nav role="doc-pagelist" aria-labelledby="pg-hd">
<h2 id="pg-hd">Page List</h2>
<ol>
<li><a href="georgia.xhtml#page752">752</a></li>
<li><a href="georgia.xhtml#page753">753</a></li>
…
</ol>
</nav>
The page list in EPUB 2 and DAISY 3 publications is expressed using a custom XML grammar called the NCX.
<?xml version="1.0" encoding="UTF-8"?>
<ncx xmlns:ncx="http://www.daisy.org/z3986/2005/ncx/"
xmlns="http://www.daisy.org/z3986/2005/ncx/"
version="2005-1" xml:lang="en">
…
<pageList>
<navLabel>
<text>Pages</text>
</navLabel>
<pageTarget type="normal" id="page752" value="752" playOrder="1">
<navLabel>
<text>752</text>
</navLabel>
<content src="georgia.xhtml#page752"/>
</pageTarget>
<pageTarget type="normal" id="page753" value="753" playOrder="2">
<navLabel>
<text>753</text>
</navLabel>
<content src="georgia.xhtml#page753"/>
</pageTarget>
…
</pageList>
</ncx>
Frequently Asked Questions
- How should I order the links the page list?
-
There is currently no requirement on how to order the links in the page list. A common technique is to order the links numerically, but sometimes the order of the content in the digital publication does not match the order in the physical (e.g., sometimes the publisher might move front matter to the back). Some EPUB creators prefer to order the page list to match the digital content in these cases.
- Does a publication with a page list have to have page break markers?
-
A page list may be included in a digital publication that does not have page break markers, but this practice tends to be rare and is often not very helpful for users. An example would be a page list that only links to the first page of each chapter. The page list could link to the chapter headings instead of having a page break marker. But since the table of contents would already provide access to each chapter, this approach has limited use.
Explanation
If a reflowable publication is derived from a statically paginated source, such as a print edition, including a page list allows users to coordinate positions. For example, a student using a digital edition in a class where her peers are using print books would be able to jump to the same pages during instruction.
The page list itself is a list of links to all the page break locations. User agents can use this list to provide automatic page jump functionality, or a user can access it directly to manually select the page they wish to go to.
In EPUB 3, the page list is expressed in a page list nav element in the navigation document. This element is essentially a flat list of links to each page break location.
<nav epub:type="page-list">
<ol>
<li><a href="chapter01.xhtml#page1">1</a></li>
<li><a href="chapter01.xhtml#page2">2</a></li>
…
</ol>
</nav>
In EPUB 2, a page list is expressed using the
pageList
element in the NCX file. (See example 2.)
Related Links
- HTML — The
nav
element - EPUB 3 — The
page-list nav
Element - EPUB 2 —
pageList
element