WebとEPUB(そして、その先にある出版)を繋ぐものとなるか、”Web Publications” #html5jpub

 2017年9月24日に開催されるHTML5カンファレンスのセッションの1つ、html5j 電子出版部セッションにパネリストの1人として登壇させていただくことになりました。

 このセッションのテーマは、端的に言うとW3Cで議論されている”Web Publications(以下、WP)”という仕様をテーマにしています。これについては、セッションに先立って公開されている村上真雄さんの以下のスライドに詳しいのですが、私の理解では、いろいろな意味で、WebとEPUBの間を繋ぐ役割を果たすものではないかと思います。

 
 WPの特徴は、htmlファイルなどをとりまとめる役割を果たす、EPUBで言うところのOPFファイルに相当する「マニフェスト」と呼ばれるファイルを持つことで、これにWPに関するメタデータを持たせたり、読む順序(htmlを表示する順序)の情報を持たせることで、wpを複数のhtmlを1つのコンテンツのようにあつかうことができるようになるようです。EPUBを簡易にしたような仕様のように思えます。
 仕様はまだ定まっていないので、はっきりとしたことはいえないところがありますが、一番シンプルなパターンがおそらく以下のようなパターンで、画像はもちろん、Webと同じような方法で動画、音声も扱えたりするのでしょう。逆に言えば、EPUBで扱えるSMILは扱えるのかな(難しいか・・)

manifest(表示する順序の情報やメタデータを持つ)
├-html1
├-html2
├-html3
(中略)
└html10

 
 EPUBと違い、スクリプトの使用におそらくは制限はなく、閲覧環境はウェブブラウザになると思うので、EPUBではできないようなインタラクティブなコンテンツ、動的なコンテンツ、APIを叩くようなコンテンツもつくれルのではないかと思うので、ウェブサイトをそのままWP化することもできるはず。
 オンライン上に展開されているWPを利用することはもちろん、オフラインでWPを利用することも想定されているようです。
図の説明はキャプションの後の本文にあり
“Accessing a Portable Web Publication in packed state from the Web via a Service Worker.” from Portable Web Publications for the Open Web Platform (W3C First Public Working Draft 15 October 2015)
 上の図は、オフラインでのWPの利用を示した図で、Webにアクセスできる環境にあるときに必要に応じてService Workerでサーバーに接続してラップトップコンピューターがウェブブラウザ上でWPを取得(更新?)してキャッシュすることを示している(らしい)。
 EPUB寄りの目線でみれば、オンラインで利用されることが想定されていることが「へぇ」ポイントかもしれない。ここはWeb寄りの立場で見るか、EPUB寄りの立場で見るかで、WPのどこに「へぇ」するかは違うのかもしれない。
図の説明はキャプションの後の本文にあり。
“Accessing a Portable Web Publication in an unpacked state directly from the Web. ” from Portable Web Publications for the Open Web Platform (W3C First Public Working Draft 15 October 2015)
 上の図はHTTPリクエストでサーバーに接続してラップトップコンピューターがウェブブラウザからパッケージされていないWPを取得する図。普通にWebにアクセスするのと同じということでしょうか。
 ページネーションや目次などのナビゲーションや閲覧環境も電子書籍のUIを取り入れたものが構想されているようです(しかも、ブラウザ上で)。理想的にいくならば、WebのよいところとEPUBのよいところをそれぞれ取り入れたものになりそうですし、WPがWebとEPUBを橋渡しすることで、WebやEPUBにもお互いの長所を取り入れる効果が期待できるような気がする。UIについては、以下で書いたこともありますが。電子書籍のリーディングシステムとWebブラウザが相互に影響しあって、それぞれのUIのよいところをとりいれるとよいと思う。

 パッケージングして、1つのファイルにできるようになることも想定されていて、その場合は、Packaged Web Publications(PWP)と呼ばれるようです。パッケージングの仕様は方向性がよくわかりませんが、オフラインで利用したり、持ち運んだりする場合は、1つのファイルとして扱えることが必須なような気がします。
