Gmailを、スクリーンリーダーと一緒に使ってみる

## 前書き

この記事は、非スクリーンリーダーユーザーに向けて、スクリーンリーダーユーザーである筆者が普段と同じように説明することによって、下記のようなことが伝われば良いなと思って書いてみたものである。

* 最近のウェブアプリケーションが持っているアクセシビリティ機能についての理解
* アクセシビリティ機能を実装しようと思っているウェブアプリケーション開発者に、なにかしら参考になるような感覚が伝わる
* そもそもスクリーンリーダーってなに？という人に、スクリーンリーダーのことが少しは伝わる

ということで、それぞれの立場でこの先を読み勧めていただければ幸いである。

## Gmailについて

今更説明するまでもないだろう。Googleが提供している無料のメールサービスである。とても強力なスパム判定機能や、カレンダーとの連携・Google　Meetとの連携など、なかなか機能は盛りだくさんだ。

メールサービスであるから、ブラウザーを使ってGmailを閲覧しなくても、お気に入りのメールクライアントがあればこれを使うこともできる。が、Gmailが持っているすべての機能を十分に使いたいのであれば今の所ブラウザを使ってGmailを使ったほうが良い。ということで、この記事では便利にGmailを使う方法について、ちょっと書いてみようと思うのである。

なお、Gmailのアカウント取得などについてはここでは触れない。これもアクセシビリティ的に面白いので、そのうち記事にするかもしれない。

## 環境など

私の環境を記しておく。ちょっとだけそれぞれ新しいけれどごく一般的な環境である。

* OS: Windows 10 10.0.19041
* ブラウザ: Google Chrome 90
* スクリーン・リーダー: JAWS 2020, NVDA 2020.4

## Gmailをとりあえず開いてみよう

Gmailをブラウザで開いて、スクリーンリーダーで読んでいくと、まあ、概ね下のような感じである。これが1行ずつ音声で読まれるのだ。

```
受信トレイ (13,190) - seiken@rd01.net - R and D 01 メール
簡易 HTML 形式
コンテンツへ
R and D 01 メール でのスクリーン リーダーの使用
メインメニュー
Gmail
検索
メールを検索
 
詳細検索オプション
メールを検索
サポート
設定
Google アプリ
Google アカウント: 切明政憲 (seiken@rd01.net)
作成
ラベル
「受信トレイ」で 13190 件の未読
13,190
スター付き
スヌーズ中
送信済み
「下書き」で 19 件の未読
19
.... 以下延々と続く
```

ここまで来てもまだメールのリストにすらたどり着いていない。これを延々と読んで（もちろんスキップする手段はあるけれど）目的のメールを探し出すのはなかなかに辛い。正直Webメールは私もあまり使いたいとは思ってなかった。

では、どうやって使おうというのだろう。

## Gmailはショートカットキーで操作

実はGmailには覚えられないくらいたくさんのショートカットキーがあるのだ。最低5つくらい覚えておけばおそらく通常の操作には困らないのではないか。ということで、これからはこのショートカットキーを使った操作を紹介しよう。

### 仮想カーソルとかブラウズモードをとりあえずオフにする

通常キー操作はスクリーンリーダーが則ってしまうので、Gmail側には渡らない。これではショートカットキーを使うことができないので、とりあえずJAWSならInsertキーを押しながらz、NVDAなら無変換キーを押しながらスペースキーを押しておく。状況によってこの状態が解除されることがあるのであれっ？と思ったらもう一度押して見るとよい。

### 上下矢印キーを押してみよう

この状態ではおそらく受信トレイが開いているはずだ。しばらくGmailを使っていなかったりするとログイン画面が出ているかもしれない。そんなときはもう一度Insert+Zか無変換+スペースをおして通常モードに戻ってログインしてみてほしい。

では上下矢印キーを押してみよう。どうだろう、届いているメールのリストが一つずつ読み上げられるのではないか？なかなか快適ではないかい？

## メールのリストから目的のメールを選ぶ

では、閲覧したいメールを上下矢印キーを使って探してみよう。

通常画面には20件しかメールは表示されていないのだが、上下矢印キーを押していくと勝手に画面が切り替わっていくのでこのことはほとんど意識する必要がない。「んっ？反応が悪いか？」と思ったら、まさに画面が切り替わっていることがある。

さあ、メールが見つかったらエンターキーを押してみよう。見たいメールは開いただろうか。

続いてnキーを押す。これで開いたメールに含まれている最初のメールに移動できる。Gmailのデフォルト設定では、関連するメールは一つのスレッドとして扱われている。なので、開いたメールに複数のメールが含まれていることは多いのだ。

続いてエンターを押しておく。スレッドでつながっているメールの場合、既に読んでいるメールも含まれているだろう。そういうとき、画面にはまだ表示されていない。エンターを押すとこれを表示することができる。

