要約

各ドキュメントにリニアコンテンツが含まれているか非リニアコンテンツが含まれているかを識別し、読み上げ順序が論理的であることを確認した上で、コンテンツ ドキュメントを順序付けしたものをEPUBのspineに指定します。

テクニック

例1 — 表紙を非リニアとして含める

この例では、リーディングシステムが表紙を最初の文書として提示する必要がないため、表紙は非リニアとしてマークされています。

<package …>
   …
   <spine>
      <itemref idref="cover" linear="no"/>
      <itemref idref="title"/>
      <itemref idref="toc"/>
      <itemref idref="intro"/>
      <itemref idref="c01"/>
      <itemref idref="c02"/>
      …
   </spine>
</package>
例2 - 個別の説明ファイルを含める

画像の説明は非リニアとしてマークされ、章の合間に出てこないようにspineの最後に含まれています。

<package …>
   …
   <spine>
      …
      <itemref idref="appendix-03"/>
      <itemref idref="desc-01" linear="no"/>
      <itemref idref="desc-02" linear="no"/>
      <itemref idref="desc-03" linear="no"/>
      <itemref idref="desc-04" linear="no"/>
      <itemref idref="desc-05" linear="no"/>
      …
   </spine>
</package>

よくある質問

リーディングシステムは、出版物のページをめくるときに、非リニアコンテンツを読者から隠しますか?

いいえ、EPUB 仕様では非リニアコンテンツをレンダリングする特定の方法が規定されていないため、リーディングシステムが非リニアとしてマークされたコンテンツを非表示にするかどうかは分かりません。2つの章の間に非リニアドキュメントを配置すると、ユーザーが手動で出版物のページをめくったときにそのコンテンツに遭遇することがあります。

一部のリーディングシステムは非リニアドキュメントを無視し、ユーザーがリンクをクリックした場合にのみレンダリングしますが、このような動作は普遍的ではありません。

解説

Spineの順序

EPUB パッケージ ドキュメントのspine要素は、出版物内のドキュメントの順序を定義します。リーディングシステムはこの要素を使用して、現在ユーザーが読んでいる次のドキュメントを特定します。

spine は1 つ以上のitemref要素で構成され、各要素はmanifest内の項目を参照します。itemrefidref属性は次の例に示すように、レンダリングするマニフェスト項目の特定の ID を提供します。(値は URL ではなく ID 参照であるため、参照の先頭にハッシュ (#) がないことに注意してください。)

<package …>
   …
   <manifest>
      …
      <item id="c01"
            href="xhtml/chapter01.xhtml"
            media-type="application/xhtml+xml"/>
      …
   </manifest>
   <spine>
      …
      <itemref idref="c01"/>
      …
   </spine>
</package>

通常、読者はEPUB出版物がspine内の複数の文書から構成されていることを知りません。リーディングシステムは読者にこの事実を明らかにせず、読者がある文書の最後に到達すると、spineを調べ、次のページを読み込み、自動的に次のページに進みます。

主要なコンテンツ ドキュメントをすべてspineから参照することは非常に重要であり、これらのドキュメントを順序付けて、出版物の主要な内容を論理的な順序で提示しなければなりません。ドキュメントの順序が間違うことはあまり発生しませんが、編集や改訂の際に生じる可能性があります (新しい章やセクションを挿入した場合など)。このような場合に、ドキュメントの順序が間違っていたり、ドキュメントが1つ欠けていたりすると、すべての読者が混乱します。そのため、これはアクセシビリティの問題というよりも、一般的なユーザビリティの問題です。

リニアコンテンツ

リニア コンテンツ ドキュメントとは、著者がユーザーに順番に読んでもらうことを想定しているドキュメントです。第 1 章の次は第 2 章、第 3 章、というように続きます。リニアな読み上げ順は、出版物の主な流れを表します。

読者はリニア文書を順番に読みますが、非リニア文書についてはそのように読む必要はありません。非リニア文書の例としては、解答集があります。読者は、対応する設問を含む章の後で解答集を見直したいかもしれませんし、本の最後まで待ってから解答を確認したいかもしれませんし、あるいは、まったく興味がないかもしれません。つまり、コンテンツ製作者がspineとして挿入した解答を読むことは必須ではないのです。

非リニアコンテンツ ドキュメントは、次の例に示すように、 itemref要素に値noを持つlinear属性を追加することによって識別されます。

<itemref
    idref="answers-01"
    linear="no"/>

注記

リーディングシステムは、 linear属性のないitemref要素がリニアコンテンツ ドキュメントを表すと想定するため、EPUB 出版物でlinear="yes"が設定されていることはほとんどありません。

非リニアコンテンツをspineに配置すると、コンテンツの読みやすさにいくつかの問題が生じます。すべてのリーディングシステムが非リニアコンテンツを同じように処理するわけではないため、コンテンツ製作者はリーディングシステムがそのコンテンツをユーザーにどのように表示するかは想定できません。リーディングシステムは、そのようなコンテンツをspineに配置されている場所に表示する場合と、そうではない場合があります。

したがって、非リニアコンテンツに関する懸念事項は、その性質や目的がそれ自体で明確であるかという点です。読者がリンクをたどって非リニアコンテンツに到達したとき、その目的を知っているとは限らないのです。

例えば、解答集の場合、ファイルの見出しで設問に対する解答が始まることを示すようにします。画像による説明を別の非リニアファイルに配置する場合は、画像による説明が何を説明するものなのかを明確になるようにします。

非リニアコンテンツのもう 1 つのオプションは、リニアの読書体験への影響が最も少ない場所に配置することです。たとえば、画像の説明とポップアウト画像をspineのすべてのリニアコンテンツの後に配置できます (例 2を参照)。 spineの最後に配置することは、コンテンツを適切に説明できない場合に特に便利です。たとえば、画像の拡大バージョンには、明示的なキャプションが適さない場合があります。

注記

EPUB 3の非リニアコンテンツ要件は、EPUB 2とは1つの重要な点で異なります。コンテンツ製作者はspineにすべての非リニアドキュメントへのリンクを含めなければならないという点です。この要件により、手動で出版物のページをめくっているときにリーディングシステムが非リニアコンテンツをレンダリングするかどうかに関係なく、読者が非リニアコンテンツにアクセスできるようになります。

ほとんどの場合、コンテンツ製作者はリニアコンテンツからリンクされていない非リニアコンテンツを含めないことが一般的であるため、この要件を満たすのは困難ではありません。既知の問題の1つは、spineに非リニアの表紙を含めることです (例 1を参照)。このドキュメントへのリンク要件を満たすには、 landmarks navに表紙へのリンクを含めます。

関連リンク