EPUB リーディングシステム 3.4

W3C 作業草案

この文書の詳細
このバージョン:
https://www.w3.org/TR/2026/WD-epub-rs-34-20260626/
最新公開バージョン:
https://www.w3.org/TR/epub-rs-34/
最新編集者草案:
https://w3c.github.io/epub-specs/epub34/rs/
履歴:
https://www.w3.org/standards/history/epub-rs-34/
コミット履歴
テストスイート:
https://w3c.github.io/epub-tests/index.html
実装レポート:
https://w3c.github.io/epub-specs/epub34/reports/
編集者:
Matt Garrish (DAISY コンソーシアム)
Ivan Herman (W3C)
元編集者:
Dave Cramer (W3C 招待エキスパート)
フィードバック:
GitHub w3c/epub-specs (プルリクエスト, 新しい課題, 未解決の課題)
public-pm-wg@w3.org へ、件名行を [epub-rs-34] … メッセージのトピック … として送信してください (アーカイブ)

概要

EPUB® 3は、デジタル出版物および文書の配布・交換形式を定義します。EPUB 形式は、HTML、CSS、SVG、およびその他のリソースを含む、構造化されセマンティックに拡張された Webコンテンツを、単一ファイルのコンテナーで配布するために表現、パッケージ化、符号化する手段を提供します。

この仕様は、EPUB 3リーディングシステム、すなわちEPUB出版物を レンダリングするユーザーエージェントの適合要件を定義します。

この文書のステータス

このセクションは、公開時点におけるこの 文書のステータスを説明します。現在のW3C 出版物の一覧、およびこの技術レポートの最新リビジョンは、 W3C標準および草案 インデックスで確認できます。

この文書は、Publishing Maintenance Working Groupにより、 勧告 トラックを使用して作業草案として公開されました。

作業草案としての公開は、 W3Cおよびそのメンバーによる承認を 意味するものではありません。

これは草案文書であり、いつでも他の文書によって 更新、置換、または廃止される可能性があります。この文書を 進行中の作業以外のものとして引用することは不適切です。 この今後の勧告に対する将来の更新では、 新機能が組み込まれる可能性があります。

この文書は、 W3C 特許 ポリシーの下で運営されるグループにより作成されました。 W3Cは、 そのグループの成果物に関連して行われた 特許開示の公開リストを管理しています。 そのページには、 特許を開示するための手順も含まれています。ある個人が、 必須クレームを含むとその個人が考える特許について 実際の知識を有している場合、その情報を W3C特許ポリシーのセクション6に従って開示しなければなりません。

この文書は、 2025年8月18日付W3Cプロセス文書に準拠します。

1. はじめに

1.1 概要

このセクションは非規範です。

EPUB 3標準は、2つの異なる関心事に分けられます。すなわち、EPUB出版物 の作成は、コア仕様 [epub-34]で定義される一方、この 仕様は、それらをEPUBリーディングシステムでレンダリングするための要件を詳述します。

EPUBリーディングシステムは多くの形態をとることができます。たとえば、コンテンツをユーザーに レンダリングするための視覚的な表示領域を持つ場合もあれば、コンテンツの音声再生だけを提供する場合もあります。 したがって、すべてのリーディングシステムに適用される単一の規則群は存在しません。むしろ、この仕様は リーディングシステムの機能と、それがサポートする機能に基づいてレンダリング要件を分解しています。

さらに、この仕様は、開発者が独自のユーザーインターフェイスを作成できるよう大きな柔軟性を認めており、 メタデータ処理のようなものに対する要件は、そのような柔軟性を可能にするため意図的に最小限に とどめられています。

そのため、この仕様はリーディングシステムの正式な要件を特定してはいるものの、この文書だけを 切り離して理解することはできません。開発者は、利用可能な情報の全範囲を理解するために、 EPUB出版物の完全なコンテンツ構造にも精通している必要があります。

注記

適合するリーディングシステムは、必ずしも単一の専用プログラムまたはデバイスではなく、 分散システムとして存在する場合があります。

1.2 用語

この仕様は、EPUB 3.4で定義された用語 [epub-34]を使用します。

また、次の用語も定義します。

コンテンツ表示領域

ビューポート内にあり、EPUBコンテンツ文書の表示専用となる領域。 コンテンツ表示領域には、EPUBリーディングシステムが ビューポートに注入する可能性のある、境界線、余白、ヘッダー、フッター、またはその他の 装飾は含まれません。

合成見開きの場合、ビューポートには2つの コンテンツ表示領域が含まれます。

注記

セクション内で用語が最初に出現する箇所だけが、その定義にリンクされます。

1.3 適合性

非規範としてマークされたセクションに加え、この仕様内のすべての作成ガイドライン、図、例、および注記は 非規範です。この仕様内のそれ以外のすべては規範です。

この文書におけるキーワード MAYMUSTMUST NOTOPTIONALRECOMMENDEDSHOULD、および SHOULD NOT は、 ここに示すようにすべて大文字で出現する場合に限り、 BCP 14 [RFC2119] [RFC8174] で説明されるとおりに解釈されます。

すべての注意ボックス、括弧内の説明文、およびアルゴリズムの説明も 非規範です。

1.4 他の 仕様との関係

このセクションは非規範です。

1.4.1 HTMLとの関係

[html]標準は継続的に進化しており、もはや バージョン付きリリースは存在しません。 その標準はさらに、MathML、SVG、CSS、JavaScriptなど、進化を続けるさまざまな技術を 参照しています。

リーディングシステムの開発者は、システムを最新に保つため、 HTMLおよびそれが参照する技術の変更を追跡する必要があります。

この仕様は、EPUBリーディングシステムに対して、スクリプト処理フォーム送信、 またはHTML DOM [dom]のサポートを要求しません。この仕様に適合するリーディングシステムは、 適合するEPUBコンテンツ文書を処理できることだけが期待されます。 スクリプト処理およびフォーム送信のサポートは必須ではないため、適合するリーディングシステムが 完全に適合するHTMLユーザーエージェントではない場合があります。

1.4.2 SVGとの関係

この仕様は、[svg]の特定のバージョンを参照せず、 代わりに日付のない参照を使用します。 この参照に曖昧さがある場合は常に、最新の推奨仕様が権威ある参照となります。

この方法により、EPUBはSVG標準の変更に常に追随できます。リーディングシステムの開発者は、システムを最新に保つため、 SVG標準の変更を追跡する必要があります。

2. リーディングシステムの適合性

2.1 要件

リーディングシステムがある機能をサポートしなければならないかどうかは、 そのセクションの冒頭で述べられます。 この仕様に適合するには、リーディングシステムは、各セクションで定義されるすべての 必須機能に加え、該当するすべての条件付き必須機能(たとえば、リーディングシステムが ビューポートを持つ場合に画像レンダリングをサポートすること)を MUSTサポートします。

注記

リーディングシステムは必ずしも単一のアプリケーションではなく、 分散システムとして存在する場合があるため、リーディングシステム要件が、EPUB出版物をユーザーに レンダリングするアプリケーションで常に満たされるとは限りません。例として、管理されたコンテンツ リポジトリ(書店または図書館システムなど)とのみ相互作用するリーディングシステムがあります。この場合、 リーディングシステム開発者が、要件がそのアプリケーションには適用されないこと(たとえば、重複した itemref エントリーを持つEPUB出版物 [epub-34] が システムに入れないこと)を実証できるなら、リーディングシステム全体としては依然として適合していると見なされます。

推奨機能および任意機能をサポートする場合、リーディングシステムは、各セクションで定義されるすべての 規範要件を満たさなければなりません(MUST)。

リーディングシステム開発者が推奨機能または任意機能をサポートしないことを選択した場合でも、そのことは そのセクションの規範要件が一切適用されないことを常に意味するわけではありません。場合によっては、 機能を実装しない場合の代替要件が存在することがあります(たとえば、スクリプト処理がサポートされない場合に フォールバックを処理すること)。リーディングシステムは、機能をサポートしない場合、 これらの代替要件を満たさなければなりません(MUST)。

注記

EPUB出版物には、[epub-34]で指定されていない追加情報(たとえば、 パッケージ文書のメタデータ)が含まれていることがよくあります。 リーディングシステムは、この追加情報を、ユーザーインターフェイスの改善など任意の目的に 使用できます。

2.2 エラー処理

リーディングシステムは、EPUB出版物、またはその中のリソースが、 コンテンツ作成要件または処理要件に違反している場合、それらを読み込む必要はありません。

2.3 エラー報告

このセクションは非規範です。

リーディングシステムは、EPUB出版物の処理およびレンダリング中に遭遇したエラー (たとえば、固定レイアウト文書の寸法が推測された場合など)を 報告する必要はありませんが、この情報にアクセスする手段を提供することが強く推奨されます。 同等の例としては、WebブラウザーがHTMLページやアプリケーションのデバッグ用に提供する開発者ツールがあります。

このような処理情報へのアクセスにより、たとえばEPUB出版物のデバッグをより効率的に行えます。 デバッグで最大限に役立てるためには、リーディングシステムが直接遭遇した問題だけでなく、 使用しているアプリケーションが報告した問題(たとえば、コンテンツをレンダリングするために使用される ブラウザーコアから報告されるHTML、CSS、JavaScriptのエラー、または EPUBCheckによって報告される検証問題)も 報告することが望まれます。

エラー報告は、ユーザーの一般的な読書体験に影響を与えるような押しつけがましい体験であることは想定されていません。 むしろ、報告情報は、たとえば設定メニューから選択的に有効化できるようにし、ユーザーを不必要に 煩わせないようにできます。

3. 出版物リソース処理

リーディングシステムは、出版物リソース [epub-34]を 処理しなければなりません(MUST)。

3.1 コアメディア型

リーディングシステムがビューポートを持つ場合、[epub-34]の画像コアメディア型リソースを サポートしなければなりません(MUST)。

録音済み音声を レンダリングする機能を持つ場合、[epub-34]の音声コアメディア型リソースを サポートしなければなりません(MUST)。

注記

リーディングシステムは、 H.264 [h264]および VP8 [rfc6386]の少なくとも一方の動画コーデックを サポートすることが望まれますが、これは適合要件ではありません。リーディングシステムは任意の動画コーデックを サポートすることも、まったくサポートしないこともできます。リーディングシステム開発者は、 サポートする動画形式を決定する際、普及範囲、再生品質、技術ロイヤリティなどの要因を 考慮しなければなりません。

3.2 外部リソース

リーディングシステムは、任意の外部リソース型の集合をサポートしてもかまいません(MAY)。

3.3 マニフェストフォールバック

外部コンテンツ文書について、リーディングシステムが そのリソースのMIMEメディア型をサポートしない場合、サポートされないリソースの代わりに使用する サポート済み出版物リソースを特定するまで、そのリソースのマニフェスト フォールバックチェーン [epub-34]を辿らなければなりません(MUST)。