ここで仮想カーソルあるいはブラウズモードを使う。Insert+Zか無変換+スペースを押す。

下矢印キーを押していけばメールが読めるはずだ。終わったら忘れずに仮想カーソルをオフにすること。

メールのリストに戻るにはuを押す。

ちょっとまとめておこう。

1. 上下矢印キーでメールを選ぶ
2. エンターを押して開く
3. nキーを押して開いたメールの中の目的のメールを探す
4. エンターを押して確実にメールを開く
5. 仮想カーソルあるいはブラウズモードになってメールを読む
6. 終わったら仮想カーソルをオフにする
7. uを押してメールリストに戻る

## 新規のメールを書く

では、新規のメールを書いてみよう。メールリストの状態でも良いし閲覧状態でもよい。

1. cキーを押す。これでメール作成がめんになった。
2. 宛先を入力する場所にフォーカスはあるので、メールアドレスの一部か名前の一部を入力してみよう。日本語でもよい。アドレス帳にあれば見つかった人を読み上げただろう。複数ヒットしているのなら上下矢印キーで選択できる。
3. 見つかったらエンターキーを押す。
4. 複数の人に送るのならば、上記の操作を繰り返す。
5. Tabキーを押す。懸命にフォーカスが移る。件名を入力する。
6. もう一度Tabキーを押す。ここが本文。本文を書いていこう。
7. Tabキーを押すと送信ボタンにフォーカスが移る。エンターで送信。

ちなみに、この送信にはCtrl+エンターというショートカットキーがある。

## 返信する

手順はこんな漢字

1. 返信したいメールを上下矢印キーで選択する
2. エンターキーを押してメールを表示する
3. ｒキーを押す
4. 本文を入力する部分の先頭にキャレットはあるので、そのままメールを書き始めればよい。
5. 編集が終わったらCtrlキーを押しながらエンターキーを押す。
 
## 私がよく使うショートカット

* 上下矢印キー: メールリストの移動
* 左矢印: フォルダ一覧に移動（その後上下矢印でフォルダを選んでエンター）
* 右矢印: フォルダ一覧からメール一覧に戻る、もっと押していくといろいろおもしろい、使えると便利
* エンター: メールを開く
* ｃ: 新規メール作成
* ｒ: 差出人に返信
* a: 全員に返信
* p,　n: 開いたメールがスレッドでつながっているとき、閲覧するメールを選択
* j,　k: メールを開いたまま次のスレッドとか前のスレッドのメールを表示する
* /: メール検索条件の入力
* gを押してi: 受信トレイに移動
* ?: ショートカットキーの一覧を表示する。

## 結局なにが問題なのか

ここからはちょっと小難しい話しになるが、スクリーン・リーダーとかアクセシビリティに興味がある方はお付き合いいただけると嬉しい。

かつて、HTMLというのは文章の構造を示しつつ、他の文書とリンクする機能を持ったデジタル文書だった。HTMLを閲覧するソフトは純粋に閲覧するだけで良かったのだ。スクリーンリーダーのブラウザ対応は長い間閲覧することを念頭に設計されてきた。どのように文書構造を伝えあるいはどのように文書の中を移動していくかということを考えて設計されてきたのだ。

ところが、ここ10年（もっと前だよね）のブラウザは閲覧ソフトではない。明らかにユーザと対話しその結果によって表示は激しく更新され、もはやウェブサイトはアプリケーションとなった。そんな時代にスクリーンリーダーは正直追いつけていない。いまだに閲覧することを念頭に設計されている。これが「Virtual Buffer」とか「Browse Mode」である。

では、同解決すればよいのか。正直私にも最適解は出ていない。が、どうやらGoogleのサイトはとりあえず開いたらVirtualBufferとかBrowseModeとかをオフにするのが良いようである。GmailにしてもカレンダーにしてもGoogleドキュメントにしても、そのウェブアプリがある程度のアクセシビリティ機能を持とうとしているからだ。まだものすごく使いやすいという状況でもないとは思うが、少なくとも筆者は便利に使っている。

このウェブアプリがアクセシビリティ機能を持とうというのはGoogleに限った話ではない。Twitterもそんな機能を持っているし、Facebookもそうだ。

今後とりあえずはこの流れでウェブアプリは開発されるのではないかと思っている。そして、VirtualBufferとかBrowseModeとかを持たないスクリーンリーダーもちょこちょこ現れてきた。VoiceOver, TalkBack, ChromeVoxなどがそうだ。なので、これらのスクリーンリーダーを使うとき、従来方式に慣れているとちょっと違和感がある。特にChromeVoxは違和感を感じるのではないか。が、当たり前といえば当たり前だがChromeVoxで使うGmailは実に快適だ。残念ながら今の所ChromeVoxは日本語を書くために必要な漢字変換時の読み上げに対応できていない。これできるようになると、結構快適に使える気がしている。

ということで、本編より長い付録を終わろう。