EPUB3.1の最終ドラフトが公開されました。EPUB3.1での機能変更は当初期待より大幅に縮小となりました。

追記【】2017年1月にEPUB 3.1はIDPFの勧告仕様となりました。
EPUB 3.1 Recommended Specification 5 January 2017

————以下、元のブログ————
2016年8月1日、EPUB3.1の仕様書最終ドラフトが公開されました(これはEditor’s Draftとのことです。詳しくは下の追記を参照)。今後は新しい機能が追加される予定はなく、新しい要求があっても次のバージョンに持ち越される予定です。

EPUB3.1の開発は、2015年の夏に始まりました。最初の方向検討会議では、非互換をおそれず、EPUB3.1で様々な新機能を盛り込むという話でした[1]。しかし、その後、市場からのフィードバックなどによるものと思いますが、新機能の話は大幅に後退しました。EPUB3.0.1からEPUB3.1への変更の多くは仕様書の文書としてのメンテナンスになり、実質的変更は小さなものとなります。

EPUB3.1 2016年8月1日版の仕様書は次のモジュールからなっています。

EPUB3.1概要
EPUB3.0.1からEPUB3.1への変更点

仕様書の構成は現行バージョンのEPUB3.0.1からかなり変更されています。しかし、これは仕様書としてモジュール間の整合性を整えるために行われたものが多く、仕様の実質的な変更は、それほど多くはないようです。

以下、主に「EPUB3.0.1からEPUB3.1への変更点」を参考にして、変わった項目をざっと紹介します。なお、以下は、すべてを網羅しているわけではありませんので、予めお断り致します。

1.EPUBパッケージ3.1

EPUB Publications 3.0.1は、EPUBパッケージ3.1にタイトルが変更になりました。さらに、EPUB内容文書3.0.1に収容されていたEPUBナビゲーション文書の仕様は、そっくり、EPUBパッケージ3.1に移動しました。これはEPUBでは幾つものHTML文書を一つにパッケージし、それらの文書をナビゲーションすることが重要との判断に基づいています。

EPUBパッケージ3.1では、パッケージ化について記述する.opfファイル(XMLファイル)を規定しています。
(1) .opfファイルのルート要素packageのversion属性に、EPUBのバージョン番号を記述します。これが<package version=”3.0″>から<package version=”3.1″>に変更になります。バージョンを確認しているEPUBリーダーでは読み込まないかもしれません[2]。従って、EPUB3.1形式の出版物をリリースするにはストア毎に対応を確認してからとなるのでしょう。
(2) package要素の子供からguide要素が削除されました。
(3) metadata要素の子供からOPF2_meta要素が削除されました。
a. metadata要素の子供のdc:identifierにopf:scheme (オプション)が追加されました。
b. 同dc:title要素の属性にopf:alt-script(オプション)とopf:file-as(オプション)が追加されました。
c. 同contributor、creator、publisher要素の属性にopf:alt-scriptとopf:file-as(いずれもオプション)が追加されました。contributor、creator要素の属性にopf:role(オプション)が追加されました。
d. 同meta要素の属性にrefinesが置き換え対象[3]となり、代わってopf:alt-script、opf:file-as(オプション)が追加されました。
(4) manifest要素の子供item要素にduration属性(条件によって必須)が追加されました。
(5) bindings要素が削除され、マニフェストfallbackが追加されました。
(6) NCX(EPUB2の目次)は廃止予定[4]となりました。これにともない、spineのtoc属性が廃止予定となりました。

2.EPUB内容文書3.1

EPUB内容文書3.1は、EPUBの内容を記述するHTML5とSVGについて規定します。HTML5にはHTML構文とXHTML構文がありますが、EPUB3.1ではXHTML構文で記述します。ファイル名の拡張子は.xhtmlを使うべきとされています。このあたりは、EPUB3.0.1.から変わっていません。

(1) HTML5、SVGへの参照方法が変わり、HTML5、SVGの仕様が改訂されるとすぐにEPUB3.1に反映されるようになります。
(2) CSSの参照方法が変わり、CSSサポートがより一般的になります。
  EPUB3.0.1で採用されているプレフィックス付のプロパティは、できるだけ早く使わないようにすることが推奨されています。writing-modeプロパティは変更なし。text-orientationはプロパティの値が変更となります。また、特に、-epub-text-combineプロパティは廃止され、text-combine-uprightプロパティとなります。
(3) リーダーのスタイルよりも、著者とユーザーのスタイルを優先するためのガイダンスを追加します。
(4) スクリプトのサポートの明確化。
(5) コンテント切り替え機能(switch要素)を削除します。
(6) オーディオやビデオのようなマルチメディア再生のためのユーザーインターフェイスをマークアップするtrigger要素は削除されます。EPUB3.1ではオーディオやビデオのようなマルチメディア再生はHTML5のaudio要素、video要素でコントロールすることを勧めています。
(7) EPUBリーダーオブジェクトとして、IDL定義を追加。

その他のモジュールは省略します。

[1] EPUB 3.1 開発計画の概要 2015/10/20現在
[2] 例えば、IDPFで準備した仕様書のEPUB 3.1ファイルは、AdobeのDigital Edition3.0.1、iBooks 4.1.1は現在でもEPUB3.1を開くことができます。KindleGen V2.9でkindle mobi形式に変換もできます。packageのバージョンをチェックしているEPUBリーダーは少ないのかもしれません。
[3] superceded。将来廃止されるので使わないようにする。
[4] obsolete。次のバージョンアップで廃止される。
[5]《経過》2016年1月30日のEditor’s Draft初版では、急進的な変化を組み込んだドラフトが発表されました。
  EPUB 3.1 Changes from EPUB 3.0.1 Editor’s Draft 30 January 2016
  その後、2016年4月26日のEditor’s Draft第2版で急進的なアプローチは否定されたようです。
  EPUB 3.1 Changes from EPUB 3.0.1 Editor’s Draft 26 April 2016
  今回の最終ドラフトは4月26日版の延長となります。

[6] 追記(8月17日) 8月16日にIDPFから来たメールによりますと、8月1日に公開されたのは、3回目のEditor’s Draftであり、機能的には完成で、指摘された問題を解決済みのもの。コミュニティでレビューしてもらい、9月の早いうちに正式なパブリックドラフト(formal Public Draft)にする予定だそうです。