図の説明はキャプションのあとの本文にあり
“The same content can be turned into an archived file and back without any inherent changes to the core content or associated digital assets” from Portable Web Publications for the Open Web Platform (W3C First Public Working Draft 15 October 2015)
上の図は、同じコンテンツがコンテンツのコアな部分の変更を伴わずにオフライン、オンライン両方で利用できることを示した図。スマートフォンがパッケージされて1つのアーカイブファイルをオフラインで利用し、ラップトップコンピューターがパッケージされずに展開されたWPをオンラインで利用している。
 W3Cのドキュメントを読むと、WPがフォローする範囲といいますか、想定されるユースケースはかなり広いようで、Web寄りの立場から見れば、オフラインでも読めるWebという見方もできそうですし、EPUB寄り、出版寄りの立場から見れば、EPUBにちかいもの、しかし、EPUBよりも自由度の高い出版物と見えるような気がする。立ち位置によってだいぶWPも違うものに見えるかもしれない。Webと出版を両端におくとするなら、私のイメージは以下の図のような感じで、WebとEPUBに若干重なりながら、webとEPUBの間に立つ立ち位置のように思えます。立ち位置によって全く違うものに見えるかもしれない。
Webと出版を両端において、WPの位置づけを示した図。Webが左、出版が右端にあり、出版のすぐそばにEPUBがあり、EPUBとWebの少し間のあるところにWPがEPUBとwebに重なりつつ置かれています
 EPUBは仕様上、長さに上限も下限もありませんが、現状、Amazonのような書店で販売され、紙版と並行して出されるコンテンツが圧倒的に多い気がします。その意味では、EPUBのコンテンツの長さやンテンツのあり方は、今のところ紙の出版物に規定されている(されてしまっている?かもしれない?)(もちろんEPUB全てがそうというわけではありません)。
 WPはおそらく紙の出版物(少なくも図書)の代替として出されることは、主なユースケースにならないのではという気もしています。Webよりも長く、本より短いサイズのコンテンツに向いているものかもしれない。2011年に以下のようなエントリを書いたことがありますが、WPに該当する部分があるかもしれない(、これも今読み返すとだいぶ外れているのですが)。

 ビジネスモデル、というべきなのか、分かりませんが、制作者からどのような過程を経て、WPがユーザーの手に渡るのかという点も気になります。電子書籍に以下の図のようにプラットーフォームごとにコンテンツへのリーチから、DRM、課金、アノテーション、リーディングシステムまで囲い込む垂直統合型が基本になっています。垂直統合型が悪いというわけではないのですが、それだけだと、ユーザー側の選択肢が狭められてしまうので、可能な部分をプラットフォームの機能をレイヤーごとに分けて水平分業型にできないかと考えたこともありますが、
プラットフォーマーがアカウント、リーチ(検索)、DRM、課金、アノテーション、リーディングシステムをそれぞれで抱えている図
Webと親和性が高そうなWPは、おそらくWebに準じた水平分業型に近いものになるのではないか。電子書籍領域のそばに水平分業型のWPというコンテンツがドンと出てくることで、以下の図にあるように水平に伸びてくるレイヤーが電子書籍から出てくるかもしれない。
左端にWeb、右端に電子書籍、中央にWPがある横軸の図で、アカウント、リーチ(検索)、DRM、課金、アノテーション、リーディングシステムの各レイヤーが並んでいる図。webはリーチ、アノテーション、ブラウザのレイヤーを有している(アカウント、DRM、課金レイヤーはない)。最も右端の電子書籍部分はプラットフォーマーが全てのレイヤーを独自に囲い込んでいるが、中央に近づくと、一部のレイヤー(リーチ、アノテーション、DRM、リーディングシステム)を他の電子書籍プラットフォーマーと共有したり、WPともレイヤー(リーチ、アノテーションなど)を共有している。中間にあるWPはWebよりな位置ではWebと同じレイヤー構造で、電子書籍よりの位置では、アノテーションや課金は電子書籍とレイヤーを共有している。
アクセシビリティの観点からいえば、自分の使いやすいリーディングシステムは人によって異なるので、プラットフォーム側に使用するリーディングシステムを固定されない方が望ましい。自分の使いやすいリーディングシステムやブラウザで複数のプラットフォームのコンテンツやWPが使えるようになるとよいなぁと思ったりする(ちなみに以下の図で複数で共有されているリーディングシステムレイヤーは1つのリーディングシステムで複数のプラットフォームを共有するということではなく、利用者にとって使いやすいリーディングシステムで複数のプラットフォームを利用できるということを示している)。
 2012年にも以下のエントリを書いたことがあります。今、改めて読み返すとこれはこれで結構ツッコミどころが多いのですが、WPの目指すところはこれに近いイメージはあるかもしれないとも感じています。

 PWPは、次世代のEPUBになる可能性もあるようです。WPとEPUBよりは、WPとWebのほうが親和性が高いように思えるので、WPとEPUBが統合したら、出版とWebの融合もかなり進むのではないかという気がする(しかし、その場合、EPUB3とだいぶ異なる仕様になるので、後方互換性は大丈夫かという懸念も)。
 思いつくところをいろいろと書きましたが、さあ、どうなるのでしょうか。WPのアクセシビリティはどうなるか、という点も気になるところ。

