Skip to content

Technique H99:Provide a page-selection mechanism


Content structured in HTML.

This technique is not referenced from any Understanding document.


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.


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>
   <li><a href="intro.xhtml#pg1">1</a></li>
   <li><a href="intro.xhtml#pg2">2</a></li>

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>
      <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>

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=""
      <pageTarget id="p1" type="normal" value="1">
         <content src="content.html#p001"/>
      <pageTarget id="p2" type="normal" value="2">
         <content src="content.html#p002"/>

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.



  1. Check that a page-selection mechanism exists in the publication.
  2. Check that all the static page break locations in the publication are represented in the selection mechanism.
  3. 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.
Back to Top