Android の音声読み上げ機能 (TalkBack)

Android のスマートフォンやタブレットには、「TalkBack (トークバック)」という音声読み上げ機能 (スクリーンリーダー) が搭載されています。様々なアクション (操作およびそのフィードバック) や各種通知を、音声で案内してくれます。

TalkBack の使いかたは、すでに Google の公式サイトで紹介されていますが、この記事では自分自身の備忘録も兼ねて、特に Web サイトの閲覧時に知っておきたい使いかたをまとめました。Web 制作におけるアクセシビリティチェックのリファレンスとしても、お役に立てれば幸いです。

事前の準備 (日本語の音声合成エンジンを選択)

TalkBack で音声読み上げをするためには、音声合成エンジンを選択する必要があります。Android には「Google テキスト読み上げエンジン」という音声合成エンジンが標準でインストールされていますが、サードパーティ製の音声合成エンジンを入れることもできます。株式会社 KDDI 研究所の「N2 TTS」(無料) がポピュラーのようですが、パソコン用の音声合成エンジンとして有名な「ドキュメントトーカ」の Android 版「ドキュメントトーカ for Android」(990円) もあり、お好みでGoogle Play ストアからダウンロード/インストールすることができます。Android の「設定」>「ユーザー補助」>「テキスト読み上げの出力」で、使用する音声合成エンジンを選択します。

Android の「設定」>「ユーザー補助」>「テキスト読み上げの出力」の画面。「優先するエンジン」の選択肢から、使用する音声合成エンジンを選択する。
Android の「設定」>「ユーザー補助」>「テキスト読み上げの出力」の画面

TalkBack の起動

TalkBack を起動するには、Android の「設定」>「ユーザー補助」>「TalkBack」で、スイッチを「ON」にします。

Android の「設定」>「ユーザー補助」>「TalkBack」の画面。スイッチを「ON」にすると、TalkBack が起動する。
Android の「設定」>「ユーザー補助」>「TalkBack」の画面

また、この画面上にある「設定」をタップすると、「TalkBack の設定」画面が開き、音声読み上げに関する諸設定 (音量調節など) ができます。

「TalkBack の設定」画面。音声読み上げに関する諸設定ができる。
「TalkBack の設定」画面

ちなみに、音声読み上げの速度調節はこの「TalkBack の設定」画面ではできず、Android の「設定」>「ユーザー補助」>「テキスト読み上げの出力」で設定するようになっています。ただし、優先するエンジンとして「N2 TTS」を選択している場合は、音声の速度を変更することはできません。(「Google テキスト読み上げエンジン」や「DTalker TTS」を選択している場合は、音声の速度を変更できます。)

Android の「設定」>「ユーザー補助」>「テキスト読み上げの出力」の画面。選択している音声合成エンジンによって、音声の速度を変更することができる。
Android の「設定」>「ユーザー補助」>「テキスト読み上げの出力」の画面

TalkBack がオン (起動状態) のときのジェスチャ

TalkBack がオフのときとオンのときとでは、Android の操作で必要となるジェスチャが異なります。基本的に、TalkBack がオフ (非起動状態) のときシングルタップで済んでいた操作は、TalkBack がオン (起動状態) になっている場合、ダブルタップが必要になります。

視覚障害を持つ (特に全盲の) ユーザーは、Android 上でタップ操作をしようにも、その対象 (オブジェクト) を一目見て確認することができないため、まずは操作対象を手探りで見つける/確認する必要があります。オブジェクトをシングルタップすると (または画面上で指を滑らせてオブジェクトに触れると) 選択状態になり、それが何であるかを音声読み上げによって確認することができます。オブジェクトが選択/確認された状態で、画面上をダブルタップすると初めてその対象オブジェクトを実行する...という流れになります。

また、画面をスクロールさせる操作も、TalkBack がオフのときとオンのときとでは異なります。TalkBack がオフ (非起動状態) のときは1本指のスワイプで済んでいたところ、TalkBack がオン (起動状態) のときは、2本指でスワイプする必要があります。