参考ドキュメント

アクセシビリティの観点から電子書籍のおけるTTSの読み上げの正確性をどこまで保障するべきか

 公共図書館や点字図書館が著作権法第37条第3項の権利制限規定に基づいて、視覚障害者等のためにテキストDAISYを作るようにEPUBを作成した場合のPackage Documentファイル(OPFファイル)に包含するメタデータを考えてみました。EPUBのアクセシビリティ仕様であるEPUB Accessibility 1.0の要件を可能な限り満たすメタデータを目指しました。
 今回は、仮にEPUBを制作する図書館を「XXX図書館」とし、この図書館が、『ローマ帝国の崩壊: 文明が終わるということ』(ブライアン・ウォード=パーキンズ 著、南雲泰輔訳)を原本にたEPUB作成した場合を想定してみました。

原本となる書籍の特徴

  • 責任者に著者と訳者がいる。
  • テキストが主体の書籍だが、図(テキストがベースの図も含む)や地図、写真、グラフが用いられている。
  • テキストの一部にルビがふられている(ただし、訳語に原語の発音をカタカナ表記でルビをふったもの)。

想定されるEPUBの特徴

 視覚障害者等のためにテキストDAISYを作るようにEPUBを制作するということで、通常のリフロー型のEPUBであるということに加えて、以下のようなアクセシビリティの要件が追加されると想定します。

  • 原本のページ情報が追加されている。
  • 原本にあるルビはルビタグを用いて表示される(逆にいえば、原本にルビのない箇所にはルビを追加しない)。
  • 図や地図、写真、グラフが画像として挿入される場合は、代替テキストあるいは説明が長くなる場合は長い説明が追加されている。
  • DRMは用いない(DAISYだからDRMは不可というわけではないですが、用いないほうが利用者のリーディングシステムの選択の幅が拡がるのでないほうが望ましい)

以上で、おそらくWCAG 2.0 Level AAに準拠することになるのではないかと思われます。

想定されるEPUBのメタデータ

 EPUB Accessibility 1.0の要件を可能な限り満たすメタデータを包含します。
 また、著作権法第37条第3項の権利制限規定に基づいて製作されたDAISY的なEPUBならば、その原本の出版事項はメタデータに入れておく必要があります。しかし、EPUBの仕様に規定されるメタデータだけでは、語彙が不足するようなので、接頭辞”dtb”を宣言して、DAISY3の仕様から語彙を一部使用することにしました(ただし、DAISY3のメタデータの語彙が定義されているURIが見つからないので、URIはとりあえずの仮のもの)。

作ってみたEPUBのメタデータ

 作ってみたメタデータは以下の通りです。EPUB Accessibility 1.0の要件に関係してくるのは、「アクセシビリティ情報」以下のところです。
 なお、タイトルや責任者名にヨミを入れているのは、今回なんとなく入れてみたという次元のもので、必須というものでもないようです(DAISYでは入れられている例はあまり見たことがない)。
 
 接頭辞”schema”や”a11y”は、EPUB Publications Reserved Prefixesで予約済みなので、今回、接頭辞として宣言したのは、”dtb”のみです。
 実際に作ろうとすると、悩むところが多かったです。正しいかどうか・・・・

<?xml version="1.0" encoding="UTF-8"?>
    <package
        xmlns="http://www.idpf.org/2007/opf"
        unique-identifier="uni_id"
        version="3.0">
    <metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<!-- 識別子 -->
              <dc:identifier id="uni_id">urn:uuid:4dafre9c99rkfkrfirlelir84448kckc8kiiri393943cdrerre434343gbghtht</dc:identifier>
<!-- タイトル -->
        <dc:title id="title">ローマ帝国の崩壊 : 文明が終わるということ</dc:title>
        <meta refines="#title" property="file-as">ローマ テイコク ノ ホウカイ : ブンメイ ガ オワル ト イウ コト</meta>
<!-- 責任者 -->
        <dc:creator id="creator1">ブライアン・ウォード=パーキンズ </dc:creator>
        <meta refines="#creator1" property="role" scheme="marc:relators">aut</meta><!-- 役割:著者 -->
        <meta refines="#creator1" property="alternate-script" xml:lang="en">Ward-Perkins, Bryan</meta>
        <meta refines="#creator1" property="display-seq">1</meta>
        <dc:creator id="creator2">南雲泰輔</dc:creator>
        <meta refines="#creator2" property="role" scheme="marc:relators">trl</meta><!-- 役割:訳者 -->
        <meta refines="#creator2" property="file-as">ナグモ, タイスケ </meta>
        <meta refines="#creator2" property="display-seq">2</meta>
