テクニック H99:ページ選択メカニズムを提供する
このテクニックについて
このテクニックは、どの解説書からも参照されていない。
このテクニックは、固定レイアウトのソースから派生したか、又は共通の参照ポイントを提供するために静的な改ページ位置を含むデジタル出版物に適用される。
ユーザエージェントは、特に電子書籍形式の場合、ページリストを直接レンダリングするのではなく、専用のインタフェースを提供する場合がある。例えば、利用者が移動したいページ番号を入力するための入力ボックスが提示される場合がある。
解説
このテクニックの目的は、デジタル出版物内の全ての設定されたページ位置をプログラムで利用できるようにするページ選択メカニズムを確実に提供することである。
ページ選択メカニズムは、デジタル出版物内の静的な改ページ位置 (つまり、それぞれの新しいページの開始位置) を特定する方法を提供する。この位置は通常、印刷版に相当するものに由来し、例えば学校や大学などの環境において、印刷版とデジタル版が混在する場合の同期を可能にする。
ページ番号のソースは印刷物に限定されるものではなく、PDF や固定レイアウト EPUB (つまり、コンテンツが利用可能な画面サイズに合わせてリフローしないもの) など、静的にページ番号が付けられた代替手段と一致する可能性がある。
デジタル出版物内の改ページ位置の順序は、全てのケースで連続しているわけではなく、全ての改ページが表現されるとは限らない。出版社は、デジタル版を作成するときに、ページ番号が付けられたソースコンテンツからコンテンツを再配置したり削除したりすることがよくある。
ページリストは、多くのデジタル出版フォーマットの中心的な機能である。 EPUB 3ではナビゲーションドキュメント内でページリストを定義しているが、EPUB 2 及び DAISY 3 では NCX の pageList 要素を使用している。DPUB-ARIA module はまた、ページリストを含むナビゲーション要素を識別するための doc-pagelist
ロールも含んでいる。
その他の出版物では、'go to' メカニズムを通じてページナビゲーションの手段を提供している。
事例
事例 1: HTML 出版物のページリスト
ウェブベースのドキュメントにページリストを追加するために、リスト及びそのタイトルを囲む要素 (通常は nav
要素) に "doc-pagelist"
ロールを追加する。
<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>
ページリストリンクのリンク先は通常、次のような明示的なページ区切りマーカーである:
<span id="pg1" role="doc-pagebreak" aria-label="page 1">
事例 2: EPUB 3 出版物のページリスト
EPUB 3では、ナビゲーションドキュメント内のページリストを識別するために epub:type
属性を使用する。この属性の値を "page-list" とし (ハイフネーションが異なることに注意)、nav 要素において使用する。ARIA role
属性は、利用者がナビゲーションのドキュメントに直接アクセスできない場合には、効果がない (つまり、そのドキュメントが EPUB の spine 内にある場合)。前の HTML の例と同様に、nav
要素の内容は改ページ位置へのリンクのリストである。
<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>
事例 3: EPUB 2 及び DAISY 出版物のページリスト
EPUB 2 と DAISY 3 の両フォーマットは、ナビゲーション補助を表現するために NCX と呼ばれる XML 文法を使用している。ページリストは、ncx
要素内の pageList タグを使用して定義される。この要素内の各 pageTarget
は改ページを識別し、ラベルと移動先の両方を提供する。
<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>
事例 4: Go to ページメカニズム
ページ番号を指定して入力すると、一致するターゲットページの場所に利用者を移動させる機能を提供するメカニズムがある。
関連リソース
推奨を意味するものではない。
検証
手順
- 出版物内にページ選択メカニズムが存在するかどうかをチェックする。
- 出版物内の全ての静的改ページ位置が選択メカニズムに表示されているかどうかをチェックする。
- ページ選択メカニズムのエントリが出版物内の正しい位置にリンクしているかどうかをチェックする。
期待される結果
- 1、2 及び 3 が真である。