アクセシビリティ Advent Calendar 2019の10日目のエントリーです。
Aceってなに?
EPUBとは何かという話は長くなりますので、詳細はWikiなどをみていただくとして、ざっくり電子書籍で使われるファイルフォーマットのことです。内部の技術としてHTMLやCSS、メタデータの記述にXMLなどの技術が使われており、オープンなフォーマットとして現在はW3Cが標準化を進めています。Webと親和性が高いフォーマットですね。
また、EPUBの仕様において重要なことに、デジタル録音図書の国際標準規格DAISY(Digital Accessible Information System)より「アクセシブルな情報システム」の要件を取り入れていることがあります。こちらはDAISYコンソーシアムが規格の普及を促進しています。
EPUBはその誕生からアクセシビリティ(特に録音図書由来)に関する仕様が組み込まれており、EPUB Accessibility 1.0 (日本語訳)が仕様として策定されています。
kzakzaさんによる概要解説がわかりやすいです。
本日ご紹介するのは、DAISYコンソーシアムが開発している、EPUBのAccessibility仕様への適合をチェックするツールAceについてです。
ちなみにEPUBのバリデーションツールとしてはW3CによるEPUBCheckというCLIのアプリがありますが、そちらはEPUBの仕様への準拠のチェック、Aceはアクセシビリティのチェックと観点が違います。
まぁ、前置きはよしとして、ともかく動かしてみてどんな出力が得られるか試してみます。
アプリをダウンロードして起動
さっそくAceのウェブサイトよりビルド済みのアプリをダウンロード。
現時点Aceのコアは1.1.1が最新ですが、ビルド済みアプリ最新は1.0.1のようですね。今日はMacOS向けの1.0.1を使ってみます。
サイトのメニュー「The Ace App」からMacOS、Windows、Linux用のビルド済みアプリをダウンロード、展開してインストールします。
ちなみにAceはNodeベース、GUIアプリはElectronで開発されています。
Aceを起動
テストするのは、まずデモに従いIDPFのEPUB3サンプルにします。
ファイルをドラッグ&ドロップするか、メニューの「Check EPUB」を選ぶとファイル選択ダイアログが表示され、EPUBファイルを選ぶと自動的にチェックが開始されます。
しばらく待つと、以下のように結果が表示されました。さすがに公式のサンプル、あまり面白味のない結果ですが。
結果は規約違反を表示する「Violations」とアクセシビリティメタデータを含むメタデータの設定情報を表示する「Metadata」、コンテンツの構造やHTMLの構成を表示する「Outlines」、画像と代替テキスト(alt,aria-describedby,figcaption)の一覧を表示する「Images」となっています。
Violations
Violationは大きく分けてAce独自のEPUBアクセシビリティチェックと、Deque Systems社が開発しているaxeというオープンソースのアクセシビリティ検証ライブラリーによるチェック結果が表示されます。
スナップショットでは項目名が消えてしまっていますが、3項目が「Via: Ace/Via: aXe」となっていることでわかりますね。
再掲kzakzaさんによる概要解説を読んでいただくと分かるとおり、EPUBにおけるアクセシビリティの要件として、WCAGとの適合性Aが必須、AAが推奨となっています。この部分のチェックはaxeが担当。EPUBのための追加要件のチェックはAce独自で書かれている、というつくりになっています。
Metadata
メタデータのレポートでは、設定されているメタデータ一覧の表示以外に、アクセシビリティ関連のメタデータの設定の有無をチェックして表示してくれます。
Violationsで「Serious」が出ていましたが、このEPUBはアクセシビリティメタデータは全滅のようです。
特に面白いレポートも出ていなかったので。OutlinesとImagesは割愛します。
あ、画像のLocationがEPUBCFIだったのが個人的には面白ポイントでしたが。
Export
Export機能を使うと、静的なレポートファイル(HTML、JSON)をZIPに圧縮し出力してくれます。
HTMLはアプリで表示されるレポート一式と、画像も含まれるようなので、そのまま代替テキストの確認に回せそう。結果を共有したい場合にはよろしいのかなと思います。
JSONは本来CLIで自動化する用途かと思いますが、レポートを何かデータとして再利用するには嬉しいかもですね。
Settings
設定項目としては、レポートファイルを出力するフォルダの指定と、GUIの言語設定です。
言語は現在、English、French、Spanish、Portuguese-Brazilの4言語。残念ながら日本語はなしですが、Localizationの説明を読むと翻訳さえ準備できればそんなに難易度高くなく日本語版を追加できそうな感触です。
数年前にはじめて触った時は多言語化する仕組みがまだなく、手軽にさわれませんでしたが、すでに4言語で動く様になっていますので、日本語勢(?)も取り組みたいところですね。
axeは日本語版があります(ミツエーリンクスの畠山さんのお仕事、多謝)ので、Ace独自の部分をなんとかすればなんとか。
ということで、年末年始少しチャレンジしてみようかなと思っていますので、できたら翻訳レビューにお付き合いいただけるとありがたいです。
まとめてきなもの
- Aceはだいぶ成熟してきおり、アプリ版は導入も手軽。メタデータや代替テキストのチェックは概ねできる。
- Violationsのチェックはもう少し色々試してみたいが、axeがコアにあるので信頼性は結構高いのでは。
- EPUBCheckと併用して販売されるEPUBの品質チェックに使われるようになるといいな!
- 日本語化はまだされていないが、翻訳を準備すれば組み込みは可能な見込み。
- 最近電子書籍のアクセシビリティ関連のアウトプットできてなかったので、ちょっと頑張りたい。
- 英語ダメ人間なので、できたら誰か見て欲しいです。
UI部分はざっくり日本語化完了のイメージ
以上、ありがとうございました。
よければこんなのも見ていってください。