<!-- フォーマット-->
        <dc:format>application/epub+zip</dc:format>
 <!-- 言語 -->
        <dc:language>ja</dc:language>
 <!-- 著作権情報 -->
        <dc:rights>このEPUB出版物は、著作権法第37条第3項の規定に基づき、障害等の理由により原本をそのままでは利用できない方のためにXXX図書館が制作したものです。著作権法に定められた権利制限規定に該当する場合を除き、又貸し、複製等による第三者への提供はできません。 </dc:rights>
<!-- EPUB製作機関情報 -->
        <dc:publisher>XXX図書館</dc:publisher>
        <dc:date>2017-07-30T22:34:23Z</ dc:date >
        <meta property="dcterms:modified">2017-07-31T23:38:37Z</meta>
<!-- 原本出版情報 -->
        <dc:source id="isbn_id">urn:isbn: 978-4-560-08354-3</dc:identifier>
        <meta refines="#isbn_id" property="identifier-type" scheme="onix:codelist5">15</meta>
        <!-- ↑原本のISBNが13桁の場合は"15"、原本のISBNが10桁の場合は"02" -->
        <meta refines="#isbn_id" property="source-of">pagination</meta>
        <!-- ↑EPUBに原本のページ情報を埋め込んだ場合にそのページ情報のソースがこの原本であるということをこれで記述 -->
<!-- アクセシビリティ情報 -->
<!-- accessMode -->
        <meta property="schema:accessMode">textual</meta><
        <meta property="schema:accessMode">visual</meta>
        <meta property="schema:accessMode">textOnVisual</meta>
        <meta property="schema:accessMode">chartOnVisual</meta>
<!-- accessModeSufficient -->
            <meta property="schema:accessModeSufficient">textual,visual</meta>
        <meta property="schema:accessModeSufficient">textual</meta>
<!-- accessibilityFeature -->
        <meta property="schema:accessibilityFeature">alternativeText</meta>
        <meta property="schema:accessibilityFeature">readingOrder</meta>
        <meta property="schema:accessibilityFeature">tableOfContents</meta>
        <meta property="schema:accessibilityFeature">printPageNumbers</meta>
        <meta property="schema:accessibilityFeature">structuralNavigation</meta>
        <meta property="schema:accessibilityFeature">unlocked</meta>
        <meta property="schema:accessibilityFeature">displayTransformability</meta>
        <meta property="schema:accessibilityFeature">longDescription</meta>
        <meta property="schema:accessibilityFeature">structuralNavigation</meta>
<!-- schema:accessibilityHazard -->
        <meta property="schema:accessibilityHazard">noFlashingHazard</meta>
            <meta property="schema:accessibilityHazard">noMotionSimulationHazard</meta>
        <meta property="schema:accessibilityHazard">noSoundHazard</meta>
<!-- schema:accessibilitySummary -->
            <meta property="schema:accessibilitySummary">全ての図、写真、グラフ等には代替テキストが提供されているか、長文になる場合は、その近くにそれらの長い説明テキストが挿入されています。このEPUB出版物はWCAG 2.0 Level AAに準拠しています。</meta>
<!-- WACGへの適合レベル-->
        <meta property="a11y:certifiedBy">XXX図書館</meta>
        <link rel="dcterms:conformsTo" href="http://www.idpf.org/epub/a11y/accessibility-20170105.html#wcag-aa"/>
     </metadata>
     <manifest>
   …
</package>

作ってみた感想

語彙の追加

 テキストDAISY的に作る場合は、原本出版社(sourcePublisher)や原本出版年(dtb:sourceDate)を入れたい。DAISY3の語彙を使用したいが、DAISY3の語彙を定義しているURIがよく分からず、困った(未だに解決していない)。