ブラウザの起動と基本的な Web 閲覧操作

まずはブラウザの起動です。Android のホーム画面 (またはアプリ一覧画面) から、ブラウザを探します。1本指をタッチスクリーン上で滑らすと、指が置かれた位置にあるアイコンが選択され、読み上げられます。Chrome のアイコンに触れて「クローム」と読み上げられたら、そこで画面をダブルタップすると、Chrome が起動します。

指が Chrome のアイコンに触れると、「クローム」と読み上げられる。この状態で画面上をダブルタップすると、Chrome が起動する。
指が Chrome のアイコンに触れた状態

ブラウザの起動後は、読みたいコンテンツの位置に指を置くと、その位置の内容が読み上げられます。指を置いた位置がリンク箇所の場合、ダブルタップすればリンク先を開くことができます。

読みたいコンテンツの位置に指を置くと、その位置の内容が読み上げられる。
読みたいコンテンツに指を置いた状態

また、下記のようにジェスチャーによる操作も可能です。

2本指で上下にスワイプ
縦方向に画面をスクロールします。スクロール中は、「コンコンコン...」という木琴を叩くような効果音が出ます。下にスクロールするほどピッチが高くなり、スクロールダウン/アップしている様子が聴覚的にもわかりやすくなっています。
2本指で左右にスワイプ
横方向に画面をスクロールします。
1本指で右 (または下) にスワイプ
音声読み上げ位置 (フォーカス) を、次の箇所に移動します。
1本指で左 (または上) にスワイプ
音声読み上げ位置 (フォーカス) を、前の箇所に移動します。
下にスワイプしてから右にスワイプ
直前に開いていたページを開きます (ブラウザの「戻る」ボタンを押すのと同じ挙動です)。

Android の TalkBack が (iOS の VoiceOver に比べて) さりげなく便利だな...と思うのは、上記のジェスチャー操作をしつつ、2本指によるピンチ&ズームが (TalkBack がオフのときと同じように) できることです。ロービジョンで画面表示を拡大しながらスクリーンリーダーを併用するユーザーにとっては、モードレスでスムーズな使用感になっていると言えそうです。

「Tab フォーカス」「見出しナビゲーション」「ランドマーク間の移動」は?

PC 用のスクリーンリーダーでは、Tab フォーカス ([Tab] キーを押してリンク箇所やフォーム要素にフォーカスを移動する) や見出しナビゲーション (<h1> から <h6> でマークアップされた見出し要素にジャンプして行き来する) ができるものが多く、効率的に Web ページを閲覧する手段として、実際よく使われています。また最近では、ランドマーク間の移動 (WAI-ARIA Landmark Roles の間をジャンプして行き来する) ができるスクリーンリーダーも増えています。

これらに近い機能は、TalkBack にも用意されています。

TalkBack がオンの状態で、上にスワイプしてから右にスワイプすると、ローカルコンテキストメニューが表示されます。これは、Android の各アプリケーションごとに用意されている、TalkBack 用の便利機能のメニューです。

Chrome のローカルコンテキストメニュー。音声読み上げ位置 (フォーカス) をどの単位で移動するか、などを選択できる。
Chrome のローカルコンテキストメニュー

このメニューから「コントロールの操作」を選択した状態で、1本指で上下 (または左右) にスワイプすると、リンク箇所やフォーム要素を対象に、音声読み上げ位置 (フォーカス) を移動することができます。つまり、PC で [Tab] キーを押すのと同様の操作ができます。

また、このメニューから「セクションの操作」を選択した状態で、1本指で上下 (または左右) にスワイプすると、各ランドマークの単位で音声読み上げ位置 (フォーカス) を移動することができます。

ただ残念ながら、見出しナビゲーションに相当する機能は、このローカルコンテキストメニューには用意されていないようです。見出しナビゲーションは多くのスクリーンリーダーで「お馴染み」の機能なので、TalkBack においても (近い将来のアップデートで) 可能になることを期待したいところです。