マニフェストフォールバック [epub-34]が EPUBコンテンツ文書に提供されている場合、リーディングシステムは、 利用可能な選択肢から、レンダリングに最適なバージョンを見つけるために選択してもかまいません (たとえば、それぞれのproperties属性を調べるなど)(MAY)。

リーディングシステムがフォールバックチェーン内の複数の出版物 リソースをサポートする場合、リソースのproperties属性 [epub-34] 値に基づいて使用するリソースを選択してもかまいません(MAY)。そうでない場合は、優先 フォールバック順序 [epub-34]を尊重するべきです(SHOULD)。

リーディングシステムがフォールバックチェーン内のどのリソースも サポートしない場合、コンテンツを表示できなかったことをユーザーに通知しなければなりません(MUST)。

リーディングシステムは、すでに遭遇したマニフェスト項目への 最初の参照でフォールバックチェーンを終了しなければなりません(MUST)。

3.4 リソースの場所

リーディングシステムは、リモートリソースを、リソースの場所 [epub-34]で定義されるとおりに サポートするべきです(SHOULD)。

ネットワーク攻撃のリスクを制限するため、リーディングシステムは、 https URIスキーム [rfc9110]を介して参照されるリモート リソースだけを読み込むべきです(SHOULD)。

3.5 Data URL

リーディングシステムは、 コンテキストメニューのようなリーディングシステムのアフォーダンスを通じて開始された場合を除き、 data URL [rfc2397]がトップレベル閲覧コンテキスト [html]で 開くことを防がなければなりません(MUST)。 リーディングシステムがトップレベルコンテンツ文書にトップレベル 閲覧コンテキストを使用しない場合、たとえばトップレベルコンテンツ文書がSVGである場合も、 data URLがトップレベルコンテンツ文書であるかのように開くことを防がなければなりません(MUST)。

3.6 File URL

リーディングシステムは、file URL [rfc8089]を介して参照される リソースへのアクセスを防がなければなりません(MUST)。

3.7 XML処理

A リーディングシステムは、 次の条件を満たす非検証XMLプロセッサー [xml]を 使用しなければなりません(MUST)。

3.8 国際化

出版物リソースの処理の一部として、リーディングシステムは、 XHTMLコンテンツ文書またはSVGコンテンツ文書における言語および基本方向を設定する 属性に加え、すべてのXML文書(たとえば、パッケージ文書およびメディアオーバーレイ文書)の xml:lang属性を処理する必要があります。

さらに、リーディングシステムは、dir 属性 [epub-34]をパッケージ文書に対しても処理しなければなりません(MUST)。 ここで、dirで指定された基本方向は、それが指定された要素、および別のdirの インスタンスで上書きされない限り、その内容内のすべての要素に適用されます。(詳細については、 5.1 基本方向も参照してください。)

この情報が 出版物リソースに存在しない場合、リーディングシステムは、 パッケージ文書で表現された情報(すなわち、xml:langおよびdir 属性、link 要素上のhreflang属性、または dc:language 要素 [epub-34])から、そのリソースの言語または基本方向のいずれも 仮定してはなりません(MUST NOT)。 明示的な言語または方向情報が存在しない場合の扱いについての詳細は、そのリソースの正式な仕様を参照してください。

3.9 ネットワークアクセス

リーディングシステムは、リモートリソースを取得するため、および スクリプト付きコンテンツ文書WebホストAPIと通信し、リソースを取得することを可能にするために、 ネットワークアクセスをサポートしてもかまいません(MAY)。

ただし、ネットワークアクセスの提供は、リーディングシステムに対するセキュリティリスクと、 ユーザーに対するセキュリティおよびプライバシーリスクの両方を増大させます。これらのリスクは、 リーディングシステムおよびそれが動作するプラットフォームに固有であることが多く、多くのリーディングシステムが 基盤としているブラウザーコアは、Webブラウザー自体と同じセキュリティおよびプライバシー制御を提供しません。 したがって、開発者はネットワークアクセスを許可する際には特に注意し、リーディングシステムが攻撃に対して 脆弱でないことをより徹底的にテストする必要があります。これらのリスクに関する詳細は、15. セキュリティとプライバシーで 提供されています。

リーディングシステム開発者がネットワークアクセスを許可する場合、次の両方を行うことが RECOMMENDEDです。

4. Open Container Format (OCF) 処理

リーディングシステムは、 EPUB コンテナー [epub-34]を処理しなければなりません(MUST)。

注記

EPUBコンテナーを処理するアプリケーションは、完全なリーディングシステムである必要はありません (たとえば、アプリケーションはコンテナーの内容を抽出するだけ、またはパッケージ化されたコンテンツの妥当性を チェックするだけの場合があります)。このような場合、そのようなアプリケーションの開発者は、このセクションで定義される リーディングシステムのレンダリング要件を無視できます。

4.1 OCF抽象コンテナー

4.1.1 ルートディレクトリのURL

リーディングシステムは、OCF抽象コンテナールートディレクトリに URL [url]を割り当てなければなりません(MUST)。 このURLはコンテナールートURLと呼ばれます。これは実装固有ですが、 実装は次のプロパティを持たなければなりません(MUST)。

注記

リーディングシステム内のEPUB出版物のユーザー固有の各インスタンスごとに オリジン [html]が一意であるということは、 2人の異なるユーザーが同じEPUB出版物のコピーを取得した場合、同じリーディングシステムを使用していても、 それらのコピー上のオリジンは2人のユーザーで異なることを意味します。

注記

コンテナールートURLのプロパティにより、 適合するリーディングシステムは、任意の相対URL文字列をコンテンツURLへ解析します。言い換えると、相対リンクは コンテナーコンテンツの外へ「漏れ」ません。これはセキュリティ上重要な機能です。

実際には、コンテナールートURLは、次のように定義されたURLと同様に振る舞います。

URLコンポーネント
スキーム httpまたはhttps
ホスト localhost
ポート EPUBインスタンスに一意に割り当てられる動的ポート

例:

コンテナー ファイル ファイル パス URL
ルートディレクトリ 空文字列 http://localhost:49152/
パッケージ文書 EPUB/package.opf http://localhost:49152/EPUB/package.opf
EPUBコンテンツ文書 HTML/file name.xhtml http://localhost:49152/HTML/file%20name.xhtml
URL文字列
(たとえば パッケージ文書内で見つかるもの)
コンテンツURL
../HTML/file%20name.xhtml http://localhost:49152/HTML/file%20name.xhtml
/Media/img.png http://localhost:49152/Media/img.png
../../../Media/img.png http://localhost:49152/Media/img.png

最後の2つのリンクは、非適合またはレガシーのリーディングシステムおよびツールチェーンとの 相互運用性を向上させるため、EPUB出版物では許可されていないことに注意してください。

注記

一部の言語仕様は、[url]より前の Requests For Commentsを参照しており、 その場合、その特定の言語のコンテンツには以前のRFCが適用されます。

注記

ほとんどの言語仕様とは異なり、リーディングシステムは、 META-INFディレクトリ内のすべてのファイルについて、コンテナールートURLbase URL [url]として使用する必要があります。 [epub-34]の META-INF ディレクトリ内のURLの解析に関するセクションも参照してください。

4.1.2 ファイル名

[epub-34]は、最大限の相互運用性のためにファイル名およびファイル パスの制限を定義していますが、リーディングシステムは、これらの要件に従わないファイル名および パスの処理を試みるべきです(SHOULD)。無効なファイル名および パスは、一部のオペレーティングシステムでのみ問題となる場合があります。

この仕様は、OCFファイル名およびパスを表現できないリーディングシステムが、この非互換性を どのように扱うかを指定しません。

4.1.3 META-INFディレクトリ