アクセシビリティメタデータ

 アクセシビリティメタデータについては、以下を参照。

 アクセシビリティ情報として、追加したSchema.orgのメタデータは、”WebSchemas/Accessibility“(imagedriveさんによる日本語訳)を参考に入力しましたが、個々の値については、Schema.orgの本サイトを含め、どこにも説明がされてないものが多く、どの値を入れるべきか迷うところが多かったです。例えば

  • accessMode:値に”chartOnVisual”、”textOnVisual”など”〜OnVisual”というものが用意されているが、”visual”と区別するのか(視覚機能が必要という点では全て同じように思えるが、画像として表示されるテキスト、グラフ区別する必要があるのか)
  • accessibilityFeature: “rubyAnnotations”について。ごく一部分の提供でも”rubyAnnotations”は入れるべきなのか。また、ルビの目的に制限はないのか(今回は、原本のルビが補足情報の追加が目的でアクセシビリティ機能の追加ではないので、この値は使用しなかった)。
  • WACG以外に適合させるガイドライン、規格は特に思いつかなかった。その場合、「最適化されたEPUB出版物」の要件として求められる「最適化(規格またはガイドライン識別)の要件」に適合できないということになるのか、そのあたりがよく分からなかった。代替手段として、accessibilitySummaryにきちんと書いておけばよいのか。

 dcterms:conformsToにWCAGのどのレベルに準拠しているかを記入することが求められていますが、あわせて”a11y:certifiedBy”で誰がそれを証明するかを記入することも求められています。本当は第三者の外部機関に証明してもらうことが一番でしょうが、図書館で費用をかけて個々のEPUBに外部に証明してもらうのは、難しいとおもわれますので、おれおれ証明になりますが、制作館である「XXX図書館」が証明することにしました。仕様にも出版社が証明者になる例があるので、問題ないはずですが・・・


※2017/08/01 追記
imagedriveさんがWebSchemas/Accessibilityに追記された訳注を参考に、一部メタデータを修正しました。
具体的には以下を追加しました。

<meta property="schema:accessibilityFeature">tableOfContents</meta>
<meta property="schema:accessibilityFeature">displayTransformability</meta>

  迷ったのは、すでに記入していた以下のメタデータです。番号付き見出しをEPUB出版物全体をとおして正しく使用できるかどうか。該当する場合としない場合がありそうですが、今回は該当するという前提で残しました。

<meta property="schema:accessibilityFeature">structuralNavigation</meta>

 
※2017/08/03 追記
dc:rightsに著作権情報(著作権法第37条第3項の権利制限規定に基づいて制作されたこと)を追加しました。DAISYならほぼ当然のことですが、EPUBだと必要でしょうか。おそらく

 <!-- 著作権情報 -->
     <dc:rights>このEPUB出版物は、著作権法第37条第3項の規定に基づき、障害等の理由により原本をそのままでは利用できない方のためにXXX図書館が制作したものです。著作権法に定められた権利制限規定に該当する場合を除き、又貸し、複製等による第三者への提供はできません。 </dc:rights>

 
※2017/08/09 追記
DAISY3のメタデータを追加して原本出版社(sourcePublisher)や原本出版年(dtb:sourceDate)を入れていましたが、DAISY3のメタデータの語彙を定義するURIがみつからないので、原本出版社(sourcePublisher)や原本出版年(dtb:sourceDate)及び接頭辞”dtb:”の定義部分を削除しました。EPUB3の仕様にもあるとおり、dc:sourceに原本のISBNを入れることで、原本を一意に指定できるので、それでよしとしました。ISBNを持たない資料を原本とする場合は、<dc:source id=”###”>Publisher, YYYY, 1st edition, hardback</dc:source>のように原本の出版情報を直接、書けばよいみたいです(参考: Source of pagination for books without ISBN | International Digital Publishing Forum)。

<?xml version="1.0" encoding="UTF-8"?>
    <package
        xmlns="http://www.idpf.org/2007/opf"
        unique-identifier="uni_id"
        version="3.0"
        prefix="dtb: http://www.loc.gov/nls/z3986/2005/dtbook"
        >
<!-- 原本出版情報 -->
        <dc:source id="isbn_id">urn:isbn: 978-4-560-08354-3</dc:identifier>
        <meta refines="#isbn_id" property="identifier-type" scheme="onix:codelist5">15</meta>
        <!-- ↑原本のISBNが13桁の場合は"15"、原本のISBNが10桁の場合は"02" -->
        <meta refines="#isbn_id" property="source-of">pagination</meta>
        <!-- ↑EPUBに原本のページ情報を埋め込んだ場合にそのページ情報のソースがこの原本であるということをこれで記述 -->
        <meta property="dtb:sourcePublisher">白水社</meta>
        <meta property="dtb:sourceDate">2014</meta>

 余談ですが、EPUB 3.1の仕様 では、dc:sourceに対して言及はされているものの、dc:sourceそのものの項目がばっさり削除されていますね・・・。上のやり方(特に原本のページ番号を埋め込んでいるという”pagenation”という情報)は3.1でも使えるのかどうか・・