KindleのMathML対応とそのスクリーンリーダー対応について

 前エントリに続き、アマゾンのAmazon Kindle パブリッシング・ガイドラインネタ。
 2018年に公開されたバージョン 2018.2でMathMLへのサポートが追加されました。

1. MathML対応の詳細

 最新のバージョン 2019.2の時点でMathMLサポートは以下のように記載されています(2018.2から変更なし) 。

10.6 MathML のサポート 
 タイプセッティングの改善は MathML をサポートしています。
サポートされているタグ:

  • maligngroup
  • mrow
  • malignmark
  • ms
  • math
  • mspace
  • menclose
  • msqrt
  • mfenced
  • mstyle
  • mfrac
  • msub
  • mi
  • msubsup
  • mlabeledtr
  • msup
  • mmultiscripts
  • mtable
  • mn
  • mtd
  • mo
  • mtext
  • mover
  • mtr
  • mpadded
  • munder
  • mphantom
  • munderover
  • mroot

サポートされていないタグ:

  • annotation
  • maction
  • mglyph
  • mlongdiv
  • msgroup
  • mstack
  • semantics

トラブルシューティング:
MathJax を含む HTML ページを開いてください。問題なく表示された MathML は、タイプセッティングの改善でサポートされています。

2. スクリーンリーダーのMathMLサポート

 Kindleはデスクトップ環境のスクリーンリーダーでは、JAWSとNVDA、スマートフォンでは、VoiceOver (iOS/iPadOS)TalkBack(Android)への対応を謳っていますが(なお、JAWS、NVDAの日本語コンテンツへの対応はまだ)、少なくともJAWSとNVDAはKindleに挿入されたMathML数式の読み上げに対応しているようです(確認できていませんが、VoiceOver もEPUBの閲覧環境との組み合わせではMathMLを読み上げることが多いので、対応している可能性は高そう)。

2.1 NVDA

NVDAは2018年3月に公開されたNVDA2018.1で早速対応していたようです。最新のNVDA 2020.1のユーザーガイドでは、以下のとおり案内されています。開発が止まっているぽいMathPlayerが必要という点がひっかかりますが。

  1. 数式の読み上げ

Design Science の MathPlayer 4 を使うと NVDA で数式の読み上げと対話的なナビゲーションが可能です。 この機能を使うためにはコンピューターに MathPlayer 4 をインストールしてください。 MathPlayer は以下から無料でダウンロードできます: https://www.dessci.com/en/products/mathplayer/
NVDA は次の種類の数式コンテンツに対応します:

  • Mozilla Firefox, Microsoft Internet Explorer および Google Chrome における MathML
  • Microsoft Word と PowerPoint における Design Science の MathType: ただし MathType をインストールしておく必要があります。 評価版でもかまいません。 以下からダウンロードできます: https://www.dessci.com/en/products/mathtype/
  • Adobe Reader における MathML: ただし、まだ公式な規格ではないため、この形式のファイルを作成できるソフトは公開されていません。
  • Kindle for PC における数式: アクセシブルな数式を含む書籍に対応

NVDAはドキュメントの読み上げにおいて、これらの対応している数式コンテンツがあれば数式の読み上げを行います。 点字ディスプレイを使用している場合は、点字での数式の出力を行います。

 

11.7. Kindle for PC
NVDA は Amazon Kindle for PC での電子書籍の読み上げとナビゲーションに対応しています。 この機能は「スクリーンリーダー対応」として制作された Kindle 電子書籍で有効です。それぞれの電子書籍の詳細ページで対応状況を確認してください。
電子書籍の読み上げにはブラウズモードを使います。 電子書籍を開いたり、書籍の内容部分にフォーカスを移動したりすると、ブラウズモードに自動的に切り替わります。 カーソルの移動や「すべて読み上げ」の実行において、ページの移動は必要に応じて自動的に行われます。 PageDown キーで次のページに進みます。PageUp キーで前のページに戻ります。
1文字ナビゲーションはリンクと画像のみ有効です。ただし現在のページの中でしか移動できません。 リンクへの移動には脚注も含まれます。
アクセシブルな数式を含む書籍では、数式の読み上げと対話的なナビゲーションが可能です。 詳細は 数式の読み上げ を参照してください。

2.2 JAWS

2019年10月にKindleに埋め込まれたMathMLコンテンツの読み上げに対応したそうです。

  • Freedom Scientific Collaborates with Amazon to Improve JAWS Access to the Kindle App for PC – Freedom Scientific Blog

    Reading Math Content
    Reading math content in Kindle books is now possible for speech and braille users in the Kindle App for PC with JAWS and Fusion. Math expressions are shown in braille using Nemeth code, a system for reading and writing math that is exclusive to the English language.
    Reading math content in the Kindle app is very similar to accessing it on web pages. When mathematical content is found in a Kindle book, JAWS will describe the particular expression, which can also be accessed using a refreshable braille display. Pressing ENTER on this content will open a feature we implemented called the Math Viewer, which can be used to explore the expression in greater detail

Amazon Kindle パブリッシング・ガイドラインでアクセシビリティの要件に言及している箇所

 アマゾンが出版社向けにKinleストアで販売するための電子書籍データのガイドラインを提示しています。

 これを読むと、アマゾンがアクセシビリティにかなり気を配っていることがよくわかります(代替テキストに関する言及が弱いところを除けば、このとおり作られたEPUBはかなりアクセシブルではないか)。
