この文書は「EPUB Content Documents 3.1」の日本語訳である。最新の文書は https://www.w3.org/Submission/epub-contentdocs/ である。原文もしくは完全な情報は、EPUB Content Documents 3.1 を参照されたい。
この日本語訳は参考である。公式な文書ではなく、翻訳・解釈の正確性を保証していない。
Copyright © 2017 . This document is available under the W3C Document License. See the W3C Intellectual Rights Notice and Legal Disclaimers for additional information.
EPUB Content Documents 3.1 は、構造化され、構成可能及びアクセシブルなドキュメントの表現に最適化された HTML、SVG、CSS の使用方法を規定する。
このセクションは、発行時点におけるこのドキュメントのステータスについて説明する。他のドキュメントは、このドキュメントより優先されるだろう。現在の W3C 発行物のリストは、https://www.w3.org/TR/ の W3C テクニカル レポート インデックスにある。
このドキュメントを発行することで、W3C は、サブミッション メンバーが議論のために W3C へ正式な提案リクエストを行ったことを承認する。W3C がこのドキュメントを発行したことは、W3C によってその内容の承認、または W3C がそれによって扱われる問題に何らかのリソースを割り当てている、または持っていることを示していない。このドキュメントは、公認の W3C グループの成果物ではなく、W3C プロセスへの潜在的なインプットとして発行された。W3C チーム コメントは、このメンバー サブミッションと共に合同で発行されている。W3C サイトで承認されたメンバー サブミッションを発行することは、W3C メンバーシップの利点のひとつである。W3C 特許ポリシーのセクション 3.3 のメンバー サブミッションに関連する要件を参照されたい。完全な承認された W3C メンバー サブミッションのリストを参照されたい。
このセクションは規定ではない。
この仕様、EPUB Content Documents 3.1 は、EPUB® Publications のコンテクスト内で使用するための HTML、SVG、CSS のプロファイルを定義する。
この仕様は、[EPUB 3.1] を構成する仕様群のひとつである。EPUB 3 は XML や Web 標準に基づいたデジタル出版物のやり取りや配信形式である。この仕様は EPUB 3.1 を構成する他の仕様と共に読み、理解することになっている。
この仕様と前身の違いについての情報は [EPUB3 Changes] を参照されたい。
このセクションは規定ではない。
この仕様は、W3C [HTML] の特定のバージョンを参照しないが、その代わり、常に最新の勧告を指す日付なしの参照を使用する。このアプローチは、EPUB が常に HTML 規格の変更のペースを維持することを保証する。製作者とリーディング システムの開発者は、HTML の変更を追跡し続け、それらのプロセスやシステムが常に最新の状態に保たれていることを保証する必要があるだろう。
HTML の進化によって、以前のバージョンでは有効だった機能が、非推奨(Obsolete)や取り除かれる可能性がある。IDPF は、製作者のために最小限の混乱を保証するために、そのような変更を慎重に行うことを W3C に期待しているが、後方互換性のない版の場合は、日付のない参照の使用は見直されるかもしれない。
この仕様によって定義された XHTML プロファイルは、他の仕様がない限り、[HTML] が提供するセマンティクスや構造、処理動作の全ての定義を継承する。
さらに、この仕様は、製作者によって XHTML コンテンツ ドキュメントに包含できる W3C HTML 文書モデルの拡張セットを定義をする。
この仕様は、スクリプトや HTML フォームもしくは HTML DOM のサポートを EPUB リーディング システムに要求しない。この仕様に準拠した リーディング システムは、適合した EPUB コンテンツ ドキュメントを処理することのみ期待される。スクリプトや HTML フォームのサポートが強制ではないように、適合したリーディング システムは、完全に準拠した HTML のユーザー エージェントでないかもしれない。
この仕様は、W3C [SVG] の特定のバージョンを参照しないが、その代わり、常に最新の勧告を指す日付なしの参照を使用する。このアプローチは、EPUB が常に SVG 規格の変更のペースを維持することを保証する。製作者とリーディング システムの開発者は、SVG の変更を追跡し続け、それらのプロセスやシステムが常に最新の状態に保たれていることを保証する必要があるだろう。
SVG の進化によって、以前のバージョンでは有効だった機能が、非推奨(Obsolete)や取り除かれる可能性がある。IDPF は、製作者のために最小限の混乱を保証するために、そのような変更を慎重に行うことを W3C に期待しているが、後方互換性のない版の場合は、日付のない参照の使用は見直されるかもしれない。
EPUB 3.1 は、CSS ワーキング グループ スナップショット [CSS Snapshot] によって定義される CSS をサポートする。EPUB 3.1 はまた、グローバルな言語の一貫したサポートを確実にするために、いくつかのプリフィックス付き CSS プロパティを保持する。
EPUB 3.1 固有の意味を持つ用語は、このドキュメント(例えば、「製作者」、「リーディング システム」)に利用できる。これらの用語と定義の完全なリストは、[EPUB 3.1] で提供されている。
セクションにある用語の最初のインスタンスのみが、その定義にリンクされる。
このドキュメント内のキーワード、MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、RECOMMENDED、MAY、OPTIONAL は、[RFC2119] の記述に従って解釈される。
この仕様の全てのセクションと補足は、「このセクションは規定ではない」という規定ではない状態のラベルで識別される箇所を除き、規定である。セクションと補足への規定ではない状態の適用は、含まれている全ての子コンテンツおよびサブセクションに適用される。
この仕様の全ての例は規定ではない。
便宜上、次の名前空間プリフィックス [XMLNS] は、明示的に宣言されることなく、この仕様で使用される。EPUB コンテンツ ドキュメントでこれらのプリフィックスを使用するに、宣言は必須である(REQUIRED)。
プリフィックス | URI |
---|---|
epub |
http://www.idpf.org/2007/ops |
pls |
https://www.w3.org/2005/01/pronunciation-lexicon |
ssml |
https://www.w3.org/2001/10/synthesis |
この仕様は、XHTML コンテンツ ドキュメント制作のために [HTML] のプロファイルを定義する。このプロファイルに準拠する XML ドキュメントのインスタンスはコア メディア タイプ リソースであり、XHTML コンテンツ ドキュメントとしてこの仕様で言及される。
他の指定のない限り、この仕様は、[HTML] 仕様からセマンティクスと構造、処理動作の全ての定義を継承する。
XHTML コンテンツ ドキュメントは、次の基準を全て満たさなければならない(MUST)。
XHTML 構文に従った [HTML] ドキュメントでなければならない(MUST)。
XML 適合性 [EPUB 3.1] で定義された XML ドキュメントの適合性の制約を満たさなければならない(MUST)。
全てのドキュメントの為に使用されている構成概念は [HTML] により定義され、それは HTML の許容性と制約で明確に上書きされていない限り、その仕様でこれらの構成概念のために定義された適合性の基準に準拠しなければならない(MUST)。
HTML の拡張で定義されている [HTML] 文法の拡張を包含してもよく(MAY)、これらに定義されている全てのコンテンツの適合性の制約に適合しなければならない(MUST)。
[EPUB Accessibility] のアクセシビリティ要件に従う EPUB 出版物の推奨は、XHTML コンテンツ ドキュメントに適用する。アクセシビリティ [EPUB 3.1] を見よ。
XHTML コンテンツ ドキュメントのファイル名は、ファイル拡張子 .xhtml
を使用するべきである(SHOULD)。
適合した EPUB リーディング システムは、XHTML コンテンツ ドキュメントの処理のために、次の基準を全て満たさなければならない(MUST):
この仕様によって上書きなどが明確に定義されていない限り、[HTML] 仕様により定義されたセマンティクスを使用して XHTML コンテンツ ドキュメントを処理し、その中に表れる適切なユーザー エージェントの適合性の制約を尊重しなければならない(MUST)。
HTML の拡張で定義された全てのリーディング システムの適合性基準を満たさなければならない(MUST)。
HTML の許容性と制約で定義された制約の挙動を認識し、適応しなければならない(MUST)。
スクリプト コンテンツ ドキュメント — リーディング システムの適合性で定義されたリーディング システムの適合性基準を満たさなければならない(MUST)。
CSS スタイル シート — リーディング システムの適合性で定義された XHTML コンテンツ ドキュメントの視覚的レンダリングをサポートしなければならない(MUST)。
埋め込まれた ARIA マークアップを認識し、アクセシビリティ APIs [WAI-ARIA] の任意の ARIA ロール(role)やステート(state)、プロパティ(property)がプラットフォームに出現するのをサポートするべきである(SHOULD)。
このセクションは、[HTML] ドキュメント モデルを基礎にして、EPUB 3.1 の XHTML コンテンツ ドキュメントの拡張を定義する。
このような拡張がこのセクションに掲載されていない限り、[HTML] は、ベンダーの中立的な拡張のサポートをユーザーエージェントに許可しているが、それらは、EPUB 3.1 でサポートされた機能ではない。
このセクションは規定ではない。
意味の変化は XHTML コンテンツ ドキュメント内で使用している要素に特定の意味と、または性質に関するさらなる意味を付与する行為である。epub:type 属性は、[HTML] の語彙を補足する変化をもたらし、XHTML コンテンツ ドキュメント内のドメイン固有の意味を表現するのに使用される。
適用されるセマンティクスは、それらを含んでいる要素の意味を取り込むことが意図されており、(例えば、属性は、section
が作品の章を示すために使用できるが、適切なリスト構造を回避するために、リスト項目に p
要素を動作するもとして設計されていないように)それらの性質を上書きするために提供されていない。
セマンティック メタデータは直接人間に提供されることを目的にしておらず、その代わりにドキュメントの構造とコンテンツについてのより詳細にリーディング システムのために制御方法を提供し、読者のために読書体験を向上させる良い機会を提供する。
この仕様は、新しい要素を追加する代わりに、axis 属性を使用して意味の変化のための方法を定義し、epub:type
属性で求められる意味の変化を既存の要素に付与できる。属性の制御値を提供する外部のボキャブラリを識別するためのメカニズムもまた定義されている。
type
http://www.idpf.org/2007/ops
グローバル属性。全ての要素に指定してもよい(MAY)。
語彙の関連性で定義された制約による、プロパティ [Packages 3.1] 値の空白で区切られたリスト。
空白は、[XML] に定義されている文字の集合である。
epub:type
属性は、それが出現する要素の意味を変化させる。その値は、語彙の関連性で定義された文書のインスタンスに関連付けられた外部の語彙から抽出される空白で区切られたひとつ以上の用語である。
変化された意味は、含んでいる要素の意味のサブクラスを表現しなければならない(MUST)。
例えば [HTML] の div
や span
要素など、意味的に中立な要素の場合、変化された意味は、(例えば、div
は段落や節を表現している)既存の要素によってすでに含まれている意味を加えてはならない(MUST NOT)。リーディング システムは含んでいる要素と矛盾する変化された意味を無視しなければならない(MUST)。
[HTML] head
要素がドキュメントのメタデータを含むように、構造的なセマンティクスは、この要素上または意味を持たない任意の子孫に表れる。リーディング システムは、これらのセマンティクスを無視しなければならない(MUST)。
次の例は、序文が、[HTML] section
要素に含まれていることを epub:type
属性でマークアップできる方法を示している。
<html … xmlns:epub="http://www.idpf.org/2007/ops">
…
<section epub:type="preamble">
…
</section>
…
</html>
次の例は、[HTML] の定義リストに用語集のセマンティクスを追加するために用いられる epub:type
属性を示している。
<html … xmlns:epub="http://www.idpf.org/2007/ops">
…
<dl epub:type="glossary">
…
</dl>
…
</html>
次の例は、改ページのセマンティクスを追加するために使用する epub:type
属性を示している。
<html … xmlns:epub="http://www.idpf.org/2007/ops">
…
<p> … <span epub:type="pagebreak" title="234" id="p234"/> … </p>
…
</html>
この仕様は、次の変更を伴う語彙の関連付けメカニズム [Packages 3.1] で定義された語彙の関連性メカニズムを採用する。
コンテンツ ドキュメントの標準の語彙は、EPUB 3 Structural Semantics Vocabulary で定義される。
製作者が、[Reserved Prefixes] で定義されている宣言をすることなく epub:type
属性に使用してもよい(MAY)予約済みのプリフィックス。
prefix
属性の定義は変わらないが、属性は EPUB コンテンツ ドキュメント内で使用されるとき、名前空間 http://www.idpf.org/2007/ops
で定義される。
prefix
属性は、[HTML] のルート html
要素のみ有効である。
リーディング システムは、次のように epub:type
属性を処理しなければならない(MUST)。
標準の語彙で定義されている用語のいくつかまたは全てに、動作を結びつけなくてもよい(MAY)。
他の語彙からの用語に、動作を結びつけてもよい(MAY)。
認識できない用語を無視しなければならない(MUST)。
指定した epub:type
値に関連付けられているリーディング システムの動作がネイティブの動作と衝突するとき、要素に関連付けられている動作の優先順位を指定しなければならない(MUST)。
このセクションは規定ではない。
マークアップした構造を改良することに関して、意味の変化とは異なり、意味の強化は、機械の処理を容易にするためにコンテンツ内の意味の階層化を可能にする。
[Microdata] と [RDFa 1.1] 仕様の両方は、コンテンツを意味論的に強化する XHTML コンテンツ ドキュメントで使用できる属性のセットを定義する。
[RDFa 1.1] 属性の使用は、XHTML コンテンツ ドキュメントで許可されているが、全ての使用方法は、[HTML+RDFa11] に定義されている要件に適合しなければならない(MUST)。
[RDFa 1.1] 仕様は、RDFa 属性を使用したときの [HTML] コンテンツ モデルの変更を定義している。この修正されたコンテンツ モデルは、XHTML コンテンツ ドキュメントに妥当である。
属性処理モデル [RDFa 1.1] の EPUB リーディング システムのサポートは、省略可能(OPTIONAL)である。
[Microdata] 属性の使用は、XHTML コンテンツ ドキュメントで許可されているが、全ての使用方法は、[HTML+RDFa11] に定義されている要件に適合しなければならない(MUST)。
[Microdata] 仕様は、マイクロデータの属性を使用したときの [HTML] コンテンツ モデルの変更を定義している。この修正されたコンテンツ モデルは、XHTML コンテンツ ドキュメントに妥当である。
JSON への変換 [Microdata] と同様に、属性処理モデルに対する EPUB リーディング システムのサポートは省略可能(OPTIONAL)である。さらに、たとえ属性処理モデルがサポートされていても、DOM API [Microdata] もまた省略可能(OPTIONAL)である。
W3C Speech Synthesis Markup Language [SSML] は、同期スピーチを生成するテキスト読み上げ(TTS)エンジンを支援するために使われる言語である。SSML は独立したドキュメント形式として設計されているが、他のマークアップ言語内で使用するのにも適した意味も定義している。
この仕様は、[SSML] phoneme
要素の二つの属性(ssml:ph
と ssml:alphabet
)について見直し、XHTML コンテンツ ドキュメント内で利用可能にする。
テキスト読み上げ(TTS)機能のあるリーディング システムは上記で定義されている SSML 属性をサポートするべきである(SHOULD)。
同期スピーチに関連する EPUB 3.1 の機能に関するより詳細な情報は、テキスト読み上げ [EPUB3 Overview] を参照されたい。
ssml:ph
属性は、属性を加えられた要素によって表現されるテキストとしての発話音素や発音記号表記を規定している。
ph
https://www.w3.org/2001/10/synthesis
グローバル属性。当て字は論理的に関連付ける(例えば、テキスト情報が含まれている要素)ことのできる全ての要素に指定してもよい(MAY)。
すでにこの属性を含んでいる要素の子孫に指定してはならない(MUST NOT)。
使用されている音韻字母/音声記号に関する構文的に妥当な音素表現/表音。
この属性は、次を追加した [SSML] phoneme
要素 ph
属性の全てのセマンティクスを継承する。
ssml:ph
属性がテキスト ノードの子孫要素に出現するとき、発音を適用するのに対応するドキュメントのテキストは、ドキュメントの順で、対応する子孫のテキスト ノードの結果を一続きにする。指定された発音記号表記は、(すなわち、その内容の孤立した部分だけではなく)全体の中のテキスト データの要素と論理的に一致しなければならない(MUST)。
SSML の属性と PLS ドキュメントをサポートするリーディング システムは、これらの二つの構造のために定義された優先順位の規則を履行しなければならない(MUST)。
ssml:alphabet
属性は、発話音素や発音記号表記のアルファベットが ssml:ph
属性の値で使用されることを規定している。
この属性は、次の追加を伴った、[SSML] phoneme
要素 alphabet
属性の全てのセマンティクスを継承する:
ssml:alphabet
属性の値はドキュメントツリーに継承される。指定された ssml:ph
属性値に使用される発話アルファベットは、最も近い親要素に続く、ssml:ph
属性が出現する要素から始まる ssml:alphabet
属性の最初に発生する位置によって決定される。
[SSML] 仕様は、アルファベットのレジストリを参照していますが、公開されていない。W3C Voice Browser ワーキング グループの憲章は有効期限が切れているため、このようなレジストリの公開は期待されない。したがって、製作者は、サポートされているアルファベット値を決定するために、リーディング システムのサポートドキュメントを参照する必要がある。x-JEITA(x-JEITA-IT-4002 と x-JEITA-IT-4006)および x-sampa などの一般的なアルファベットも包含する。
この仕様の SSML 属性の機能をサポートするリーディング システムは、値「ipa
」で表現される IPA アルファベット [IPA] をサポートするべきである(SHOULD)。
[Alt Style Tags] に従い、link
要素の class
属性は、次の値 horizontal
、vertical
、day
、night
のいずれかを包含してもよい(MAY)。これらの値は、それらの使用するための仕様によって定義されたセマンティクスを継承する。
リーディング システムは、必要に応じてタグ付けのスタイルセットを選択・利用し、仕様内で記述するべきである(SHOULD)。
リーディング システムは、EPUB 出版物のレンダリングを強化するために、この仕様で定義されていない機能を導入してもよい(MAY)。この実験を容易にするために、ベンダーは、XHTML コンテンツ ドキュメントで使用するためにカスタム属性を定義してもよい(MAY)。
カスタム属性は、次の URI のいずれにも一致しない名前空間 [XMLNS] として定義されている外部の名前空間から、そのような属性が提供されている XHTML コンテンツ ドキュメント内の任意の要素に包含されてもよい(MAY)。
http://www.w3.org/1999/xhtml
http://www.idpf.org/2007/ops
カスタム属性と、それに結びついた挙動は、EPUB 出版物の整合性を変更してはならない(MUST NOT)。コンテンツは、リーディング システムのレンダリングに関わらず、任意の情報の損失や他の重要な劣化なしに、読者によって消費できるままにしなければならない(MUST)。
リーディング システムを横断するカスタム属性の相互互換性を容易にするために、ベンダーは、[Attribute Extensions] で実装される任意の拡張をドキュメント化することを強く推奨する。
このセクションは、EPUB 3.1 の XHTML コンテンツ ドキュメントで許可されている基本的な [HTML] ドキュメントモデルから許容性と制約を定義する。
このセクションは規定ではない。
XHTML コンテンツ ドキュメントは、埋め込み [MATHML] をサポートするが、完全な MathML マークアップ言語の制限されたサブセットの使用法に限定をする。
このサブセットは、[HTML] ユーザー エージェントとの互換性を保持しながら、リーディング システムの実装負荷の軽減とアクセシビリティを促進するよう設計されている。
マニフェスト item
要素の mathml プロパティ [Manifest Vocab] は、XHTML コンテンツ ドキュメントが埋め込み MathML を含んでいることを示している。
XHTML コンテンツ ドキュメント内の MathML マークアップのいずれかの発生には、次にある追加の制約付きで、MathML 仕様 [MATHML] 内に述べられている制約に準拠しなければならない(MUST)。
math
要素は、下で定義しているような annotation-xml
要素を除外して、Presentation MathML のみ含まなければならない(MUST)。
Content MathML は、XHTML コンテンツ ドキュメントの MathML マークアップ内に包含してもよく(MAY)、そして、表示されるとき、semantics
要素の annotation-xml
子要素に生じなければならない(MUST)。
Content MathML は、上記の条件のように包含するとき、指定された annotation-xml
要素の encoding
属性は、機能的に同等な値の MathML-Content
かそれとも application/mathml-content+xml
を設定しなければならず(MUST)、その name
属性は contentequiv
に設定されなければならない(MUST)。
[MATHML] で非推奨にマークされた要素と属性は、XHTML コンテンツ ドキュメントの MathML マークアップ内に包含してはならない(MUST NOT)。
XHTML コンテンツ ドキュメント フラグメントは、XHTML コンテンツ ドキュメントの MathML マークアップ内に包含してもよく(MAY)、そして、表示されるとき、semantics
要素の annotation-xml
子要素内に発生しなければならない(MUST)。
XHTML コンテンツ ドキュメント フラグメントが上記段落経由で包含されるとき、指定された annotation-xml
要素の encoding
属性は、application/xhtml+xml
を設定されなければならず(MUST)、name
属性は、alternate-representation
に設定されなければならない(MUST)。
全ての包含された XHTML コンテンツ ドキュメント フラグメントは、MathML マークアップ自体を含んではならない(MUST NOT)。
全ての包含された XHTML コンテンツ ドキュメント フラグメントは、math
要素が、特定の XHTML コンテンツ ドキュメント フラグメントによって置き換えられた場合、ドキュメントは妥当なまま、祖先の math
要素が発生するコンテンツ モデルに適合しなければならない(MUST)、
適合した EPUB リーディング システムは、XHTML コンテンツ ドキュメントに埋め込まれた MathML の処理ために次の基準を全て満たさなければならない(MUST)。
[MATHML] で定義されたセマンティクスを用いる Presentation MathML の処理をサポートしなければならない(MUST)。
[MATHML] で定義されたセマンティクスを用いる xml-annotation
要素で発見される Content MathML の処理をサポートしてもよい(MAY)。
ビューポートを持つ場合、Presentation MathML の視覚的なレンダリングをサポートしなければならない(MUST)。
数式をサポートするリーディング システムに一貫性がないので、製作者は、math
要素に altimg
属性を使用してフォールバック画像を提供することが推奨される。大きさと位置合わせの属性(altimg-width
と altimg-height
、altimg-valign
)は、altimg
属性と組み合わせて使用することを推奨する(RECOMMENDED)。
代替コンテンツから参照されたフォールバック画像は、EPUB 出版物の適合性 [EPUB 3.1] で定義されている出版物リソースのための制約に準拠する。
XHTML コンテンツ ドキュメントは、[SVG] の(参照を介しての埋め込み、たとえば、img
や object
要素による) 参照と、(XHTML コンテンツ ドキュメント内の svg
要素の直接な包含を介しての埋め込みによる)包含による SVG ドキュメント フラグメントの埋め込みをサポートする。
XHTML コンテンツ ドキュメントに埋め込まれた SVG のコンテンツの適合性の制約は、SVG の制約の SVG コンテンツ ドキュメントために定義されたものと同じである。
リーディング システムは、SVG コンテンツ ドキュメント - リーディング システムの適合性 に定義された XHTML コンテンツ ドキュメントに埋め込まれた SVG を処理しなければならない(MUST)。
マニフェスト item
要素の svg プロパティ [Manifest Vocab] は、XHTML コンテンツ ドキュメントに埋め込み SVG を含んでいることを示している。
参照によって XHTML コンテンツ ドキュメントに埋め込まれた SVG のスタイリングのために、リーディング システムは、参照先の SVG ドキュメントに含まれるドキュメントの CSS スタイル ルールを適用してはならない(MUST NOT)。
包含によって XHTML コンテンツ ドキュメントに埋め込まれた SVG のスタイリングのために、リーディング システムは、包含された SVG 要素に含まれているドキュメントの CSS ルールを適用しなければならない(MUST)。
参照によって包含された SVG は、別のドキュメントのように処理され、SVG コンテンツ ドキュメントと同様に独自の CSS スタイル ルールを包含できる。これは、外部の [HTML] 要素を参照する [HTML] object
要素の状況と一致していると注意されたい。
本セクションは、Unicode 文字のレパートリーの制約を記載する。
[Unicode] に定義された通りに私用領域(PUA)範囲のひとつの中の符号位置にマッピングされた任意の包含された文字は、その符号位置のために適したグリフを含む埋め込みフォント [CSS3 Fonts] を参照し包含する方法で、設定または起因し、文字列内に発生しなければならない(MUST)。
このセクションは規定ではない。
[HTML] rp
要素は、(例えば、丸括弧表示で囲む ruby
マークアップなど)ルビのマークアップを見分けられない古いバージョンのリーディング システムのためのフォールバックの提供を意図している。EPUB 3.1 リーディング システムがルビを認識し、またフォールバックを提供できるなら、rp
要素の使用は推奨されない。
[HTML] embed
要素は、スクリプトをサポートしないリーディング システムのために、フォールバックを提供するための固有の設備を提供しないので、製作者は、参照されたリソースにスクリプトが包含されているときは、要素の使用が推奨されない。object
要素は、固有のフォールバック機能を包含するため、代わりに使用できる。
管理外リソースは、管理外リソースがサポートされていないとき、固有のフォールバック手法で代替表現を提供することが可能である場合には、固有のフォールバック メカニズムを持つ要素から参照されてもよい(MAY)。例えば、多くの [HTML] 埋め込まれたコンテンツ要素は、複数のソースを指定できるようにするか、リソースがレンダリングできないときのために埋め込みの HTML コンテンツを許可するなど、代替レンダリングをオプションを提供する。コア メディア タイプ リソースまたは埋め込まれた HTML コンテンツは、管理外リソースを参照するとき、特定の要素固有のフォールバック メカニズムを介して提供されなければならない(MUST)。
フロー コンテンツは、(例えば、EPUB 2 リーディング システムなど)これらの要素を認識しない古いリーディング システムにおいてレンダリングするために [HTML] audio
と video
要素内に埋め込まれてもよいが(MAY)、それはコア メディア タイプ リソースを表現するものではない。
次の [HTML] 要素は、コア メディア タイプ要件 [EPUB 3.1] から除外されている。
link
— rel
属性が、値 "pronunciation
" を持つ場合
管理外リソースは、コア メディア タイプ フォールバックの提供なしに、上記の要素から参照されてもよい(MAY)。
このような [HTML] iframe
と img
要素など、固有のメカニズムのない要素のフォールバックを提供するためにマニフェスト フォールバック [Packages 3.1] を参照されたい。
[SVG] の一部の機能は、リーディング システムにおいて完全にサポートされていないか、リーディング システムが動作する全てのプラットフォームを横断してサポートされていない。そのような機能を利用する場合、製作者は、相互運用性とドキュメントの寿命への潜在的な影響の面で、固有のリスクを考慮する必要がある。
このセクションは規定ではない。
Scalable Vector Graphics (SVG) 仕様 [SVG] は、最終型のベクターグラフィックとテキストを表現するためのフォーマットを定義する。
EPUB 出版物は、典型的に、トップレベルの文書型に XHTML コンテンツ ドキュメントを使用するが、SVG コンテンツ ドキュメントの使用も許可されている。SVG は、典型的に、最終型のページ画像がコンテンツの唯一な適切な表現である場合など、(例えば、マンガやコミックブックのコンテクスト内など)特殊な状況でのみ使用する
本セクションは、[SVG] ドキュメントのプロファイルを定義する。この仕様に準拠した XML ドキュメントのインスタンスはコア メディア タイプ リソースであり、SVG コンテンツ ドキュメントとしてこの仕様を参照している。
本セクションは SVG コンテンツ ドキュメントのための適合性の制約を定義している。XHTML コンテンツ ドキュメントに埋め込まれた SVG のための適合性の制約は埋め込み SVG を参照されたい。
SVG コンテンツ ドキュメントは、次の基準を全て満たさなければならない(MUST)。
XML 適合性 [EPUB 3.1] で定義されている XML ドキュメントのための適合性の制約を満たさなければならない(MUST)。
コア メディア タイプ リソースを包含するためにフォールバックを提供する管理外リソースへの参照を包含してもよい(MAY)。
SVG ドキュメント フラグメント [SVG] であり、SVG の制限で述べられている全てのコンテンツの適合性要件に準拠しなければならない(MUST)。
[EPUB Accessibility] のアクセシビリティ要件に従う EPUB 出版物の推奨は、SVG コンテンツ ドキュメントに適用する。アクセシビリティ [EPUB 3.1] を見よ。
SVG コンテンツ ドキュメントのファイル名は、ファイル拡張子 .svg
を使用するべきである(SHOULD)。
この仕様は、次のように SVG コンテンツ ドキュメントのコンテンツモデルと XHTML コンテンツ ドキュメントに埋め込む SVGを制限する。
[SVG] foreignObject
要素は、次の条件を順守しなければならない(MUST)。
コンテンツは、XHTML コンテンツ ドキュメント — コンテンツの適合性に定義された XHTML コンテンツ ドキュメント モデルに適合する、妥当なドキュメント フラグメントでなければならない(MUST)。
もし指定されているなら、requiredExtensions
属性は、「http://www.idpf.org/2007/ops
」を設定しなければならない(MUST)。
[SVG] title
要素は、妥当な XHTML コンテンツ ドキュメントのフレージング コンテンツのみを含めなければならない(MUST)。
適合した EPUB リーディング システムは、SVG コンテンツ ドキュメントと XHTML コンテンツ ドキュメントに埋め込む SVG の処理のための次の基準を全て満たさなければならない(MUST)。
上書きとしてこの仕様によって明確に定義されない限り、[SVG] 仕様によって定義されたセマンティクスを使用して、SVG コンテンツ ドキュメントを処理し、その中で述べられる全ての利用可能なユーザー エージェントの適合性の制約を尊重しなければならない(MUST)。
スクリプト コンテンツ ドキュメント — リーディング システムの適合性で定義されているリーディング システムの適合性の基準を満たさなければならない(MUST)。
ビューポートを持つ場合、Styling [SVG] で定義されているように CSS を使用した SVG の視覚レンダリングをサポートしなければならず(MUST)、Property Index [SVG] で定義されている全てのプロパティをサポートすべきである(SHOULD)。埋め込み SVG の場合、埋め込み SVG と CSS で定義されている制約にも適合しなければならない(MUST)。
SVG 要素内にあるテキストを、ユーザーによる選択と検索をサポートするべきである(SHOULD)。
(例えば属性が、foreignObject
要素または switch
要素の子に包含されるとき)XHTML コンテンツ ドキュメント フラグメントの存在を表現する requiredExtensions
属性の値 「http://www.idpf.org/2007/ops
」 を認識しなければならない(MUST)。
XHTML の意味の変化で定義された構文とセマンティクスは、SVG コンテンツ ドキュメントで epub:type
と epub:prefix
属性を使用するために継承される。
epub:prefix
属性の使用は、SVG コンテンツ ドキュメントにおけるルート svg
要素でのみ有効である。埋め込まれた SVG で使用されるプリフィックスは、XHTML の意味の変化で定義されているように、[HTML] ルートの html
要素に宣言されなければならない(MUST)。
このセクションは規定ではない。
CSS は、20年近くオープン Web プラットフォームの不可欠な一部となっており、読者や出版社、ドキュメントの製作者は、HTML がうまく動作するように、CSS が「うまく動作する」と期待している。
過去に、EPUB は、特定のプロパティのサポートを義務付け、他の多数のプロパティにおいてプレフィックス付きバージョンを提供する CSS のプロファイルを定義した。CSS ワーキング グループはプリフィックス付きプロパティの使用をもはや推奨されていないけれども、この仕様は、既存コンテンツとの断絶を避けるためにいくつかのプリフィックス付きプロパティを保持する。しかし、このセクションで定義されているマイナーな例外を除き、EPUB は、CSS を定義する W3C に従う。
適合している CSS スタイル シートは、次の基準を全て満たさなければならない(MUST)。
次の例外を除いて、任意の CSS プロパティを包含してもよい(MAY)。
direction プロパティ [CSS3 Writing Modes] を使用してはならない(MUST NOT)。インラインの基本方向を設定するには [HTML] dir
属性を使用する。
unicode-bidi プロパティ [CSS3 Writing Modes] を使用してはならない(MUST NOT)。双方向性をコントロールするには [HTML] bdo
要素と dir
属性を使用する。
CSS スタイル シート — プリフィックス付きプロパティで定義されているプレフィックス付きプロパティを包含してもよい(MAY)。
UTF-8 または UTF-16 [Unicode] でエンコードしなければならない(MUST)。
いくつかのリーディング システムは、CSS の全ての要求される機能をサポートしていないことに注意されたい。具体的には、次の問題があることが知られている。
リーディング システムによって誘発されたページネーションは、スタイルシートに対して不完全に作用する。時折、ページネーションは、ビューポート サイズに対して不完全な値をもたらし、カラムに使用される。。固定及び絶対配置は、特に問題である。
スクリーンの一部のタイプは、(例えば、レイテンシが高いなど)アニメーションとトランジションを不完全にレンダリングするかもしれない。
適合した EPUB リーディング システムは、CSS スタイル シートを処理するために次の基準を全て満たさなければならない(MUST)。
[CSS Snapshot] に記載されているような CSS の正式な定義をサポートしなければならない(MUST)。
最新の勧告候補ステータス [W3C Process] に達しており(また、広く実装されている) [CSS Snapshot] の利用可能な全てのモジュールをサポートするべきである(SHOULD)。
CSS スタイル シート — プリフィックス付きプロパティに定義されている全てのプリフィックス付きプロパティをサポートしなければならない(MUST)。
上記で定義された CSS プロパティのサポートに加えて、そのユーザー エージェント スタイルシートは、[HTML] で提案されたデフォルトのレンダリングをサポートするべきである(SHOULD)。
リーディング システムによる上書きで定義されているように、著者は、CSSと ユーザー スタイルを尊重するべきである(SHOULD)。
リーディング システムの開発者は、主要なブラウザのレベルで CSS のサポートを実装することが推奨される。
製作者は、プリフィックスのないプロパティと、現在の CSS 仕様をサポートするリーディング システムを使用することが強く推奨される。[Content Docs 3.0.1] から広く使用されているプリフィックス付きプロパティは保留されたが、他のプロパティのサポートは取り除かれた。製作者は、必要な時に必要な場所で利用できる、取り除かれたプロパティのためのネイティブな CSS のソリューションを使用することを勧める。
現在、これらプリフィックス付きプロパティを使用している製作者は、これらプロパティが、EPUB の次のメジャー バージョンでサポートされる見込がないため、すぐにサポートできるプリフィックスのないバージョンに移行することが推奨される。
次の表は、[CSS3 Writing Modes] の -epub- プリフィックス付きプロパティの一覧である。値の列は、プロパティに対応する値を示している。以前の EPUB マッピングの列は、EPUB 3 の前のバージョンで使用されていた値/プロパティを示している。古いプロパティや値を意味するアスタリスク(*)は、現在は廃止されている。最後の列は、[CSS3 Writing Modes-20151215] に基いてプリフィックス付きプロパティを実装する方法を説明している。
プロパティ | 値 | 以前の EPUB マッピング | [CSS3 Writing Modes-20151215] とのマッピング |
---|---|---|---|
-epub-text-orientation | upright |
upright |
upright |
-epub-text-orientation | mixed |
vertical-right * |
mixed |
-epub-text-orientation | sideways-right |
sideways-right |
sideways |
-epub-text-orientation | sideways-right |
rotate-right * |
sideways |
-epub-text-orientation | sideways |
rotate-normal * |
sideways |
-epub-text-orientation | sideways |
sideways |
sideways |
-epub-text-orientation | mixed |
mixed |
mixed |
-epub-writing-mode | horizontal-tb |
horizontal-tb |
horizontal-tb |
-epub-writing-mode | vertical-rl |
vertical-rl |
vertical-rl |
-epub-writing-mode | vertical-lr |
vertical-lr |
vertical-lr |
-epub-text-combine* | -epub-text-combine-horizontal: none | none |
text-combine-upright: none |
-epub-text-combine* | -epub-text-combine-horizontal: all | horizontal |
text-combine-upright: all |
-epub-text-combine* | Error | horizontal <number> |
text-combine-upright: digits <number> |
プロパティ | 値 | [CSS3 Text-20160119] とのマッピング |
---|---|---|
-epub-hyphens | none | manual | auto |
変更なし |
-epub-hyphens | all |
非サポート |
-epub-line-break | auto | loose | normal | strict |
変更なし |
-epub-text-align-last | auto | start | end | left | right | center | justify |
変更なし |
-epub-word-break | normal | keep-all | break-all |
変更なし |
text-transform | -epub-fullwidth |
text-transform: full-width |
プロパティ | 値 | [CSS3 Text Decoration] とのマッピング |
---|---|---|
-epub-text-emphasis-color | <color> |
変更なし |
-epub-text-emphasis-position | [ over | under ] && [ right | left ] |
変更なし |
-epub-text-emphasis-style | none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string> |
変更なし |
-epub-text-underline-position | auto | [ under || [ left | right ] ] |
変更なし |
-epub-text-underline-position | alphabetic |
text-underline-position: auto |
Component value combinators [CSS3 Values and Units] に定義されているプロパティ値の構文。
EPUB リーディング システムは、EPUB コンテンツドキュメントに書かれているように、製作者のスタイル シートを適用するべきである(SHOULD)。リーディング システムが許可している場合、ユーザーが必要に応じて製作者のスタイル シートを上書きできるようにするべきである(SHOULD)。EPUB リーディング システムは、特に必要でない限り、製作者のスタイル シートを上書きするべきではない(SHOULD NOT)。
リーディング システムが製作者のスタイル シートを上書きする場合、ユーザー エージェント スタイルシートや getOverrideStyle
メソッド [DOM2 Style]、[HTML] style
属性を介するカスケードを保持する方法で行うべきである(SHOULD)。
リーディング システムの開発者は、ユーザー エージェント スタイル シートおよび製作者のスタイル シートとやり取りする方法を、公の文書にすることを強く推奨する。
EPUB コンテンツ ドキュメントは、個別の基本的な仕様([HTML] と [SVG])でこのために定義された機能を使用してスクリプトを含んでもよい(MAY)。EPUB コンテンツ ドキュメントがスクリプトを含むとき、この仕様やスクリプト コンテンツ ドキュメントを参照する。このラベルは、それらが [HTML] フォームのインスタンスを含む時、XHTML コンテンツ ドキュメントに適用する。
この仕様は、スクリプトが現れてもよい(MAY)、二つのコンテクストを定義する。
トップレベル ドキュメント コンテンツに包含される [HTML] の script
または [SVG] script
要素のインスタンス。
次のいずれか。
[HTML] script
要素のインスタンスは、[HTML] iframe
要素を使用して親の XHTML コンテンツ ドキュメントに埋め込まれている XHTML コンテンツ ドキュメントに包含される。
[SVG] script
要素のインスタンスは、[HTML] iframe
要素を使用して親の XHTML コンテンツ ドキュメントに埋め込まれている SVG コンテンツ ドキュメントに包含される。
上記の定義されたコンテクストの両方で、JavaScript のコードは、script
要素内に直接埋め込まれるか、src
属性経由で参照されているどうかで、実行するコンテクストに差はない。
どちらのコンテクストのスクリプトも、リーディング システムがそこに設置する権利と制約を決定して利用する。(全てのリーディング システムが同じスクリプト機能を提供するであろう)順守する必要のあるいくつかの固有の要求事項については、コンテンツの適合性とリーディング システムの適合性を参照されたい。
次の例はパッケージ ドキュメントと見なす。
<package …>
…
<manifest>
…
<item id="chap01"
href="scripted01.xhtml"
media-type="application/xhtml+xml"
properties="scripted"/>
<item id="inset01"
href="scripted02.xhtml"
media-type="application/xhtml+xml"
properties="scripted"/>
<item id="slideshowjs"
href="slideshow.js"
media-type="text/javascript"/>
</manifest>
<spine …>
<itemref idref="chap01"/>
…
</spine>
…
</package>
そして付随するファイルである scripted01.xhtml
。
<html …>
<head>
…
<script type="text/javascript">
alert("Reading System name: " + navigator.epubReadingSystem.name);
</script>
</head>
<body>
…
<iframe src="scripted02.xhtml" … />
…
</body>
</html>
そして付随するファイルである scripted02.xhtml
。
<html …>
<head>
…
<script type="text/javascript" href="slideshow.js"></script>
</head>
<body>
…
</body>
</html>
これらの例から、次に当てはまる。
ドキュメントはスパインから参照されるので、scripted01.xhtml
の head
にある script
要素内のコードは、スパイン レベルのスクリプトであり、
そこで発生した HTML ファイルは、iframe
要素を介して scripted01.xhtml
に包含されるので、scripted02.xhtml
の script
要素内のコードはコンテナ制約のスクリプトである。
コンテナ制約のスクリプトは、親のコンテンツ ドキュメントまたは EPUB 出版物内の他のコンテンツの DOM を変更する指示を含んではならず(MUST NOT)、含んでいる矩形のサイズを操作するための指示を含んではならない(MUST NOT)。
スパイン レベルのスクリプトを包含している EPUB コンテンツ ドキュメントは、この仕様の目的のために次のように定義されている、プログレッシブ エンハンスメントの技法を利用しなければならない(MUST)。ドキュメントが、スクリプトのサポートをしない、またはスクリプトのサポートが無効になっているリーディング システムによってレンダリングされるとき、トップレベル コンテンツ ドキュメントは、いかなる情報も失われたり、他の重大な劣化なしに読者によって消費できるように整合性を保たなければならない(MUST)。
スクリプトを包含している EPUB コンテンツ ドキュメントは、全ての読者によって消費できるコンテンツを確保する関連性のある [WAI-ARIA] アクセシビリティの技法を採用するべきである(SHOULD)。
スクリプトを包含している EPUB コンテンツ ドキュメントは、固有のフォールバック メカニズム(例えば [HTML] object
と canvas
要素のためにそれらを利用できるもの)を使用するか、それとも固有のフォールバックを適用できないとき、マニフェストレベル [Packages 3.1] フォールバックを使用して、そのようなコンテンツのためにフォールバックを提供してもよい(MAY)。
製作者は、コア メディア タイプの要件 [EPUB 3.1] を満たす、スクリプトを生成する全ての出力を保証しなければならない(MUST)。
マニフェスト item
要素の scripted プロパティ [Manifest Vocab] は、EPUB コンテンツ ドキュメントがスクリプト コンテンツ ドキュメントであることを示している。
スクリプトをサポートするリーディング システムは、次の基準を満たさなければならない(MUST)。
リフロー可能な EPUB コンテンツ ドキュメントは、コンテナ制約のスクリプトをサポートするべきである(SHOULD)。
固定レイアウト ドキュメントは、スパイン レベルのスクリプトをサポートするべきである(SHOULD)。
rendition:flow プロパティ [Packages 3.1] によって定義された 「scrolled-doc」 または 「scrolled-continuous」 プレゼンテーション モードを使用するリフロー可能な EPUB コンテンツ ドキュメント内におけるスパイン レベルのスクリプトをサポートするべきである(SHOULD)。 同様に、リフロー可能な EPUB コンテンツ ドキュメント内におけるスパイン レベルのスクリプトをサポートする場合、「scrolled-doc」プレゼンテーション モードを実行しなければならなず(MUST)、「scrolled-continuous」プレゼンテーション モードを実行するべきである(SHOULD)。
他のコンテクストでスクリプトをサポートしてもよいが(MAY)、この仕様は、そのようなスクリプトに対応していない。その結果、そのようなコンテクストにおけるスクリプトの使用は、リーディング システム間で一貫性がないかもしれない。
[HTML] に従ったスクリプトのユーザー エージェントとして、インタラクティブなスクリプト コンテンツ ドキュメントをレンダリングしてもよい(MAY)。
親のコンテンツ ドキュメントまたは EPUB 出版物内の他のコンテンツの DOM を変更するコンテナ制約のスクリプトを許可してはならない(MUST NOT)、含んでいる矩形のサイズを操作するための指示を包含してはならない(MUST NOT)。(注:たとえスクリプトはコンテナ制約でなくても、リーディング システムは、変更に制約を強要してもよい(MAY)(dom-manipulation 機能を参照されたい)。)
(例えば、ネットワークの制限など)スクリプトの実行時に提供される機能に追加の制限を加えてもよい(MAY)。
補足 A JavaScript epubReadingSystem オブジェクトで定義されている JavaScript の navigator
拡張オブジェクト epubReadingSystem
を実装しなければならない(MUST)。コンテナ制約のスクリプトのコンテクストの機能で定義されている dom-manipulation
と layout-change
機能もサポートしなければならない(MUST)。
スクリプトをサポートしないリーディング システムは、次の基準を満たさなければならない(MUST)。
スクリプト コンテンツ ドキュメントのためのフォールバックで定義されているスクリプトコンテンツのためのフォールバックを処理をしなければならない(MUST)。
リーディング システムは、他の EPUB の機能を無効にしたり、または(例えば、改ページの無効による)異なるレンダリングやユーザーエクスペリエンスを提供する方法でスクリプト コンテンツ ドキュメントをレンダリングするかもしれない。
コンテナ制約モデルの使用を制限を選択する製作者は、スクリプトと非スクリプトコンテンツの間でより一貫性のあるユーザーエクスペリエンス(例えば、一貫性のあるページネーションの挙動)を確保するであろう。
製作者は、これらの EPUB 出版物の互換性や寿命、アクセシビリティを向上させ、可能な時はスクリプトの包含を避ける現実的な宣言の技法を使用することを勧める。
このセクションは規定ではない。
全ての EPUB 製作者と EPUB リーディング システムの開発者は、スクリプトコンテンツが、リーディング システムによって実行されるときに発生するセキュリティ問題に注意する必要がある。リーディング システムとブラウザによって採用されている基本的なスクリプトモデルが同じであるように、Web コンテクスト内で発生した問題と同じ種類を考慮する必要がある。
各リーディング システムは、特定のドキュメント内のスクリプトが信頼できるかそうでないかを、はっきりさせる必要がある。全てのスクリプトが、信頼できない(そして潜在的に悪意のある)ものとして処理され、攻撃の全てのベクトルが分析され、保護されるのを勧める。具体的には、次を考慮する必要がある。
ランタイム環境への攻撃(例えば、ユーザーのハードドライブからファイルを盗む)、
リーディング システム自体への攻撃(例えば、読者の本のリストを盗んだりまたは予想外の動作を引き起こす)、
他に対するあるコンテンツ ドキュメントの攻撃(例えば、他のドキュメントに存在するデータを盗む)、
ドキュメントの暗号化された部分に対する非暗号化のスクリプトの攻撃(例えば、保護されているコンテンツを抽出する悪意のあるスクリプトの注入)、
ローカル ネットワークへの攻撃(例えば、ファイア ウォールの背後にあるサーバからデータを盗む)。
次の推奨事項は、信頼できないスクリプトを処理するためのガイドとして提供する。
ブラウザベースのセキュリティは、ドキュメントの URL とドメインに大きく依存してるように、一意のドメインが各コンテンツ ドキュメントに割り当てられているように、リーディング システムは動作する必要がある。この提案を採用することで、外部 URL やクッキー、DOM ストレージなどへアクセスを制限して、互いと他のインターネットドメインからドキュメントを分離する。
スクリプトとネットワークアクセスが有効なリーディング システムは、ネットワークのアクティビティが発生していること、そして/または、それらを無効にできることを読者に通知する手法の包含をもまた考慮する必要がある。
実際のところ、リーディング システムは、ドキュメントを跨いでドメインを共有するかもしれないが、それらはまだドキュメント間の分離を維持する必要がある。
ドキュメンの一部が暗号化され、そして他の一部がそうでないとき、または異なる暗号化キーがドキュメントの異なる部分に使用されているとき、一意のドキュメントごとのドメインは、十分な保護が提供できないかもしれない。
リーディング システムに永続的なデータの保存を許可するとき、そのデータを慎重に処理する必要がある。スクリプトは、クッキーや DOM ストレージを通じて永続的なデータを保存するかもしれないが、リーディング システムは、そのような試みをブロックするかもしれない。データの保存を許可しているリーディング システムは、他の関係のないドキュメント(例えば、偽装されているもの)で利用することができないことを保証する必要がある。具体的には、一致するドキュメントの識別子(もしくは同様のメタデータ)のチェックは、永続的なデータへのアクセスを制御するのに妥当な方法ではない。
ローカルストレージを許可しているリーディング システムは、読者のためにデータの調査、無効化または削除の手段としても提供する必要ある。対象の EPUB 出版物を削除するとき、それのデータは破壊される必要がある。
これらの推奨事項への順守は、上に挙げた可能性のある攻撃からの保護を保証しないことを注意されたい。開発者は、それらのリーディング システムのコンテクスト内のそれぞれの潜在的な脆弱性を調査する必要がある。
このセクションは規定ではない。
リーディング システムは、[HTML] のような DOM のイベントモデルに従い、これらのイベントに関連付けられている標準のアクションを実行する前に、スクリプト環境に UI イベントを渡す必要がある。リーディング システムの開発者は、潜在的に悪意のあるスクリプトがこれらのリーディング システムに影響を与えることができる範囲を制限するために、スクリプトが重要な機能(たとえばナビゲーションなど)を無効にできないことも保証する必要がある。結果として、スクリプト環境は、いかなるイベントの標準アクションをキャンセルできる必要はあるが、一部のイベントは通過させないかもしれないしキャンセルできないかもしれない。
製作者は、これらの EPUB 出版物にスクリプト機能を加えるとき、リーディング システムの実装の可能性を考慮する必要がある。(例えば、デバイスの全てが物理キーボードを備えているわけではなく、多くの場合、ソフトウェアキーボードが、テキストのインプット要素のためのみに有効化される)。したがって、キーボードのイベントのみに頼るのは勧めない。目的のアクションのトリガーとなる代替の方法は、常に提供される必要がある。
このセクションは規定ではない。
このセクションは、パッケージ ドキュメントに pre-paginated として示された EPUB コンテンツ ドキュメントの大きさのプロパティの表現と解釈のための規則を定義する。
この仕様は、初期包含ブロック [CSS Snapshot] がどのようにリーディング システムのコンテンツ表示領域内に配置されるかを定義しない。
ページ分割された様式(つまり、固定の幅や高さの大きさを持つ)でレンダリングされるレンディションまたは個々のスパイン項目を指定する方法についての情報は固定レイアウト プロパティ [Packages 3.1] を参照されたい。
適合した固定レイアウト ドキュメントは、次の基準を全て満たさなければならない(MUST)。
初期包含ブロックの大きさに定義されているような初期包含ブロック [CSS Snapshot] を指定しなければならない(MUST)。
適合した EPUB リーディング システムは、固定レイアウト ドキュメントを処理するための次の基準を全て満たさなければならない(MUST)。
ビューポートのレンダリングに定義されているように、ドキュメントに全てのコンテンツ表示領域を割り当てるべきである(SHOULD)。
HTML に ICB を表現するで定義されているように、XHTML コンテンツ ドキュメントをレンダリングするのに viewport meta
内で表現する大きさを使用しなければならない(MUST)。
SVG コンテンツ ドキュメントをレンダリングするのに SVG に ICB を表現するで定義されているような大きさを使用しなければならない(MUST)。
固定レイアウト ドキュメントをレンダリングするとき、デフォルトの意図は、コンテンツ表示領域を可能な限り、使用可能なビューポート エリアの多くを占めるようにするべきである(SHOULD)。リーディング システムは、ビューポートもしくはビューポートを囲むアプリケーションエリアに例えばボーダーまたはマージン、ヘッダー、フッターなどの追加のコンテンツを入れるべきではない(SHOULD NOT)。
ユーザーへのリーディング システムをコントロールするウィジェットは、上記の期待される挙動に包含されていない。
XHTML コンテンツ ドキュメントにおける初期包含ブロック [CSS Snapshot] の大きさは、[CSS Device Adaptation] に定義された構文を使用して viewport meta
タグで表現されなければならない(MUST)。この仕様のこの版では、幅と高さの表現のみ、リーディング システムによって認識されなければならない(MUST)。
次の例は、viewport meta
タグを示している。
<head>
…
<meta name="viewport" content="width=1200, height=600"/>
…
</head>
リーディング システムは、viewport meta
タグで宣言された初期包含ブロック(ICB)の大きさに XHTML コンテンツを切り抜かなければならない(MUST)。初期包含ブロックの外側に位置するコンテンツは見えないであろう。ICB のアスペクト比がリーディング システムのコンテンツ表示領域のアスペクト比と一致していないとき、リーディング システムはユーザインタフェースに順応するため領域内の ICB を配置してもよく(MAY)、つまり、レターボックスがコンテンツの片側もしくは両側に表示されてもよい(MAY)。
SVG コンテンツドキュメントの場合、ルートの svg
要素に、次のいずれかまたは両方を包含しなければならない(MUST)。
必要に応じて、SVG コンテンツ ドキュメントの適切な再スケーリングを確保するために viewBox
属性のみ使用することを推奨(RECOMMENDED)する。
次の例は、高さ 1200 ピクセルに従って幅 844 ピクセルのアスペクト比を持つ SVG コンテンツ ドキュメント のための viewBox
属性の宣言を示している。
<svg xmlns="http://www.w3.org/2000/svg"
version="1.1"
viewBox="0 0 844 1200">
…
</svg>
[SVG] viewBox
属性が存在する場合のみ、座標系の定義は、ビューポートにマップされ、アスペクト比をキープし、ピクセル [CSS Snapshot] 内の初期包含ブロック(ICB)を確立する。典型的に、このマッピングの結果は、ビューポートの境界となる。
x
と y
、height
、width
属性が存在する場合のみ、(ICB を確立する)ピクセル値に定義されるべきである(SHOULD)。x
と y
、height
、width
属性によって定義されたピクセル値が、ビューポートのピクセル値を超える場合、グラフィックは、ビューポートの境界に切り抜かれる(すなわち、グラフィックは再スケーリングしない)であろうことに注意されたい。
座標系が、viewBox
と width
/height
値によって定義される場合、viewBox
によって定義される座標系は、前の項目によって説明されているように境界で切り抜かれる。
viewBox
と width
/height
値間における相互作用の詳細は [SVG] を見よ。
このセクションは規定ではない。
W3C 発音辞書仕様 [PLS] は、自動音声認識とテキスト読み上げ(TTS)エンジンの使用による XML ベースの発音辞書のための構文とセマンティクスを定義している。
次のセクションは、EPUB 出版物を包含している PLS ドキュメントのための基準と、XHTML コンテンツ ドキュメントに PLS ドキュメントを結びつけるためのルールの適合性を定義している。
合成音声に関連する EPUB 3.1 の機能の詳細な情報は、テキスト読み上げ [EPUB3 Overview] を参照されたい。
適合した EPUB 出版物のレンディションは、PLS ドキュメントに含むために次の基準を全て満たさなければならない(MUST)。
PLS ドキュメントは、XHTML コンテンツ ドキュメントに関連付けてよい(MAY)。それぞれの XHTML コンテンツ ドキュメントは、0以上の PLS ドキュメントを関連付けて含んでもよい(MAY)。
PLS ドキュメントは、「pronunciation」に設定される rel
属性を持った [HTML] の link
要素と PLS メディア タイプ「application/pls+xml
」に設定される type
属性を使用して、それを適用した XHTML コンテンツ ドキュメントに関連付けられねばならない(MUST)。
link
要素 hreflang
属性 それぞれの PLS link
に指定するべきであり(SHOULD)、その値が指定されたとき、発音辞書が関連している言語 [PLS] に一致しなければならない(MUST)。
PLS ドキュメントは、PLS ドキュメント — コンテンツの適合性 で定義されたコンテンツの適合性の基準に満たさなければならない(MUST)。
PLS ドキュメントは、EPUB パッケージ — 適合性 [Packages 3.1] で定義されているような表現と配置にしなければならない(MUST)。
次の例は、XHTML コンテンツ ドキュメントに関連付けられた二つの PLS ドキュメント(中国語とモンゴル語のためのもの)を示している。
<html … >
<head>
…
<link rel="pronunciation" type="application/pls+xml" hreflang="zh" href="../speech/zh.pls"/>
<link rel="pronunciation" type="application/pls+xml" hreflang="mn" href="../speech/mn.pls"/>
</head>
…
</html>
PLS ドキュメントは次の基準を全て満たさなければならない(MUST)。
XML 適合性 [EPUB 3.1] で定義された XML ドキュメントための適合性の制約を満たさなければならない(MUST)。
URI https://www.w3.org/TR/2008/REC-pronunciation-lexicon-20081014/
[PLS] で利用できる PLS ドキュメントのための RELAX NG スキーマに妥当でなければならない(MUST)。
PLS ドキュメントのファイル名はファイル拡張子の .pls
を使用するべきである(SHOULD)。
適合した EPUB リーディング システムは、PLS ドキュメントの処理のための次の基準を全て満たさなければならない(MUST)。
テキスト読み上げ(TTS)機能を持ったリーディング システムは、PLS をサポートするべきである(SHOULD)。
PLS をサポートするリーディング システムは、[PLS] で定義されているように PLS ドキュメントを処理しなければならない(MUST)。
PLS をサポートするリーディング システムは、発音辞書が関連している言語 [PLS] に一致する language [HTML] は現在の XHTML コンテンツ ドキュメント内の全てのテキストノードに供給された発音命令を適用しなければならない(MUST)。言語タグを一致させるためのアルゴリズムは BCP47 で定義されている。
発音ルールが、特定の言語に特定の文字列の対象に対して複数指定されているとき、ルールの最後の発生は、任意の事前に定義された発音ルールが上書きするこのような方法で、優先される。
PLS と SSML 属性をサポートするリーディング システムは、ssml:ph
属性経由で提供される任意の発音命令が ssml:ph
属性を含んでいる要素のテキストノードに一致する pls:grapheme
に優先することを許可しなければならない(MUST)。
この仕様は、次のように、[HTML] ナビゲーション オブジェクトを拡張する。
[Exposed=(Window)] interface EpubReadingSystem { [Unforgeable] readonly attribute DOMString name; [Unforgeable] readonly attribute DOMString version; [Unforgeable] boolean hasFeature(DOMString feature, optional DOMString version); };
[WEB IDL] notation.
この仕様は、WorkerNavigator
オブジェクト [Web Workers] の epubReadingSystem
プロパティ拡張を定義していない。したがって、リーディング システムは、ワーカーのスクリプト コンテクストで epubReadingSystem
オブジェクトの公開を必要とせず、製作者は、その存在に依存することはできない。
epubReadingSystem
オブジェクトは、スクリプト コンテンツ ドキュメントが、ユーザーのリーディング システムに関する情報を照会できるインターフェースを提供する。
オブジェクトは、リーディング システムのプロパティ(名前とバージョン)を表示し、そのサポートする機能を決定するために呼び出すことができる hasFeature メソッドを提供する。
現在のリーディング システムの名前を表示させる JavaScript の関数の例。
alert("Reading System name: " + navigator.epubReadingSystem.name);
リーディング システムは、ネストされたコンテナ制約のスクリプト コンテクストを包含する、ロードされた全てのスクリプト コンテント ドキュメントの navigator
オブジェクト上に epubReadingSystem
オブジェクトを公開しなければならない(MUST)。リーディング システムは、DOMContentLoaded
イベントがトリガー [HTML] されたときよりも遅延することなく、epubReadingSystem
オブジェクトを利用できることを担保しなければならない(MUST)。
リーディング システムの実装は、技術的な実現可能性の理由から、スクリプト コンテンツ ドキュメント内に epubReadingSystem
オブジェクトの複製されたインスタンスを作るかもしれない。このような場合に、リーディング システムは、(そのプロパティとメソッドの値によって反映されるように)オブジェクトの状態が一貫してコピーされた全てのインスタンス間で維持されることを保証する必要がある。
次のプロパティで、リーディング システムに関する情報を読み出せるようにしなければならない(MUST)。
名前 | 概要 |
---|---|
name | リーディング システム(例えば、"iBooks " や "Kindle ")の名前を表す String 値を返す。 |
version | リーディング システム(例えば、"1.0 ", "2.1.1 ")のバージョンを表す String 値を返す。 |
hasFeature
メソッドは、指定された機能のいずれかのバージョンがサポートされているかどうかを示すブーリアン値、または指定した機能が認識されない場合は undefined
を返す。
省略可能な(OPTIONAL) version
パラメータは、時間とともに互換性のない方法で変更できるカスタム機能を問い合わせるために包含されている。返り値は、機能の特定のバージョンのみサポートすることを示している。
製作者は、この仕様に定義された機能を問い合わせるとき、version
パラメータを包含するべきではない(SHOULD NOT)。これらの機能は、バージョンを持たないと見なされる。リーディング システムがこの仕様に定義された機能をサポートしない場合、全ての提供された version
パラメータと true
値の返りを無視しなければならない(MUST)。
現在のリーディング システムが DOM のスクリプト操作をサポートしているかどうかを表す JavaScript の関数の例。
var feature = "dom-manipulation";
var conformTest = navigator.epubReadingSystem.hasFeature(feature);
alert("Feature " + feature + " supported?: " + conformTest);
次の表は、epubReadingSystem
オブジェクトをサポートするリーディング システムが(戻り値を提供するため)認識しなければならない(MUST)機能のセットを掲載している。これらの機能のサポートは、省略可能(OPTIONAL)である。
名前 | 概要 |
---|---|
dom-manipulation |
スクリプトは、ドキュメントの DOM(スパイン レベルのスクリプトのみ適用される)に構造の変更をしてもよい(MAY)。 |
layout-changes |
スクリプトは、コンテンツのレイアウト(スパイン レベルのスクリプトのみ適用される)に影響を及ぼす属性と CSS スタイルの変更をしてもよい(MAY)。 |
touch-events |
デバイスはタッチイベントをサポートしており、リーディング システムは、コンテンツにタッチイベントを渡す。 |
mouse-events |
デバイスはマウスイベントをサポートしており、リーディング システムはコンテンツにマウスイベントを渡す。 |
keyboard-events |
デバイスはキーボードイベントをサポートしており、リーディング システムはコンテンツにキーボードイベントを渡す。 |
spine-scripting |
リーディング システムが、(例えば、コンテナ制約のスクリプトは、トップレベル コンテンツ ドキュメント内でサポートしているスクリプトに依存している全てのアクションが、それらを試みる前に達成のチャンスがあるかどうか決定できる)スパイン レベルのスクリプトをサポートするかどうかを示す。 |
追加機能は、リーディング システムの開発者により加えられてもよいが(MAY)、この仕様の将来のバージョンで、そのようなカスタムの追加と競合したり互換性のない方法でこの一覧に追加するかもしれない。
この補足は、この仕様の非推奨(deprecated)と置き換え(superseded) [EPUB 3.1] 機能の一覧である。
現在、rendition:viewport プロパティ [Packages 3.1] の使用は、廃止予定である。この機能は常に省略可能(OPTIONAL)であるため、リーディング システムのサポートは、変更されない。開発者は、将来のバージョンにおいて機能が取り除かれるであろうことを、知らされている。
layoutStyle プロパティの使用は、廃止予定である。
このプロパティに関する詳細情報は、[Content Docs 3.0.1] の定義を参照されたい。
このセクションは規定ではない。
EPUB は、出版社、ベンダー、ソフトウェア開発者、および関連する標準規格の専門家を集め、協力的な努力で国際電子出版フォーラム(International Digital Publishing Forum, IDPF) によって開発されました。
EPUB 3.1 仕様は下に述べるリーダーシップにより2015年7月のメンバーシップによって承認された憲章の下で動作し国際電子出版フォーラム(International Digital Publishing Forum, IDPF)の EPUB Maintenance Working Group によって調整した:
ワーキング グループのアクティブメンバー:
より詳細な承認と EPUB の各バージョンへの貢献者については謝辞と貢献者 [EPUB3 Overview] を参照されたい。
[Alt Style Tags] Alternate Style Tags .
[BCP 47] Tags for Identifying Languages; Matching of Language Tags. September 2009.
[CSS Snapshot] CSS Snapshot .
[CSS3 Fonts] CSS Fonts Module Level 3 .
[CSS3 Text Decoration] CSS Text Decoration Module Level 3 .
[CSS3 Text-20160119] CSS Text Level 3 (20160119) .
[CSS3 Values and Units] CSS Values and Units Module Level 3 .
[CSS3 Writing Modes] CSS Writing Modes Module Level 3 .
[CSS3 Writing Modes-20151215] CSS Writing Modes Module Level 3 (20151215) . 15 December 2015.
[Content Docs 3.0.1] EPUB Content Documents 3.0.1 .
[DOM2 Style] Document Object Model (DOM) Level 2 Style Specification, Version 1.0. 13 November 2000.
[EPUB 3.1] EPUB 3.1 .
[EPUB Accessibility] EPUB Accessibility .
[HTML] HTML .
[HTML+RDFa11] HTML+RDFa 1.1 . Support for RDFa in HTML4 and HTML5. 22 August 2013.
[MATHML] Mathematical Markup Language (MathML) Version 3.0 . 21 October 2010.
[Manifest Vocab] EPUB Manifest Properties Vocabulary .
[Microdata] HTML Microdata (20121025) . 25 October 2012.
[PLS] Pronunciation Lexicon Specification 1.0 (PLS) . 14 October 2008.
[Packages 3.1] EPUB Packages 3.1 .
[RDFa 1.1] RDFa Core 1.1 - Second Edition . Syntax and processing rules for embedding RDF through attributes. 22 August 2013.
[RFC2119] Key words for use in RFCs to Indicate Requirement Levels (RFC 2119) . March 1997.
[Reserved Prefixes] EPUB Content Documents Reserved Prefixes.
[SSML] Speech Synthesis Markup Language (SSML) Version 1.1 . 7 September 2010.
[SVG] Scalable Vector Graphics (SVG) .
[Structure Vocab] EPUB 3 Structural Semantics Vocabulary .
[Unicode] The Unicode Consortium. The Unicode Standard..
[W3C Process] World Wide Web Consortium Process Document . 1 September 2015.
[WAI-ARIA] Accessible Rich Internet Applications (WAI-ARIA) 1.0 . 20 March 2014.
[WEB IDL] WebIDL Level 1 (20160308).
[XML] Extensible Markup Language (XML) 1.0 (Fifth Edition) . 26 November 2008.
[XMLNS] Namespaces in XML (Third Edition) . 8 December 2009.
[Attribute Extensions] EPUB Custom Attribute Extensions for Content Documents.
[CSS Device Adaptation] CSS Device Adaptation Module Level 1.
[EPUB3 Changes] EPUB 3.1 Differences from EPUB 3.0.1 .
[EPUB3 Overview] EPUB 3.1 Overview .
[IPA] IPA Chart . 2005.
[Web Workers] Web Workers.