コンテナーファイル(container.xml

リーディングシステムは、デフォルトでは、 最初の rootfile 要素 [epub-34]から参照されるパッケージ文書を使用して、 EPUB出版物をレンダリングしなければなりません(MUST)。 リーディングシステムが他の利用可能な選択肢から選択する手段を認識する場合、 より適切なパッケージ文書を選択してもかまいません(MAY)。

メタデータファイル(metadata.xml

リーディングシステムは、認識されないルート要素を持つmetadata.xmlファイル [epub-34]を無視するべきです(SHOULD)。

マニフェストファイル (manifest.xml

リーディングシステムは、ZIPアーカイブに含まれる補助的なマニフェスト情報、または manifest.xmlファイル [epub-34]に含まれる補助的なマニフェスト情報を、 EPUB出版物の処理に使用してはなりません(MUST NOT)。

署名ファイル(signatures.xml

signatures.xml ファイル [epub-34]内の署名を検証するために使用されるダイジェストを計算する前に、 リーディングシステムは、署名後に暗号化されたデータを復号しなければなりません(MUST)。 署名前に暗号化されたデータは復号してはなりません(MUST NOT)。

署名後に暗号化されたデータの識別についての詳細は、Decryption Transform for XML Signature [xmlenc-decrypt]を参照してください。

その他のファイル

リーディングシステムは、META-INFディレクトリ内で、 予約済みファイル [epub-34]に 列挙されていない構成ファイルに遭遇しても失敗してはなりません(MUST NOT)。

4.2 OCF ZIPコンテナー

リーディングシステムは次を行います。

OCF ZIPコンテナーアーカイブ内の特定のフィールドに関して、リーディングシステムは次を行います。

4.3 フォント難読化

注意

NISTは、SHA-1アルゴリズム [fips-180-4]の使用を 2030年末までに段階的に廃止するよう助言しています。Publishing Maintenance Working Groupは、 SHA-1への依存のため、その日付以降のEPUB出版物においてフォント難読化をサポートする意図はありません。 この機能は、既存のEPUB出版物を無効にしないため、現在は古くなったものとしてマークされています。 リーディングシステム開発者は、この機能を使用したすべてのEPUB出版物を完全にサポートするために、 難読化解除のサポートを継続することを検討する必要があります。ただし、CSSはフォントフォールバックを提供するため、 サポート終了は一部のテキストコンテンツの外観にのみ影響します。

リーディングシステムは、 フォント 難読化 [epub-33]で定義されるフォントの難読化解除を サポートするべきです(SHOULD)。

元のデータを復元するには、リーディングシステムは単に処理を逆にできます。ソースファイルが 難読化されたデータとなり、宛先ファイルに生データが含まれます。

注記

EPUB 3はEPUB 3.0.1以前にフォント難読化を許可していましたが、難読化と圧縮の順序を 指定していませんでした。その結果、リーディングシステムは展開および難読化解除後に無効なフォントに 遭遇する場合があります。そのような場合、データを展開する前に難読化解除することで有効なフォントが 返される可能性があります。リーディングシステムはこの取得方法をサポートする必要はありませんが、 EPUB 3コンテンツを一般的にサポートする場合、この方法に遭遇する可能性が高いことを開発者は 考慮する必要があります。

5. パッケージ文書処理

リーディングシステムは、パッケージ文書 [epub-34]を処理しなければなりません(MUST)。

5.1 基本方向

dir属性 [epub-34]が設定され、 ltrまたはrtlの基本方向を示す場合、リーディングシステムは、[bidi]で定義される 上位レベルプロトコルに従って bidiアルゴリズムを上書きし、基本方向がltrの場合は段落埋め込みレベルを0に、 基本方向がrtlの場合は1に設定しなければなりません(MUST)。

それ以外の場合、 基本方向はautoとなり、この場合、リーディングシステムは、[bidi]のRule P2から開始してUnicode Bidi Algorithmを適用することにより、テキストの 方向を決定しなければなりません(MUST)。

注記

国際的な読者を対象とする、または国際化されたコンテンツのサポートを主張するリーディングシステムは、 そのメタデータをユーザーに公開する場合、この機能を実装することが強く推奨されます。 テキストの方向性を無視すると、可読性の問題が生じる可能性があります。

5.2 一意識別子

リーディングシステムは、一意識別子が、ただ1つの EPUB出版物だけに一意であることに依存するべきではありません(SHOULD NOT)。同じ一意識別子を持つ2つの EPUB出版物が、同じ出版物の異なるバージョンを表すのか、異なる出版物を表すのかを判断するには、 最終更新日、タイトル、著者など、他のメタデータを調べる必要がある場合があります。

5.3 メタデータ

空白

リーディングシステムは、処理前に、 Dublin Core [dcterms]およびmeta 要素の [epub-34]から、ASCII空白を除去して畳み込ま [infra]なければなりません(MUST)。

dc:identifier要素

dc:identifier 要素 [epub-34]の値が、確立された体系に適合しているか、 または発行機関によって付与されたものかを判断するため、リーディングシステムは identifier-typeプロパティ [epub-34]を確認するべきです(SHOULD)。

dc:title要素

リーディングシステムは、文書順で最初の dc:title 要素 [epub-34]をEPUB出版物の主タイトルとして認識し、 他のタイトル要素より前にユーザーへ提示しなければなりません(MUST)。

この仕様は、追加のdc:title 要素をどのように処理するかを定義しません。

dc:language要素

dc:language 要素で指定されるEPUB出版物の言語は 情報提供用です。この情報の用途には、たとえば次のものがあります。

  • リーディングシステムのユーザーインターフェイスを通じてユーザーに公開する
  • 本棚での機能を強化するために使用する(たとえば、言語による並べ替え)
  • 読書インターフェイスを最適化するために使用する(たとえば、テキスト読み上げ 言語の事前読み込み)

出版物リソースの言語を決定する方法の詳細については、 3.8 国際化を参照してください。

dc:creator要素

表示優先度を決定する場合、 リーディングシステムは、metadataセクション内の dc:creator 要素 [epub-34]の文書順を使用しなければならず(MUST)、 最初に遭遇するcreator要素が主要な作成者となります。リーディングシステムが作成者メタデータを ユーザーに公開する場合、可能な限り(たとえば、表示上の制約を受けない場合)、 metadataセクションに列挙されたすべての作成者を含めるべきです(SHOULD)。

meta要素

リーディングシステムは、 meta 要素のうち、property属性 [epub-34]が認識しない式を定義するものをすべて 無視するべきです(SHOULD)。リーディングシステムは、未知の式に遭遇しても 失敗してはなりません(MUST NOT)。

リーディングシステムがscheme属性 [epub-34]の値を認識しない場合、その要素の値を 文字列として扱うべきです(SHOULD)。

リンクされたリソースの取得およびサポートは OPTIONALです。

hreflang [EPUB-34]属性で識別される言語は、 純粋に助言的なものです。国際化要件で定義されるように、 リソース内で表現される言語情報が、処理およびレンダリング目的におけるその言語を決定します。

5.4 マニフェスト

リーディングシステムは、 認識しないproperties 属性 [epub-34]の値を 無視しなければなりません(MUST)。

リーディングシステムは、 EPUB出版物のレンダリングにおいて、 リンクされたリソースを使用するべきではありません(SHOULD NOT)。 これは、関係する固有の制限やリスク(たとえば、リソースに関する情報やその処理方法に関する情報の欠如、 リモートホストされたソースによるセキュリティリスク、フォールバックの欠如など)によるものです。

5.5 Spine

リーディングシステムは、 spine 要素 [epub-34]で定義された順序で EPUB出版物をレンダリングする手段を 提供しなければなりません(MUST)。これには次が含まれます。

注記

マニフェストフォールバックの扱いに関する詳細は、3.3 マニフェストフォールバックを参照してください。

ユーザーがspine要素で定義されたデフォルト読書順序を 辿る場合、リーディングシステムは非線形のitemref要素 [epub-34]を自動的にスキップしてもかまいません(MAY)。 ただし、ユーザーが非線形リソースへのハイパーリンクを有効化した場合、 リーディングシステムは参照されたリソースまたは指定されたフォールバックを レンダリングしなければなりません(MUST)。 リーディングシステムは、ユーザーに対して、非線形コンテンツをデフォルトでスキップするかどうかの 選択肢も提供してもかまいません(MAY)。

page-progression-direction 属性 [epub-34]が設定されていない場合、リーディングシステムは defaultの値を仮定しなければなりません(MUST)。 page-progression-directionの値がdefaultの場合、リーディングシステムは レンダリング方向を選択できます。

page-progression-direction属性がdefault以外の値を持つ場合、 リーディングシステムは、pre-paginatedXHTMLコンテンツ文書から計算された方向性を すべて無視しなければなりません(MUST)。

リーディングシステムは、 認識しない、spineのitemrefproperties属性 [EPUB-34]で 表現されたすべての値を 無視しなければなりません(MUST)。

リーディングシステムは、線形読書順序をレンダリングする際、 重複するマニフェスト項目 [EPUB-34]へのspine参照を スキップしてはなりません(MUST NOT)。 リーディングシステムは、 ユーザーインターフェイス(UI)目的では、これらを個別の項目として扱わなければなりません(MUST) (たとえば、それぞれの出現箇所を個別にブックマークまたは注釈付けできる)。 リーディングシステムがspine内で複数回参照されるリソースへのハイパーリンクを辿る場合、 リーディングシステムは、線形読書順序におけるその文書の最初の出現箇所へ ナビゲートしなければなりません(MUST)。

5.5.1 Spineオーバーライド

spineitemref 要素のproperties属性グローバルレンダリングプロパティ [epub-34]を上書きする場合、リーディング システムは、そのspine項目を表示するため、オーバーライドのグローバル値に対する要件に 従わなければなりません(MUST)。

たとえば、layout-pre-paginated オーバーライド [epub-34]を含むspine項目は、グローバルの pre-paginatedの要件に従ってレンダリングされます。

同じプロパティに対して複数のオーバーライドがproperties属性内で指定されている場合、 リーディングシステムは最初の値だけを使用しなければなりません(MUST)。

5.6 コレクション

この仕様の文脈において、リーディングシステムでのコレクション [epub-34]のサポートは OPTIONALです。リーディングシステムは、 認識しない役割を定義するcollection要素を無視しなければなりません(MUST)。

5.7 レガシー機能

リーディングシステムは、この バージョンのEPUB [epub-34]に適合するコンテンツ内で、 レガシー 機能をサポートしてはなりません(MUST NOT)。

6. レイアウト処理

6.1 レイアウト型

6.1.1 リフロー型レイアウト

リーディングシステムは、リフロー型レイアウトをサポートしなければなりません(MUST)。

reflowableのデフォルト値は、 パッケージ文書 メタデータ [epub-34]内に rendition:layout プロパティを持つ meta 要素が出現しない場合、EPUBリーディングシステムによってグローバル値として 仮定されなければなりません(MUST)。

リーディングシステムは、リフロー型のEPUBコンテンツ文書をレンダリングする際、 動的ページ付けを適用してもかまいません(MAY)。

6.1.2 固定レイアウト

6.1.2.1 ページ付け済みレイアウト

リーディングシステムは、ページ付け済みレイアウトを サポートしなければなりません(MUST)。

リーディングシステムは、 レンダリング時に、spineの itemref [epub-34]ごとに正確に1ページを 生成しなければなりません(MUST)。

ページ付け済みレイアウトのレンダリングにおけるデフォルトの期待は、 コンテンツ表示領域が、利用可能なビューポート領域の可能な限り多くを占めるべきである というものです(SHOULD)。リーディングシステムは、境界線、余白、ヘッダー、 フッターなどの追加コンテンツをビューポートへ注入するべきではありません(SHOULD NOT)。

合成見開きをレンダリングする場合、リーディングシステムは 隣接するコンテンツスロットの間に空白を含めてはなりません(MUST NOT)。

注記

この仕様は、初期 包含ブロック [css2]が リーディングシステムのコンテンツ表示 領域内にどのように配置されるかを定義しません。

注記

リーディングシステムの制御ウィジェットをユーザーに公開する方法は実装固有であり、 上記の振る舞い上の期待には含まれません。

6.1.2.1.1 合成 見開き配置

見開き配置spineオーバーライドは、次のように解釈されます。

rendition:page-spread-leftrendition:page-spread-rightrendition:page-spread-centerプロパティ(および接頭辞なしの 同等物)は、ページ付け済みコンテンツにのみ、かつリーディングシステムが 合成見開きを作成している場合にのみ適用されます。

rendition:page-spread-*プロパティおよびその接頭辞なしの同等物は、 XHTMLコンテンツ文書に設定された page-break-before プロパティ [css2]の値が何であれ、 それより優先されなければなりません(MUST)。

リーディング システムが、真の見開きを表す2つのspine項目(すなわち、rendition:page-spread-leftおよび rendition:page-spread-rightプロパティを持つ2つの隣接spine 項目)に遭遇した場合、隣接するページ間に空白のない見開きを 作成するべきです(SHOULD)。

spine内の最初のitemref要素 [epub-34]が見開き配置位置を指定していない場合、 それ単独で提示する(すなわち、rendition:page-spread-center プロパティが設定されているかのように扱う)か、利用可能な2つの見開きスロットのいずれかに 単独で配置する(すなわち、他方のスロットを空にする)べきです(SHOULD)。 使用するスロットは、page-progression-direction 属性 [epub-34]の値から取得するべきです(SHOULD)。たとえば、 左から右へのページ進行方向を持つEPUB出版物では、左側スロットは空になります。

注記

リーディングシステムがデフォルトで非線形 [epub-34]コンテンツをレンダリングしない場合、 単独で配置される最初のspine項目は、spine内の最初の線形項目になります。

6.1.2.2 ロールレイアウト

リーディングシステムは、ロールレイアウトのレンダリングを サポートするべきです(SHOULD)。

ロール レイアウト [epub-34]について、リーディングシステムは、各spineitemref の幅をビューポートに合わせ、目に見える隙間のない 連続したロールとして表示しなければなりません(MUST)。

EPUB出版物がロールレイアウトを使用するよう指定している場合、リーディングシステムは レイアウトオーバーライド [epub-34]を無視しなければなりません(MUST)。

注記

ロールレイアウトが導入される以前、一部の日本の出版社は、 ページ付け済みレイアウトと、値 "scrolled-continuous"に設定されたrendition:flow プロパティ [epub-33]を組み合わせてロールを作成していました。 リーディングシステム開発者がこのコンテンツをサポートする意図がある場合、 その組み合わせをロールレイアウトが宣言されているものと同義に扱う必要があります。

6.2 カスタムプロパティ

リーディングシステムは、 パッケージレンダリング語彙 [epub-34]で 定義されたプロパティと振る舞い上衝突する式を導入しない限り、 カスタムプロパティをサポートしてもかまいません(MAY)。

7. EPUBコンテンツ文書処理

EPUBコンテンツ文書 [epub-34]の定義には、 コンテンツの相互互換性を最適化するためのさまざまな作成上の制限(たとえば、言語および方向を設定するためのCSSの禁止 [epub-34])が含まれます。 この仕様で別途述べられていない限り、リーディングシステムはこれらの 制限された機能をサポートしてもかまいません(MAY)。

7.1 XHTMLコンテンツ文書

リーディングシステムは、 XHTMLコンテンツ文書 [epub-34]を 処理しなければなりません(MUST)。

このセクションで上書きとして明示的に定義されていない限り、リーディング システムは、[html] 仕様で定義されたセマンティクスを使用してXHTMLコンテンツ文書を処理し、 そこで表現される該当するユーザーエージェント適合制約を尊重しなければなりません(MUST)。

7.1.1 HTML拡張

7.1.1.1 RDFa

属性処理 モデル [rdfa-core]に対するリーディングシステムのサポートは OPTIONALです。

7.1.1.2 Internationalization Tag Set (ITS)

ITS マークアップの処理 [its20]に対するリーディングシステムのサポートは OPTIONALです。

7.1.1.3 カスタム属性

リーディングシステムは、その属性がこの仕様の要件を変更しない限り、 カスタム属性をサポートしてもかまいません(MAY)。

7.1.2 HTMLからの逸脱および 制約

7.1.2.1 Microdata

属性処理 モデルに対するリーディングシステムのサポートはOPTIONALであり、 JSONへの変換 [html]も同様です。

7.1.2.2 MathML

XHTMLコンテンツ文書に埋め込まれた MathML [mathml3]を サポートするため、リーディングシステムは次を行います。

注記

リーディングシステムは、MathMLレンダリングを提供するために MathJaxなどのサードパーティライブラリを選択できます。

7.1.2.3 埋め込みSVG

リーディングシステムは、 XHTMLコンテンツ文書に埋め込まれたSVGを、 7.2 SVGコンテンツ文書で定義されるとおりに 処理しなければなりません(MUST)。

7.1.2.3.1 埋め込みSVGと CSS

XHTMLコンテンツ文書参照により埋め込まれたSVGのスタイル付けを目的とする場合、リーディング システムは、包含文書のCSSスタイル規則を参照されたSVG 文書に適用してはなりません(MUST NOT)。

XHTMLコンテンツ文書に 包含により埋め込まれたSVGのスタイル付けを目的とする場合、リーディングシステムは 包含文書の該当するCSS規則を、含まれるSVG 要素に適用しなければなりません(MUST)。

注記

参照により含まれるSVGは別個の文書として処理され、 SVGコンテンツ文書の場合と同様に、 独自のCSSスタイル規則を含めることができます。 これは、[html]のobject要素が外部の[html] 要素を参照する状況と一致していることに注意してください。

7.1.2.4 フォーム送信

[html]の form 要素の送信に対するリーディングシステムのサポートはOPTIONALです。 たとえば、リーディングシステムはネットワークへのアクセスを制限することにより、 フォーム送信を防ぐ場合があります。

7.2 SVGコンテンツ文書

リーディングシステムは、 SVGコンテンツ文書 [epub-34]を処理しなければなりません(MUST)。

SVGコンテンツ文書およびXHTMLコンテンツ 文書に埋め込まれたSVGを処理するため、リーディングシステムは次を行います。

7.3 固定レイアウト文書

リーディングシステムは、レイアウトが pre-paginatedまたはrollとして指定された spine項目内のEPUBコンテンツ文書のレンダリングを サポートしなければなりません(MUST)。また、レイアウトが pre-paginatedまたはrollとして指定されたspine項目内の画像 外部リソースのレンダリングをサポートしてもかまいません(MAY)。

注記

この要件は、リーディングシステムにロールレイアウトのサポートを要求するものではありません。 レイアウトがサポートされる場合にのみ、リーディングシステムは固定レイアウトEPUBコンテンツ 文書のレンダリングをサポートする必要があります。

7.3.1 初期 包含ブロックの寸法

XHTML

リーディングシステムは、HTMLでの表現 [epub-34]で定義されるとおり、 XHTMLコンテンツ文書viewport metaタグで宣言された幅および高さの式を使用して 初期包含ブロック(ICB)を作成しなければなりません(MUST)。 ICBの外側に配置されたコンテンツを クリップしなければなりません(MUST)。

viewport metaタグ内の幅または高さの値に非数値文字が含まれているが 数字で始まる場合(たとえば、値に"500px"のような長さ単位宣言が含まれる場合)、 数値接頭辞をピクセル値として使用するべきであり(SHOULD)、 そうでない場合、その値は無効として扱われなければなりません(MUST)。

リーディングシステムは、構文が無効であっても、viewport metaタグから widthおよびheight 値の抽出を試みるべきです(SHOULD)。

リーディングシステムは、viewport metaタグ内のwidthおよびheightプロパティの最初の 宣言を使用しなければなりません(すなわち、繰り返し宣言を無視します)(MUST)。

viewport metaに幅または高さの値が含まれていない場合、または これらの値が無効な場合、リーディングシステムは値を補ってもかまいません(MAY)。 たとえば、リーディング システムは次のようにしてもかまいません。

  • それぞれdevice-widthおよび device-heightの値を持つものと見なす、または
  • 該当する場合、spine内の前のコンテンツ文書を探し、 そこで定義されたICB値を使用する、または
  • そのコンテンツ文書全体を誤ったXHTMLコンテンツとして見なす。

XHTMLコンテンツ文書に 複数のviewport metaタグが含まれる場合、リーディングシステムは、 高さおよび幅の寸法を取得するために文書順で最初のものを使用しなければなりません(MUST)。 後続の宣言は無視されなければなりません(MUST)。

ICBのアスペクト比がリーディングシステムの コンテンツ表示領域のアスペクト比と一致しない場合、 リーディングシステムは、ユーザーインターフェイスに合わせるためにICBをその領域内に 配置してもかまいません(MAY)。言い換えると、追加された レターボックス空間がコンテンツの片側(または両側)に現れてもかまいません(MAY)。

SVG

リーディングシステムは、 SVGでのICBの表現 [epub-34]で定義される寸法を使用して、 SVGコンテンツ文書をレンダリングするための 初期包含ブロック(ICB)を作成しなければなりません(MUST)。

注記

ICBのアスペクト比がリーディングシステムの コンテンツ表示領域のアスペクト比と一致しない場合、  [SVG]で定義される viewBox およびpreserveAspectRatio 属性の規則に従うことが推奨されます。

画像外部リソース

リーディングシステムがspine内の画像外部リソースをサポートする場合、 画像の幅および高さのメタデータで定義された寸法を使用して初期包含ブロックを 作成する必要があります。このメタデータを取得する方法の詳細については、サポートされる各画像 形式の文書を参照してください。

7.3.2 viewport meta タグ

XHTMLの固定レイアウト文書の初期包含ブロック寸法を取得する場合を除き、 リーディングシステムは、viewport meta 宣言内のレンダリング指示を無視しなければなりません(MUST)。

この制限は、固定レイアウトおよびリフロー型の両方のXHTMLコンテンツ文書に適用されます。

7.4 Cascading Style Sheets (CSS)

リーディングシステムがビューポートを持つ場合、 [epub-34]の CSSによる XHTMLコンテンツ文書の視覚的レンダリングを サポートしなければなりません(MUST)。

CSSをサポートするため、リーディングシステムは次を行います。

注記

リーディングシステム開発者は、ユーザーエージェントスタイルシート、およびそれらがEPUB出版物内で 設定されたスタイル付けとどのように相互作用するかを公開文書化することが期待されます。

7.4.1 著者スタイルのオーバーライド

リーディングシステムは、(たとえば、人間工学的理由またはユーザーインターフェイス上の理由から) EPUB出版物のスタイル付けの一部を オーバーライドしてもかまいません(MAY)。さらに、ユーザーが デフォルトのテーマやスタイル設定(たとえば、よりアクセシブルな読書のため)を設定し、 出版物の元のデザインをさらに変更できるようにしてもかまいません(MAY)。

7.5 スクリプト処理

リーディングシステムは、 スクリプト処理 [epub-34]をサポートするべきです(SHOULD)。

リーディングシステムによるスクリプト処理のサポートは、その使用文脈に依存します。

リーディングシステムがスクリプト処理をサポートする場合:

リーディングシステムが スクリプト処理をサポートしない場合、スクリプト付きコンテンツ 文書のフォールバック [epub-34]で定義されるとおり、スクリプト付きコンテンツの フォールバックを処理しなければなりません(MUST)。

7.5.1 ローカルストレージ

リーディングシステムは、 CookieおよびWeb Storage [html]を通じて、 スクリプトが永続データを保存することをブロックしてもかまいません(MAY)。

ローカルストレージ [html]を許可する リーディングシステムは、ユーザーがそのデータを調べたり削除したりするための方法を 提供するべきです(SHOULD)。

7.5.2 イベントモデル

リーディングシステムは、[html]に従ってDOM Eventモデルに従い、 UIイベントに関連付けられたデフォルトアクションを実行する前に、そのUIイベントを スクリプト環境へ渡すべきです(SHOULD)。

リーディングシステム開発者は、スクリプトが重要な機能(ナビゲーションなど)を無効にできないようにし、 潜在的に悪意のあるスクリプトがリーディングシステムに 与え得る影響範囲を制限する必要があります。その結果、スクリプト環境は任意のイベントの デフォルトアクションをキャンセルできるべきであるものの、一部のイベントは渡されない場合や キャンセル不能である場合があります。

7.5.3 セキュリティ上の考慮事項

このセクションは非規範です。

スクリプト処理もサポートするリーディングシステム開発者は、リーディングシステムが スクリプト付きコンテンツを実行する際に生じるセキュリティ問題を認識しておく必要があります。 リーディングシステムとブラウザーで用いられる基礎となるスクリプトモデルは同じであるため、 開発者はWeb文脈で遭遇するものと同種の問題を考慮しなければなりません。

各リーディングシステムは、特定の文書内のスクリプトを信頼できるかどうかを確立しなければなりません。 すべてのスクリプトを信頼できないもの(かつ潜在的に悪意のあるもの)として扱い、 すべての攻撃ベクトル、とりわけ次のものを調査し防御することが推奨されます。

  • ランタイム環境への攻撃(たとえば、ユーザーのハード ドライブからファイルを盗む)。

  • リーディングシステム自体への攻撃(たとえば、ユーザーの書籍一覧を盗む、または 予期しない振る舞いを引き起こす)。

  • あるEPUBコンテンツ文書による 別の文書への攻撃(たとえば、別の文書に由来するデータを盗む)。

  • 暗号化されていないスクリプトによる文書の暗号化部分への攻撃(たとえば、 挿入された悪意のあるスクリプトが保護されたコンテンツを抽出する)。

  • ローカルネットワークへの攻撃(たとえば、ファイアウォールの背後にあるサーバーから データを盗む)。

信頼できないスクリプトによる損害の可能性を制限するため、この仕様は、リーディング システムが各EPUB出版物に割り当てられる一意の オリジン [html]を 確立することを推奨します(4.1.1 ルートディレクトリのURLを参照)。 一意のオリジンを割り当てることにより、 spineレベルスクリプト [epub-34]が 他のEPUB出版物から分離され、Cookie [html]、Web Storage [html]などへのアクセスが制限されます。

「オリジン」の概念に結び付いたWeb APIの例には、Web Storage [html]および IndexedDB [indexeddb]があり、EPUBコンテンツ文書は スクリプト処理を通じてこれらと相互作用できます。ユーザーが管理されたライブラリ(「本棚」)から 出版物を追加または削除できるようにするリーディングシステムは、出版物が削除され、その後 コンテンツライブラリに再インポートされたときに、その出版物の一意のオリジンを維持する場合があります。 逆に、リーディングシステムは新しく追加された出版物ごとに新しい一意の オリジンを作成する場合もあります。

この仕様はまた、コンテナー制約付きスクリプト [epub-34]が、ホスト EPUBコンテンツ文書のDOMを変更したり、包含矩形を操作したりすることを許可しないことを推奨します (7.5 スクリプト処理を参照)。

これらの推奨事項への準拠は、上記の可能な攻撃からの保護を保証するものではないことに注意してください。 開発者は、リーディングシステムの文脈において、それぞれの潜在的脆弱性を調査しなければなりません。

8. ナビゲーション文書処理

リーディングシステムは、EPUB ナビゲーション文書 [epub-34]を処理しなければなりません(MUST)。

EPUBナビゲーション文書を処理するため、リーディングシステムは次を行います。

リーディングシステムは、 EPUBナビゲーション文書がspineにも含まれているかどうかにかかわらず、 上記の要件を尊重しなければなりません(MUST)。

9. 音声レンダリング

9.1 テキスト読み上げ

テキスト読み上げ再生に対するリーディングシステムのサポートはOPTIONALです。

リーディングシステムに音声再生機能がある場合、アクセシビリティを向上させるため、 テキスト読み上げ再生機能を提供することが強く推奨されます。

テキスト読み上げ再生を含める場合、リーディングシステムは、 メディアオーバーレイで定義されるものと同様の再生体験を 提供するため、次の機能をサポートするべきです(SHOULD)。

注記

ワーキンググループは、将来のノートで、テキスト読み上げ再生に関するコンテンツレベルの問題について ガイダンスを提供する予定です。これには、現在[ruby-tts-req]で扱われているような、 言語および文字体系固有の問題が含まれます。

注記

テキスト読み上げ再生の品質を高めるための作成技術の候補は、 [epub-tts-10]で詳述されていますが、 これらの技術は現在広くサポートされていません(または まったくサポートされていません)。これらまたは代替技術が将来サポートされるようになれば、 この仕様に含められます。

9.2 メディアオーバーレイ処理

録音済み音声をレンダリングする機能を持つ リーディングシステムは、メディアオーバーレイ [epub-34]を サポートするべきです(SHOULD)。

リーディングシステムがメディアオーバーレイをサポートしない場合、次の両方を無視しなければなりません(MUST)。

9.2.1 メディアオーバーレイの読み込み

リーディング システムがパッケージ文書を読み込む場合、manifestitem 要素 [epub-34]のmedia-overlay属性を参照して、 EPUBコンテンツ文書に対応するメディア オーバーレイを発見しなければなりません(MUST)。

リーディング システムは、XHTMLコンテンツ文書の再生をサポートしなければならず(MUST)、かつ SVGコンテンツ文書をサポートしてもかまいません(MAY)。

再生は、目的のEPUBコンテンツ文書の開始点に対応する メディアオーバーレイ要素から開始しなければなりません(MUST)。 EPUBコンテンツ文書の開始が、メディアオーバーレイの先頭または途中の要素に 対応する場合があることに注意してください。 メディア オーバーレイ文書の再生が終了した場合、リーディングシステムは次のEPUBコンテンツ 文書(パッケージ文書のspineで指定されるもの)を読み込み、対応する メディアオーバーレイ文書が与えられているなら、それも読み込むべきです(SHOULD)。

9.2.2 基本再生

9.2.2.1 タイミングと 同期

リーディングシステムは、 body 要素 [epub-34]の直接の子を 順番にレンダリングしなければなりません(MUST)。 seq 要素 [epub-34]の子は順番にレンダリングされなければならず(MUST)、 最後の子の再生が終了すると再生が完了します。リーディングシステムは、 par 要素 [epub-34]の子を並列に(各子を同時に開始して) レンダリングしなければならず(MUST)、 すべての子の再生が終了すると再生が完了します。メディアオーバーレイ文書の リーディングシステム再生は、body要素の最後の子の再生が終了した時点で完了します。

9.2.2.2 音声のレンダリング

メディアオーバーレイの audio 要素 [EPUB-34]が提示された場合、リーディングシステムは、 src属性によって参照される音声リソースを、clipBegin属性で与えられた クリップオフセット時刻から開始し、clipEnd属性 [epub-34]で与えられたクリップオフセット時刻で終了するよう 再生しなければなりません(MUST)。

さらに:

  • clipBegin属性が設定されていない場合、リーディングシステムは 値"0"を仮定しなければなりません(MUST)。

  • clipEnd属性が設定されていない場合、リーディングシステムはその値を 物理メディアの全継続時間であると仮定しなければなりません(MUST)。

  • clipEndの値が物理メディアの全継続時間を超える場合、 リーディングシステムは、その値を物理メディアの全継続時間であると仮定しなければなりません(MUST)。

ユーザーが制御可能な音声再生オプションには、ユーザーが音程を歪めずに再生速度を 変更できるタイムスケール変更を含めるべきです(SHOULD)。 推奨範囲は半速から倍速までです。

9.2.2.3 テキスト読み上げの レンダリング

対応する audio [epub-34]兄弟要素を持たないメディアオーバーレイの text 要素が、対象のEPUBコンテンツ文書内のテキストを参照する場合、 テキスト読み上げ(TTS)再生が可能なリーディングシステムは、参照されたテキストをTTSで レンダリングするべきです(SHOULD)。

リーディングシステムは、メディアオーバーレイレンダリングの一部として音声ストリームを再生するため、 対象EPUBコンテンツ文書で提供される発話関連情報を使用するべきです(SHOULD)。

注記

EPUB出版物でTTS技術をサポートするための詳細については、 EPUB 3 Text-to-Speech Support [epub-tts-10]を参照してください。

メディアオーバーレイのtext要素の寿命は、関連する音声合成の レンダリング時間に対応します。したがって、text要素(および推論により、 親par要素)の暗黙の継続時間は、テキスト読み上げエンジンの実行によって 決定され、作成時点では知ることができません(発話速度、休止、その他の韻律パラメーターなどの要因が 音声出力に影響します)。これはまた、リーディングシステムが、パッケージ文書で設定された durationプロパティ値を 利用する場合、それらを近似値として扱う必要があることも意味します。

9.2.2.4 EPUBコンテンツ文書要素のレンダリング

src 属性がEPUBコンテンツ文書の特定部分を参照するURLフラグメント文字列を含む、 メディアオーバーレイの text 要素 [epub-34]が提示された場合、リーディングシステムは、参照された部分が ビューポート内で見えるようにするべきです(SHOULD)。 [html]の要素ID参照および SVG フラグメント識別子 [svg]に加え、リーディングシステムは他のフラグメント識別子 スキームをサポートしてもかまいません(MAY)。

メディアオーバーレイ再生中、ビューポートを持つリーディングシステムは、 メタデータプロパティactive-classおよびplayback-active-class [epub-34]で与えられたクラス名を、指定されている場合、 EPUBコンテンツ文書内の適切な要素へ 追加するべきです(SHOULD)。逆に、スタイル情報の関連付け [epub-34]で説明されるように、再生状態が変わった場合、 そのクラス名は削除されるべきです(SHOULD)。

active-classおよびplayback-active-classメタデータプロパティは OPTIONALであり、省略された場合、リーディングシステムの振る舞いは 実装固有です。

フラグメント 識別子 [epub-34]が要素を参照していない場合のリーディングシステムの振る舞いも 実装固有です。

9.2.3 EPUBコンテンツ文書内の ナビゲーション

メディアオーバーレイは EPUBコンテンツ文書と密接に結び付いているため、 リーディングシステムはメディアオーバーレイ再生内の現在位置に基づいて EPUBコンテンツ文書内の位置を非常に容易に特定できます。ユーザーが同期再生を一時停止し、 EPUB出版物内の別の部分へナビゲートした場合、 同期再生はその地点から再開しなければなりません(MUST)。たとえば、 EPUBコンテンツ文書内の特定のページ番号が目的の場所である場合、同じ地点が メディアオーバーレイ内で特定され、そこから再生が開始されます。

この同じ方法により、EPUBナビゲーション文書内の ナビゲーション地点のユーザー選択と、メディアオーバーレイ再生を同期できます。リーディング システムは、そのファイルのメディアオーバーレイを読み込み、ナビゲーション地点のターゲットのIDに 基づいて、再生を開始する正しい地点を見つけます。

注記

メディアオーバーレイ文書は、 その内容の同期再生を提供するため、それが存在するXHTMLコンテンツ文書spineに含まれているかどうかにかかわらず、 EPUBナビゲーション 文書に直接関連付けることができます。詳細については、EPUBナビゲーション文書 [epub-34]を参照してください。

注記

メディアオーバーレイ文書要素は、表などのEPUBコンテンツ文書構造に関連付けることができます。 リーディングシステムは、メディアオーバーレイ再生が表の行およびセルのユーザー ナビゲーションと同期されたままであることを確保する必要があります。リーディングシステムは、 セルの内容に先行する対応する表見出しを再生する場合もあります。

9.2.4 スキップ可能性と エスケープ可能性

9.2.4.1 スキップ可能性

リーディングシステムは、メディアオーバーレイ要素の epub:type 属性によって提供されるセマンティック情報を使用して、コンテンツをスキップする選択肢を ユーザーに提供するべきです(SHOULD)。

コンテンツのスキップが有効な場合、リーディングシステムは、 epub:type属性にスキップ可能構造に一致するセマンティックが含まれる parおよびseq要素の再生を すべて抑制しなければなりません(MUST)。

9.2.4.2 エスケープ可能性

メディアオーバーレイの再生中、リーディングシステムは、 エスケープ可能構造リストの値を持つepub:type 属性 [epub-34]の存在によって決定される、 エスケープ可能 構造 [epub-34]から離れる(「エスケープ」する)選択肢を ユーザーに提供するべきです(SHOULD)。 ユーザーがエスケープ可能構造からエスケープすることを選択した場合、 リーディングシステムは、その構造の後にある次の順次要素から再生を 続行しなければなりません(MUST)。

10. 構造的セマンティクスの処理

リーディングシステムは、構造的セマンティクス [epub-34]を EPUB コンテンツ文書内でサポートしてもかまいません(MAY)。

epub:type 属性を処理する場合、リーディングシステムは次を行います。

11. コンパクトURLの処理

リーディングシステムは、 コンパクトURL [epub-34]を処理するための語彙関連付け機構を サポートしてもかまいません(MAY)。

このセクションは、コンパクトURLから展開URLを取得するためのアルゴリズムを定義します。これは、 [epub-34]の 語彙関連付け機構をサポートするリーディングシステムにのみ適用されます。

[epub-34]の語彙関連付け機構をサポートしないリーディングシステムは、 コンパクトURLを通常の文字列値 [infra]として処理してもかまいません(MAY)。 それらの値をURLへ展開すること、またはその存在に基づいてリーディングシステムの振る舞いを追加することを サポートする必要はありません。

このアルゴリズムは、[infra]で定義された 用語およびデータ型を使用して処理を説明し、成功した場合は、展開URLを持つ文字列値が返されます。無効なプロパティについては null値が返されます。

このアルゴリズムは次の引数を取ります。

展開URLを 取得するには、次のステップを適用します。

  1. baseURLexpandedURLprefix、およびreferenceを 空の文字列とします。

    説明

    このアルゴリズムでは:

    • baseURLは、値に関連付けられたベースURLを保持します。このURLは、 prefix属性で割り当てられる場合、デフォルト語彙に対応する場合、 または予約済み接頭辞から来る場合があります。
    • expandedURLは、ベースURLと参照の連結から得られる最終URLを保持します。
    • prefixは、コンパクトURLの接頭辞 [epub-34] (すなわち、コロンの前の値)を保持します。デフォルト語彙からのプロパティには接頭辞が ありませんが、それ以外はすべて接頭辞を持ちます。
    • referenceは、コンパクトURLの参照 [epub-34] (すなわち、接頭辞の後の値)を保持します。すべての有効なプロパティは参照を必要とします。
  2. prefixおよびreferenceの値を次のように取得します。

    1. valueがコロン(U+003A)を含まない場合、referencevalueに設定します。

      説明

      コンパクトURL値にコロンがない場合、接頭辞がありません。この場合、その値は アルゴリズムの次のステップで説明されるデフォルト語彙から取得されます。

    2. それ以外で、valueがコロンで始まる場合、その値は無効です。nullを返します。

      説明

      値の先頭にあるコロンは、接頭辞が設定されていないことを示すため無効です。

    3. それ以外の場合、最初のコロンでvalueを分割し、コロンの前の文字列を prefixに設定し、コロンの後の文字列をreferenceに設定します。

    referenceが、コンパクトURL定義 [epub-34]で要求される、 有効なパス相対スキームなしURL 文字列でない場合、その値は無効です。nullを返します。

    説明

    パス相対スキームなしURL文字列の定義には、接頭辞の有無にかかわらず参照に適用される いくつかの制限があります。

    たとえば、参照はURLスキーム文字列の後に コロンが続く形で始まることは許可されていません。この制限により、2番目のコロンが スキームを表す可能性があるため、次は有効なproperty値ではありません。 foo:bar:baz/qux

    パーセントエンコードされなければならない文字についての制限もあります。

  3. baseURLの値を次のように取得します。

    1. prefixが空文字列である場合:

      1. attrepub:type [epub-34]である場合、baseURL
        http://idpf.org/epub/vocab/structure/#に設定します。
      2. それ以外で、elemがパッケージ文書の meta 要素 [epub-34]であり、 attrschemeである場合、そのプロパティ値は無効です。nullを返します。
      3. それ以外で、elemがパッケージ文書の meta 要素 [epub-34]である場合、 baseURL
        http://idpf.org/epub/vocab/package/meta/#に設定します。
      4. それ以外で、elemがパッケージ文書の link 要素 [epub-34]である場合、 baseURL
        http://idpf.org/epub/vocab/package/link/#に設定します。
      5. それ以外で、elemがパッケージ文書の item 要素 [epub-34]である場合、 baseURL
        http://idpf.org/epub/vocab/package/item/#に設定します。
      6. それ以外で、elemがパッケージ文書の itemref 要素 [epub-34]である場合、baseURL
        http://idpf.org/epub/vocab/package/itemref/#に設定します。
      説明

      コンパクトURLに接頭辞がない場合、このステップは、それが属する属性または要素に基づいて、 使用するデフォルト語彙URLを割り当てます。パッケージ文書内の要素がコンパクトURL データ型を取る属性を複数持つ場合、それらの属性は同じデフォルト語彙を共有します。 このため、どのURLを割り当てるかを判断するために、要素と属性の両方を確認する必要は ありません。

      EPUB 3でデフォルト語彙を持たない1つの属性は、scheme属性 [epub-34]です。接頭辞のないscheme値は 無効です。

    2. それ以外の場合:

      1. prefix属性がdocの文書要素上で宣言され、 その属性がprefixに一致する接頭辞を含む場合、 baseURLを、その接頭辞宣言に関連付けられたURLに設定します。

      2. それ以外で、prefixdoc予約済み接頭辞 [epub-34]に一致する場合、 baseURLを、その予約済み接頭辞に関連付けられたURLに設定します。

      説明

      コンパクトURLが接頭辞を持つ場合、そのベースURLを確認する最初の場所は、文書要素上の prefix属性宣言です。

      著者がその接頭辞にURLを割り当てていない場合、次のステップは、その接頭辞が 予約済み接頭辞のいずれかに一致するかどうかを確認することです。

      著者が割り当てた接頭辞URLは、予約済み接頭辞URLを上書きすることに注意してください。

    baseURLが空文字列である場合、そのプロパティ値は無効です。nullを返します。

    説明

    この処理ステップの最後でベースURLが空の場合、接頭辞がマップされても予約されてもいないか、 処理中の要素または属性が[epub-34]で定義されるコンパクトURL データ型を受け入れないことを意味します。

    ベースURLがなければ、展開URLを生成することは不可能なので、その値は 無効です。

  4. expandedURLを、baseURLreferenceの連結値に設定します。値を連結する際に区切り文字を追加しないでください。
  5. expandedURLが有効なURL文字列でない場合、その値は無効です。nullを返します。

    それ以外の場合、expandedURLを返します。

    説明

    展開された値が取得される場合でも、それが必ず有効なURLであるとは限りません。 これは、無効なベースURLが接頭辞に割り当てられている場合にのみ起こる可能性があります。

注記

リーディングシステムは、結果として得られるURLを解析 [url]したり、 結果として得られる展開URLの逆参照を試みたりする必要はありません。コンパクトURLを完全なURLへ 展開することは、リーディングシステムが期待する値に遭遇したことを確実にするだけです (すなわち、異なるEPUB出版物が同じ接頭辞を異なるURLに割り当てる可能性があるため、 2つの値は展開されるまでは同じに見える場合があります)。

12. 後方互換性

リーディングシステムは、 version属性 [epub-34]が "3.0"未満であるパッケージ文書を持つ EPUB出版物の処理を試みなければなりません(MUST)。

古いバージョン番号を持つEPUB出版物は、それぞれの仕様に従って処理されない限り、 必ずしも意図どおり正確にレンダリングされるとは限りません。リーディングシステムは、 それらの仕様で定義されるようなEPUB出版物をサポートするべきです(SHOULD)。

13. 前方互換性

リーディングシステムは、 version属性 [epub-34]が "3.0"より大きいパッケージ文書を持つ EPUB出版物の処理を試みるべきです(SHOULD)。

14. アクセシビリティ

このセクションは非規範です。

この仕様の主な焦点は、EPUB出版物をどのように処理しレンダリングするかにありますが、 すべてのリーディングシステムが提供しなければならない特定の ユーザーインターフェイスを義務付けるものではありません。これは、すべてのリーディングシステム開発者が 認識する必要がある、またはアプリケーションで避けるよう努める必要がある共通のアクセシビリティ問題が 存在しないという意味ではありません。

W3CのUser Agent Accessibility Guidelines [uaag20]は、多くのブラウザー アクセシビリティ問題がEPUB固有のユーザーエージェントにも対応するため、開発者が リーディングシステムを改善するために適用できる多くの有用な実践を提供しています。

次の一覧は、アクセシビリティの欠如がユーザーの読書体験に影響する、EPUB固有の追加領域を 概説します。

DAISY Consortiumは、これらの問題などの評価を支援するアクセシビリティテストスイートを 維持しています。

15. セキュリティとプライバシー

15.1 概要

このセクションは非規範です。

EPUB出版物の特殊性は、その構造にあります。EPUB形式は、 HTML、CSS、SVG、およびその他のリソースを含む、構造化されセマンティックに拡張されたWeb コンテンツを、単一ファイルコンテナーで配布するために表現、パッケージ化、および符号化する手段を 提供します。

リーディングシステムにとって、これは、セキュリティおよび プライバシーの問題が主にそれらの形式の機能に基づき、一般的なWebコンテンツが提示する脅威と 密接に類似していることを意味します。

リーディングシステム開発者には、アプリケーションのセキュリティとプライバシーを確保すること、および その中でレンダリングされるコンテンツからユーザーへの脅威を制限することの両方について責任があります。 このセクションの残りでは、開発者がこれらのリスクを認識し軽減するのを支援する目的で、 EPUB 3のリスクモデルを検討します。

注記

EPUB出版物の作成に関連するリスクについては、[epub-34]の セキュリティとプライバシーのセクションを 参照してください。

15.2 脅威モデル

このセクションは非規範です。

ユーザーに対する最大の脅威は、ユーザーが読むコンテンツ [epub-34]から生じ、これらの攻撃に対する第一の防衛線は、ユーザーが使用する リーディングシステムです。ユーザーは、リーディングシステムが悪意のあるコンテンツに対する 保護手段として機能することを期待しており、EPUB出版物がWebサイトと同じセキュリティリスクに さらされることに気づいていないことがよくあります。

しかし、リーディングシステムはセキュリティとプライバシーを提供するものとして頼られる一方で、 情報の扱い方によってはユーザーに意図しない脅威をもたらすこともあります。たとえば、 体験を最適化するためにユーザー情報を追跡することは一般的に必要な場合がありますが、 ユーザーの許可なしに行われると、リーディングシステムが法的なプライバシー要件に抵触する可能性があります。

このセクションでは、リーディングシステム開発者が考慮する必要のある主要な脅威の一部を概説し、 後続のセクションでさらなる詳細と推奨事項を提供します。

スクリプト処理

悪意のあるスクリプトは、リーディングシステムに対する複数の攻撃ベクトルを提示します。 たとえば、ローカルストレージが安全でない場合、ユーザーのデータを侵害しようとする可能性があります。 ネットワークアクセスが提供されている場合、ユーザーデータの不正収集を試みる可能性があります。

これらの問題とその軽減方法についてのより詳細な議論は、7.5.3 セキュリティ上の考慮事項で提供されています。

悪意のあるコンテンツ

EPUB出版物には、リーディングシステムまたはそれが動作するオペレーティングシステムの セキュリティ欠陥を悪用するよう設計されたリソースが含まれる可能性があります。攻撃者は、 シンボリックリンクやファイルエイリアスなどのファイル間接参照技術を使用して、 リモートリソースへのアクセスを得ようとすることもあります。

EPUB出版物に署名する標準的な方法が存在しないため、リーディングシステムは、作成から デバイスへの読み込みまでの間にコンテンツが改ざんされていないかを常に検証できるとは限りません。

リモートリソース

リモートリソースは、信頼されていない ソースから読み込まれるEPUB出版物と同じリスクを提示します。EPUB出版物の発行者が信頼されている場合でも、 リモートリソースが侵害される可能性があります。

リモートリソースへの呼び出しは、(たとえばサーバーログを通じて)ユーザーに関する情報を 追跡するためにも使用される可能性があります。HTTPリクエストを通じて公開される情報は、 リソースを取得するために不可欠なものだけに制限することが推奨されます。

EPUBのオリジンは、各リーディングシステム実装に固有であり、 その実装の外部では知られていません。したがって、リモートリソースが信頼されたWebサーバー上に ホストされている場合でも、そのサーバーは、CORSContent-Security-Policy、 またはX-Frame-Optionsのヘッダーなど、 許可されるオリジンの指定を必要とするセキュリティ機能を実質的に使用できません。

外部リンク

リモートリソースと同様に、外部リンクは、リーディングシステムまたはオペレーティングシステムを 悪用するよう設計されたWeb上の悪意のあるリソースを、無警戒なユーザーに開かせるために 使用される可能性があります。

同様に、リンクの遷移を通じて、ユーザーに関する識別可能性のある情報を公開することも 避けることが推奨されます(たとえば、追跡識別子を使用しない、またはユーザー環境に関する 不要な情報を公開しない)。

ユーザー生成コンテンツ

読書体験内のユーザー生成コンテンツ、たとえばテキストエリアやその他の対話型コンポーネントを通じた コンテンツは、適切に保護されていない場合、リーディングシステムのセキュリティまたはユーザーの プライバシーに脅威をもたらす可能性があります。スクリプト処理のセキュリティに関する詳細は、 7.5.3 セキュリティ上の考慮事項で提供されています。

ユーザーデータの収集

ユーザーおよびその読書習慣に関する情報を、許可を得ずに収集すると、その情報が内部利用だけを 意図している場合でも、ユーザーのプライバシーを侵害する可能性があります。

ユーザーの読書習慣、またはその出版物内のメタデータ(たとえばアクセシビリティ設定)を通じて ユーザーをプロファイリングしようとすると、ユーザーを意図しない害にさらす可能性があります。

さらに、[xml]および [zip]ファイルに適用されるセキュリティ上の考慮事項は、それぞれ パッケージ文書およびOpen Container Formatにも適用されます。詳細については、 application/oebps-package+xml およびapplication/epub+zip形式の メディア型登録における「Security Consideration」セクションを参照してください。

15.3 推奨事項

プライバシーのためにリーディングシステム開発者が取れる最も強力な対策は、ユーザーおよび/または その読書行動について収集および使用しようとするデータを明示し、それを取得するためにユーザーの同意を 求めることです。また、この情報に対するパーソナライズおよび制御を許可するべきです(SHOULD)。

リーディングシステムがユーザーに永続データ、特に個人を識別できる情報を保存することを許可する場合、 そのデータを機微なものとして扱い、第三者によるアクセスを許可するべきではありません(SHOULD)。

一部のユーザーデータの収集は、EPUB出版物の販売、配信、および運用にしばしば必要であることが 理解されています。特に、EPUB出版物の販売とその読書方法が結び付いているプラットフォームではそうです。 このような場合、リーディングシステムは、収集されるデータ、その使用方法を特定し、ユーザーによる オプトアウトを可能にするべきです(SHOULD)(小売業者は、ユーザーがWebサイトでアカウントを作成する際など、 他の手段でユーザーに知らせることを選択できます)。収集されたデータの匿名化は、ユーザーおよび リーディングシステムのプライバシーとセキュリティのためにRECOMMENDEDです。

ユーザーデータが一部のリーディングシステムアフォーダンスに必要または有用である場合があることも 理解されています。このような場合、匿名化もRECOMMENDEDです。リーディングシステムは、 どのデータが必要で、それが何に使用されるかをユーザーに知らせ、オプトアウトする方法を提供するべきです(SHOULD)。

コンテンツプロセッサー — EPUBコンテンツを配布、表示、または販売のために取り込むエンティティとして 定義されるもの — も、取り込みにおける潜在的リスクを認識する必要があります。コンテンツ プロセッサーは、通常行われる検証手順に加えて、取り込み時に悪意のあるコンテンツをチェックすることが 推奨されます。これには、ウイルススキャンの実行、外部リンクおよびリモートリソースの検証、その他の 予防措置が含まれる場合があります。

XML文書を処理する場合、リーディングシステムは、DOCTYPE、ENTITY、およびNOTATION宣言内の外部識別子 [xml]を解決するべきではありません(SHOULD NOT)。 リーディングシステムは、 内部 または 外部 XMLエンティティに関連するセキュリティリスク、たとえば "Billion laughs attacks"または"XML external entity attacks"として知られるDoS攻撃も考慮するべきです(SHOULD)。

注記

外部リンク、ネットワークアクセス、およびスクリプト処理に関する追加のセキュリティ推奨事項は、 それぞれ3.10 外部リンク3.9 ネットワークアクセス、および7.5.3 セキュリティ上の考慮事項で利用できます。

A. 廃止された機能

A.1 古くなった機能

リーディングシステムは、レガシー機能を除き、古くなった機能 [epub-34]を サポートしてもかまいません(MAY)。

レガシー機能は、EPUB 2リーディングシステムとの互換性のためにのみ許可され、EPUB 3 リーディングシステムによって無視されなければなりません(MUST)。

A.2 非推奨機能

リーディングシステムは、非推奨の作成機能 [epub-34]を サポートしてもかまいません(MAY)。

さらに、次のリーディングシステム機能は現在非推奨です。

メディアオーバーレイ処理
epubReadingSystemオブジェクト
注記

開発者は、非推奨機能を持つコンテンツに遭遇する可能性が低いことを、新たに それらをサポートする前に考慮する必要があります。

B. epubReadingSystemオブジェクト

注記

リーディングシステムは、EPUB出版物の中核的なレンダリングエンジンとして 機能し、[dom]仕様に基づくスクリプト環境を提供します。そのため、このインターフェイス定義は リーディングシステムによる実装のために[webidl]記法を使用していますが、Webブラウザーは一般に これらのオブジェクトを実装する必要はありません。

B.1 インターフェイス定義

この仕様は、Navigatorオブジェクト [html]を 次のように拡張します。

WebIDL[Exposed=(Window)]
interface EpubReadingSystem {
    boolean hasFeature(DOMString feature, optional DOMString version);
};

partial interface Navigator {
    [LegacyUnforgeable, SameObject] readonly attribute EpubReadingSystem epubReadingSystem;
};
注記

この仕様は、 WorkerNavigator オブジェクト [html]に対するepubReadingSystemプロパティ拡張を 定義しません。したがって、リーディングシステムはWorkersのスクリプト文脈で epubReadingSystemオブジェクトを公開する必要はなく、その存在に 依存することはできません。

B.2 説明

Navigator.epubReadingSystem オブジェクトは、スクリプト付きコンテンツ文書がユーザーの リーディングシステムに関する情報を問い合わせるためのインターフェイスを提供します。

リーディングシステムは、読み込まれたすべてのスクリプト付きコンテンツ文書(入れ子になった コンテナー制約付きスクリプト 文脈 [epub-34]を含む)のnavigator オブジェクト上に、epubReadingSystemオブジェクトを公開しなければなりません(MUST)。リーディングシステムは、 DOMContentLoaded イベントが発火される [html]時点までに、epubReadingSystem オブジェクトが利用可能であることを確保しなければなりません(MUST)。

注記

リーディングシステム実装は、技術的な実現可能性の理由から、スクリプト付き コンテンツ文書内にepubReadingSystemオブジェクトの複製インスタンスを 作成できます。そのような場合、リーディングシステムは、そのプロパティおよびメソッドの値に 反映されるオブジェクトの状態を、コピーされたすべてのインスタンス間で一貫して維持しなければ なりません。

B.3 メソッド

B.3.1 hasFeature

B.3.1.1 説明

hasFeature メソッドは、リーディングシステムが指定された機能をサポートしているかどうかを示します。 名前付き機能にバージョンが指定されていない場合、結果はその機能の任意のバージョンが サポートされているかどうかを示します。

リーディングシステムがhasFeatureメソッドから問い合わせられた機能をサポートする場合、 そのサポートを示すブール値を返さなければなりません(MUST)。機能が 認識されない場合、リーディングシステムはundefinedを返さなければなりません(MUST)。

hasFeature呼び出しで指定されたfeatureパラメーターは、 リーディングシステムがtrue値を返すために、サポートされる機能と 同一 [infra]で なければなりません(MUST)。

注記

サポートしなければならない機能の一覧については、B.3.1.2 機能を参照してください。

versionパラメーターは、時間の経過とともに互換性のない形で変化する可能性がある カスタム機能を問い合わせることを可能にします。返り値は、指定されたバージョンの機能に対する サポートだけを示します。versionパラメーターが設定されている場合、その値は、 true値を返すために、リーディングシステムがサポートするバージョン番号と 同一 [infra]で なければなりません(MUST)。

この仕様で定義される機能にはバージョンがありません。 リーディングシステムがこの仕様で定義される機能をサポートする場合、指定された versionパラメーターをすべて無視し、true値を返さなければ なりません(MUST)。

B.3.1.2 機能

次の表は、 epubReadingSystemオブジェクトをサポートするリーディングシステムが 認識しなければならない機能の集合を列挙します(MUST)。

名前 説明
dom-manipulation スクリプトは文書のDOMに構造的な変更を加えることができます(spineレベルのスクリプト処理 [epub-34]にのみ適用されます)。
layout-changes スクリプトは、コンテンツのレイアウトに影響する属性およびCSSスタイルを変更できます (spineレベルのスクリプト処理 [epub-34]にのみ適用されます)。
touch-events デバイスはタッチイベントをサポートし、リーディングシステムはタッチイベントを コンテンツへ渡します。
mouse-events デバイスはマウスイベントをサポートし、リーディングシステムはマウスイベントを コンテンツへ渡します。
keyboard-events デバイスはキーボードイベントをサポートし、リーディングシステムはキーボード イベントをコンテンツへ渡します。
spine-scripting リーディングシステムがspineレベルのスクリプト処理 [epub-34]をサポートするかどうかを示します (たとえば、コンテナー制約付き スクリプト [epub-34]が、トップレベルコンテンツ 文書におけるスクリプト処理サポートに依存するアクションを試みる前に、 その成功の見込みがあるかどうかを判断できるようにするため)。

リーディングシステム開発者は追加機能を追加してもかまいません(MAY)が、 この仕様の将来バージョンでは、この一覧に追加が行われ、それらのカスタム追加と 衝突または互換性がなくなる可能性があります。

C. 索引

C.1 この仕様で定義される用語

C.2 参照により定義される用語

D. 変更履歴

このセクションは非規範です。

この変更履歴は、EPUB 3.3以降の実質的な変更、すなわち EPUBリーディングシステムの適合性に影響し得る変更だけを 特定していることに注意してください。

対応済みの全課題の一覧については、ワーキング グループの課題トラッカーを参照してください。

EPUB Reading Systems 3.3以降の実質的な変更

E. 謝辞

このセクションは非規範です。

Publishing Maintenance Working Groupは、その歩みの中で失われた著名な貢献者であり友人たちに、 特別な謝意を表したいと思います。特に、EPUB、EPUB 3だけでなくEPUB全体は、Garth Conboyの 先見性、知識、そして並外れた善良さなしには今日の姿にはなっていなかったでしょう。同様に、Ben Schroeterは、 EPUBが普遍的にアクセシブルな形式としてその可能性に到達するのを助けるためのたゆまぬ働きによって、 常に記憶されるでしょう。私たちは永遠に彼らに恩義があります。

Publishing Maintenance Working Groupの次のメンバーが、この仕様の開発に貢献しました。

F. 参考文献

F.1 規範参照

[bidi]
Unicode Bidirectional Algorithm. Manish Goregaokar मनीष गोरेगांवकर; Robin Leroy. Unicode Consortium. 2025年8月13日. Unicode Standard Annex #9. URL: https://www.unicode.org/reports/tr9/tr9-51.html
[css-fonts-4]
CSS Fonts Module Level 4. Chris Lilley. W3C. 2026年4月22日. W3C作業草案. URL: https://www.w3.org/TR/css-fonts-4/
[css2]
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. Bert Bos; Tantek Çelik; Ian Hickson; Håkon Wium Lie. W3C. 2011年6月7日. W3C勧告. URL: https://www.w3.org/TR/CSS2/
[csssnapshot]
CSS Snapshot. URL: https://www.w3.org/TR/CSS/
[dcterms]
DCMI Metadata Terms. DCMI Usage Board. DCMI. 2020年1月20日. DCMI勧告. URL: https://www.dublincore.org/specifications/dublin-core/dcmi-terms/
[dom]
DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
[epub-33]
EPUB 3.3. Ivan Herman; Matt Garrish; Dave Cramer. W3C. 2026年1月13日. W3C勧告. URL: https://www.w3.org/TR/epub-33/
[epub-34]
EPUB 3.4. Matt Garrish; Ivan Herman. W3C. 2026年6月23日. W3C作業草案. URL: https://www.w3.org/TR/epub-34/
[epubcontentdocs-301]
EPUB Content Documents 3.0.1. Markus Gylling; William McCoy; Elika J. Etimad; Matt Garrish. IDPF. 2014年6月26日. URL: https://idpf.org/epub/301/spec/epub-contentdocs-20140626.html
[epubcontentdocs-32]
EPUB Content Documents 3.2. Dave Cramer; Matt Garrish. W3C. 2019年5月8日. URL: https://www.w3.org/publishing/epub32/epub-contentdocs.html
[epubmediaoverlays-32]
EPUB Media Overlays 3.2. Marisa DeMeglio; Daniel Weck. EPUB 3 Community Group. 2019年5月8日. URL: https://www.w3.org/publishing/epub32/epub-mediaoverlays.html
[html]
HTML Standard. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
[its20]
Internationalization Tag Set (ITS) Version 2.0. David Filip; Shaun McCance; David Lewis; Christian Lieske; Arle Lommel; Jirka Kosek; Felix Sasaki; Yves Savourel. W3C. 2013年10月29日. W3C勧告. URL: https://www.w3.org/TR/its20/
[mathml3]
Mathematical Markup Language (MathML) Version 3.0 2nd Edition. David Carlisle; Patrick D F Ion; Robert R Miner. W3C. 2014年4月10日. W3C 勧告. URL: https://www.w3.org/TR/MathML3/
[opentype]
OpenType specification. Microsoft. URL: http://www.microsoft.com/typography/otspec/default.htm
[rdfa-core]
RDFa Core 1.1 - Third Edition. Ben Adida; Mark Birbeck; Shane McCarron; Ivan Herman et al. W3C. 2015年3月17日. W3C勧告. URL: https://www.w3.org/TR/rdfa-core/
[rfc1951]
DEFLATE Compressed Data Format Specification version 1.3. P. Deutsch. IETF. 1996年5月. 情報提供. URL: https://www.rfc-editor.org/info/rfc1951/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. 1997年3月. Best Current Practice. URL: https://www.rfc-editor.org/info/rfc2119/
[rfc2397]
The "data" URL scheme. L. Masinter. IETF. 1998年8月. Proposed Standard. URL: https://www.rfc-editor.org/info/rfc2397/
[rfc8089]
The "file" URI Scheme. M. Kerwin. IETF. 2017年2月. Proposed Standard. URL: https://www.rfc-editor.org/info/rfc8089/
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. 2017年5月. Best Current Practice. URL: https://www.rfc-editor.org/info/rfc8174/
[rfc9110]
HTTP Semantics. R. Fielding, Ed.; M. Nottingham, Ed.; J. Reschke, Ed. IETF. 2022年6月. Internet Standard. URL: https://httpwg.org/specs/rfc9110.html
[svg]
SVG. W3C. URL: https://www.w3.org/TR/SVG/
[truetype]
TrueType™ Reference Manual. Apple, Inc. URL: https://developer.apple.com/fonts/TrueType-Reference-Manual/
[url]
URL Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://url.spec.whatwg.org/
[w3cprocess]
W3C Process Document. URL: https://www.w3.org/policies/process/
[webidl]
Web IDL Standard. Edgar Chen; Timothy Gu. WHATWG. Living Standard. URL: https://webidl.spec.whatwg.org/
[woff]
WOFF File Format 1.0. Jonathan Kew; Tal Leming; Erik van Blokland. W3C. 2012年12月13日. W3C勧告. URL: https://www.w3.org/TR/WOFF/
[woff2]
WOFF File Format 2.0. Vladimir Levantovsky. W3C. 2024年8月8日. W3C勧告. URL: https://www.w3.org/TR/WOFF2/
[xml]
Extensible Markup Language (XML) 1.0 (Fifth Edition). Tim Bray; Jean Paoli; Michael Sperberg-McQueen; Eve Maler; François Yergeau et al. W3C. 2008年11月26日. W3C勧告. URL: https://www.w3.org/TR/xml/
[xml-names]
Namespaces in XML 1.0 (Third Edition). Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson et al. W3C. 2009年12月8日. W3C勧告. URL: https://www.w3.org/TR/xml-names/
[xmlenc-decrypt]
Decryption Transform for XML Signature. Merlin Hughes; Takeshi Imamura; Hiroshi Maruyama. W3C. 2002年12月10日. W3C勧告. URL: https://www.w3.org/TR/xmlenc-decrypt/
[zip]
.ZIP File Format Specification. 2020年7月15日. Final. URL: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT

F.2 参考参照

[epub-tts-10]
EPUB 3 Text-to-Speech Enhancements 1.0. Matt Garrish. W3C. 2025年8月28日. W3Cワーキンググループノート. URL: https://www.w3.org/TR/epub-tts-10/
[fips-180-4]
FIPS PUB 180-4: Secure Hash Standard (SHS). U.S. Department of Commerce/National Institute of Standards and Technology. 2015年8月. 国家標準. URL: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
[h264]
H.264 : Advanced video coding for generic audiovisual services. 2017年4月13日. URL: https://www.itu.int/ITU-T/recommendations/rec.aspx?rec=13189
[indexeddb]
Indexed Database API. Nikunj Mehta; Jonas Sicking; Eliot Graff; Andrei Popescu; Jeremy Orlow; Joshua Bell. W3C. 2015年1月8日. W3C 勧告. URL: https://www.w3.org/TR/IndexedDB/
[rfc6386]
VP8 Data Format and Decoding Guide. J. Bankoski; J. Koleszar; L. Quillio; J. Salonen; P. Wilkins; Y. Xu. IETF. 2011年11月. 情報提供. URL: https://www.rfc-editor.org/info/rfc6386/
[ruby-tts-req]
Text-to-Speech Rendering of Electronic Documents Containing Ruby: User Requirements. Makoto Murata. W3C. 2026年4月25日. DNOTE. URL: https://www.w3.org/TR/ruby-tts-req/
[uaag20]
User Agent Accessibility Guidelines (UAAG) 2.0. James Allan; Greg Lowney; Kimberly Patch; Jeanne F Spellman. W3C. 2015年12月15日. W3Cワーキンググループノート. URL: https://www.w3.org/TR/UAAG20/
[wai-aria-11]
Accessible Rich Internet Applications (WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 2017年12月14日. W3C勧告. URL: https://www.w3.org/TR/wai-aria-1.1/