リフローなEPUBについては、全体にわたってアクセシビリティに関する要件が盛り込まれていますが、特にアクセシビリティについて言及している部分を、最新のバージョン 2019.2版から気がつく範囲で抜粋してみました。以下はアクセシビリティに関する言及がある章、節。項いずれかの見出しとそのパラグラフの抜粋です。

2.1.1 Kindle Create

文字数の多い本の場合、.doc(x) ファイルは “リフロー型” の電子書籍に変換されます。リフロー型の電子書籍は、読者が文字のサイズを変更できます。また、すべての Kindle 端末および無料の Kindle アプリで利用できます。リフロー型の本は、端末またはアプリでサポートされていれば、スクリーン リーダーまたは点字ディスプレイを使用して読むことができます。

3 フォーマットの比較

変換フォーマット 最適な本の種類 主な機能 サポートされている端末 制約 タイプセッティングの改善のサポート ガイドライン
リフロー型 テキストが主体の本
  • 画面の向きを調整可能
  • フォントの設定を調整可能
  • 辞書の検索
  • ハイライト
  • スクリーンリーダーと点字ディスプレイをサポート
  • 単語検索
  • X-Ray
すべてのKindle端末とアプリ 複雑なレイアウトの場合は再現するのが難しいか、または不可能な場合がある セクション 10: テキスト主体の電子書籍 (フィクションおよびノンフィクション) を作成する (リフロー型)

6.1 整形式の HTML 文書 (XHTML) を構築する

HTML 文書や XHTML 文書がアクセシビリティに十分配慮した形式になるよう、以下の文書のアクセシビリティ基準に従うことを推奨します。

8 アクセシビリティ ガイドライン

目の不自由な人、中程度から重度の視覚障がい者、失読症などの読書障がい者を含め、すべての読者に本を利用していただけるよう、Amazon では以下のベスト プラクティスを推奨しています。

  1. 本の主言語とコンテンツ内の言語の変更を定義する。
  2. HTML、EPUB、または .doc(x) 形式で構成がしっかりしたコンテンツを作成する (セクション 6.1 を
    参照) (注: .doc(x) は KDP でのみ使用可能):

    • a. 見出しを階層化して、章、セクション、サブセクションの構造を反映させる。
    • b. 番号付きリストと番号なしリストを使用してアイテムをグループ化し、構造化する。
    • c. すべての表にキャプション、行見出し、列見出しを含める (セクション 10.5 を参照)。画像による表の使用を避ける。
  3. コンテンツの理解に不可欠なすべての画像を代替テキストや周囲のテキストで説明する。装飾目的の画像の alt 属性を null に設定し、テキスト画像の使用を避ける。
  4. すべてのリンクに自己言及的なリンク タイトルを追加し、同じページ内でリンクを繰り返し使用することを避ける。
  5. 背景色を使用して、テキストに十分なコントラストを持たせる (セクション 10.3.2 を参照)。明るい色や細字フォントの使用を避ける。
  6. 固定レイアウトの本では、コンテンツ要素のリーディング順序を考慮する。
  7. 数式や方程式の表示には、MathML マークアップを使用する (セクション 10.6 を参照)。

9.1 Kindle 本のテスト

5.すべての読者に満足度の高い読書体験を提供するために、Amazon では本のアクセシビリティをテストすることを推奨します。コンテンツのアクセシビリティを確認するためのツールは、本の形式によって異なります。

Amazon では、原稿を Kindle にアップロードする前に、すべてのアクセシビリティ エラーを解決することを推奨しています。

10.4.7 ラインアートおよびテキスト用の画像およびフォント サイズの要件

アクセシビリティのヒント: 画像内のテキストは、スクリーン リーダーや点字ディスプレイを使用して読むことができません。画像にテキストだけが含まれている場合は、画像の代わりに HTML を使用してテキストをレンダリングすることをお勧めします。これはシンプルでテキストが多い画像に適用されます(セクション「10.4.8 画像よりHTML を優先する」を参照)。

10.5.1 大きな表を避ける

表形式のコンテンツには、表を画像として表示するのではなく、HTML の <table> レイアウトを使用することをお勧めします。
画像としてレンダリングされた表は、画像全体が 1 つの画面に表示されるので、ページ番号を付けることができません。画像として表示されている表は、支援テクノロジーを使用して読むことができません。HTML <table> タグを使用してレンダリングされている表の場合は、改ページを利用でき、表のコンテンツをスクリーン リーダーや点字ディスプレイで利用できるように設定できます。読者は、表内のセル間を移動することもできます。表の幅が画面より広く、読者による頻繁な表のパンが必要な場合、読書満足度は低くなります。

10.5.2 シンプルな HTML の表を作る

支援テクノロジーを使用して表のコンテンツを効率的に利用できるように、列見出し、行見出し、表キャプションを含めます。スクリーン リーダーによる表ナビゲーションのサポートは、現在、一部の端末やアプリでは利用できません。将来の互換性を考慮して、アクセス可能な HTML の表を作成することを推奨します。

11.3.2 特定のフォントを含める

アクセシビリティのヒント: 細字のフォントは読みにくく、テキストと背景とのコントラストに影響を与える可能性があります。Amazon では、原稿の本文に細字フォントを使用しないことを推奨しています。