Firefoxで利用可能な音声読み上げ機能拡張
どちらの機能拡張も、Linux、Windows、Mac OS Xにて利用可能なクロスプラットフォーム仕様で作られている。これらの機能拡張のインストールガイドは各プラットフォーム別に用意されているが、これは障害者向けのユーザ補助機能は個々のオペレーティングシステムごとに利用できるフレームワークが異なるためでもある。Linuxの場合、同プロジェクトが用意しているJava FreeTTSスピーチエンジンまたは、GNOMEから提供されているOrcaというユーザ補助機能フレームワークを使用することになる。
開発のバックグラウンド
Fire VoxとCLiCk, Speakおよびこれらを駆動するCLC-4-TTSライブラリはCharles L. Chen氏の手により作成されたものである。大学の学部生であったChen氏は商用スクリーンリーダのJAWSをFirefoxで利用するための方法を模索していた。ところがJAWSとのインタフェースを取る作業は思いの外難しく、また製造元からの協力も得られず、商品としての単価も安くはなかったため、Chen氏はオープンソース系の代替案を用意することを決断したのである。
同氏はまずテキスト読み上げ用の汎用ライブラリとして機能するCLC-4-TTSを作成し、動作実証を目的としたFire Vox機能拡張を用意した。ところが同氏にとっても意外なことに、この機能拡張が思わぬ人気を博することになったのである。実際、ユーザ補助機能の普及促進団体であるKnowbilityは2005年に開催されたSouth By SouthwestのブースにChen氏を招待してFire Voxのデモンストレーションを開催しただけでなく、その後も同氏の活動を支援し続けるようになった。同じくChen氏も、同団体におけるユーザ補助機能のインストラクタとして定期的に活動するようになっている。
ところでLinuxの二大デスクトップ環境(およびプロプライエタリ系OS)ではシステム全体で利用可能なスクリーンリーダが用意されているのに、こうしたブラウザ固有のテキスト読み上げ機能を用意する必要性は何なのだろうか? その点に関してChen氏は、ブラウザ固有のスクリーンリーダにはHTMLタグを解釈して見出し部だけを識別させたり、箇条書き部の項目を数え上げるなどの他に、内部リンクと外部リンクを音声として読み分けるといった特異な要件が求められるという説明を、自身のサイトにて述べている。
確かにブラウザと一体化するFire VoxおよびCLiCk, Speakで可能な、ダイナミックに変化するタイプのコンテンツを追跡するという処理などは、外部スクリーンリーダが対応していない機能である。また双方の機能拡張では、AJAXコンテンツ対応のコントロール/ナビゲーション機能を提供するWorld Wide Web ConsortiumのAccessible Rich Internet Applications(WAI-ARIA)標準および、HTML読み上げ時の“オーラルマークアップ”プロパティを定義したCSS 3 Speech Moduleもサポートしている。
最後に取り上げておくべき特長は、FirefoxのサポートするMathMLコンテンツの自動読み上げ機能であり、Abraham Nemeth氏により構築されたmathspeakメソッドに準拠することで、複雑な数式であっても曖昧性を残すことなく読み上げられるようになっている。
読み上げ操作の実際
実際にLinux版のFire Voxを使用するにあたっては、まずCLC-4-TTSのFreeTTSスピーチエンジン(同プロジェクト提供)とOrcaのどちらを使うかを決めておかなくてはならない。どちらのオプションについてもWeb上に専用のインストールガイドが用意されている。
既にOrcaがインストール済みのシステムでなければ、最初にCLC-4-TTSを試してみればいいだろう。その際にはJavaのセットアップも必要となる。ダウンロードページに用意されているFreeTTSパッケージ用のCLC-4-TTSはJavaベースのスピーチエンジンを.jarファイル化したものなので、ダウンロード後のインストール操作としては、root権限を取得して「sudo java -jar clc4tts_freetts_installer_1.2.jar
」を実行すればいい。
次にFire Vox機能拡張のダウンロードとインストールを行う。こちらは.xpiファイル形式で提供されているが、その中にはFire Vox機能拡張の本体以外にサポート用のCLC-4-TTS機能拡張が2つ同梱されており、これらはCLiCk, Speakと共通で使用することができる。インストールの終了後はFirefoxの再起動が必要となる。
Fire VoxをインストールするとFirefoxのToolsメニューにサブメニューが追加されるが、そこでは設定パネルの表示およびスピーチエンジンの変更もできるので、後々Orcaとの比較をする場合はこの機能を利用すればいい。またFire Voxの全操作にはキーボードショートカットでアクセスできるようになっているが、このキー割り当ても設定パネルで変更することができる。
ここでの基本操作は、Webコンテンツを構成する段落や一般的なHTML要素を“チャンク”という個別の塊として扱う仕様になっており、例えばCtrl-Shift-Fキーを押すとFire Voxは次のチャンクを読み上げる。同様にCtrl-Shift-Dキーは、1つ前のチャンクの読み上げである。その他、Ctrl-Shift-Aキーで全ページの自動読み上げ、Ctrl-Shift-Cキーで読み上げ中止、Ctrl-Shift-Oキーで選択テキストの読み上げが行える。
こうしたキーボードショートカットはFire Voxのブラウザ固有機能についても割り当てられており、Ctrl-Shift-Hキーを押すと表示中のドキュメントにおける見出し部がリスト化して読み上げられ、Ctrl-Shift-Lキーを押すと、リンク、フォーム、イメージ、フレームなどすべてのページ要素に個別アクセスするためのガイドメニューが呼び出される。
機能拡張のユーザマニュアルにはオンライン経由でアクセス可能であり、またフォームやWAI-ARIA対応のAJAXといった複雑な構成のページ要素を扱うための手順をステップバイステップ形式で解説したチュートリアルも用意されている。
スクリーンリーダの利用頻度がそれ程高くないユーザの場合は、Fire VoxよりもCLiCk, Speakの方が適しているかもしれない。CLiCk, Speakの場合もインストール手順に変わりはないが、こちらの機能拡張は常時実行型ではなく、Firefoxツールバーに追加されるのは自動読み上げモードの開始と停止を指定する2つのボタンとなる(同様のコマンドはコンテクストメニューにも追加される)。
私自身は視覚障害者ではなく、Fire Voxも試験的に使用しただけに過ぎない。それでも今回の試用時において、一部のキーボードショートカットがWeb DeveloperやAdBlockといったFirefox機能拡張で使われているものと競合することが判明したが、これは重大な問題と見なせるだろう。こうした機能拡張の視覚障害ユーザの間における利用状況については不明だが、いずれにせよ多数の機能拡張を使用している場合、かなりの手間をかけて試行錯誤的にFire Voxのキーバインディングを変更する必要に迫られるはずだ。
本稿で取り上げた機能拡張を使用できるのが現状でFirefoxだけであるのは残念な話だが、ChatZillaなど他のFirefox機能拡張との併用ができる点は評価すべきだろう。またChen氏は、要望が多ければThunderbirdのサポートも検討するとしている。もっとも電子メールについてはWebブラウジングほどの複雑な処理は伴わないので、システムレベルのスクリーンリーダだけでも充分に賄えるかもしれない。
Linux.comでは毎週月曜日に、機能拡張、プラグイン、アドオンに関する新着記事を掲載している。自分で使用して便利だと感じたツールについて、その機能や操作上のヒントなどを1,000ワード以内にまとめた記事を投稿していただければ、採用された方にはもれなく100ドルをお支払いする(なお、既に同じテーマが最近取り上げられていたり掲載予定になっている可能性もあるので、事前に確認のメールを送って頂きたい)。