Technique H99:Provide a page-selection mechanism
About this Technique
This technique is not referenced from any Understanding document.
This technique applies to digital publications derived from a fixed layout source or that include static page break locations to enable common points of reference.
User agents may provide a specialized interface to the page list rather than render it directly, especially in ebook formats. Users might be presented with an input box into which to enter the page number they wish to go to, for example.
Description
The objective of this technique is to ensure that a page-selection mechanism is provided that makes available programmatically all set page locations in the digital publication.
The page-selection mechanism provides a way to locate static page break locations (i.e., where each new page begins) within a digital publication. These locations typically come from a print equivalent of the edition and allow synchronization in, for example, a mix of print and digital publications in environments such as schools and universities.
The source of pagination is not limited to print but could match up to any statically paginated alternative, such as a PDF or even a fixed-layout EPUB (i.e., where the content does not reflow to fit the available screen size).
The order of the page break locations in a digital publication is not sequential in all cases, and not all page breaks may be represented. Publishers often rearrange and remove content from the paginated source content when creating a digital version.
Page lists are a central feature of many digital publishing formats. EPUB 3 defines the page list in its navigation document while EPUB 2 and DAISY 3 use the pageList element in the NCX. The DPUB-ARIA module also includes a doc-pagelist
role for identifying the navigation element containing the page list.
Other publications provide a means of page navigation through a 'go to' mechanism.
Examples
Example 1: Page list in HTML publications
To add a page list to a web-based document, the role "doc-pagelist"
is added to the element (typically a nav
element) that encloses the list and its title.
<nav role="doc-pagelist" aria-labelledby="pglist">
<h2 id="pglist">Page List</h2>
<ol>
<li><a href="intro.xhtml#pg1">1</a></li>
<li><a href="intro.xhtml#pg2">2</a></li>
…
</ol>
</nav>
The destinations of the page list links are usually explicit page break markers like the following:
<span id="pg1" role="doc-pagebreak" aria-label="page 1">
Example 2: Page list in EPUB 3 publications
EPUB 3 uses the epub:type
attribute to identify the page list in the navigation document. The attribute is used on a nav element with the value "page-list" (note the different hyphenation). The ARIA role
attribute has no effect unless the navigation document can be directly accessed by users (i.e., the document is in the EPUB spine). Like the previous HTML example, the contents of the nav
element is a list of links to the page break locations.
<nav epub:type="page-list" role="doc-pagelist" aria-labelledby="pglist">
<h2 id="pglist">Page List</h2>
<ol>
<li><a href="chapter01.xhtml#page001">1</a></li>
<li><a href="chapter01.xhtml#page002">2</a></li>
<li><a href="chapter01.xhtml#page003">3</a></li>
...
</ol>
</nav>
Example 3: Page list in EPUB 2 and DAISY publications
The EPUB 2 and DAISY 3 formats both use an XML grammar called the NCX for expressing navigation aids. The page list is defined within the ncx
element using the pageList tag. Each pageTarget
within this element identifies a page break, providing both a label and a destination.
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/"
version="2005-1"
xml:lang="en-US">
...
<pageList>
<pageTarget id="p1" type="normal" value="1">
<navLabel><text>1</text></navLabel>
<content src="content.html#p001"/>
</pageTarget>
<pageTarget id="p2" type="normal" value="2">
<navLabel><text>2</text></navLabel>
<content src="content.html#p002"/>
</pageTarget>
</pageList>
</ncx>
Example 4: Go to page mechanism
A mechanism provides the ability to enter a page number as an input and reposition the user to the matching target page location.
Related Resources
No endorsement implied.
Tests
Procedure
- Check that a page-selection mechanism exists in the publication.
- Check that all the static page break locations in the publication are represented in the selection mechanism.
- Check that the entries in the page-selection mechanism link to the correct location in the publication.
Expected Results
- #1, #2 and #3 are true.