スクリーンリーダーを使ってプログラミングをやる場合、環境はNVDA+VSCodeが第一選択になると思います。
VSCodeはアクセシビリティにとても力を入れてくれていて
- 単語移動の時の読み上げがちょっとおかしい(後述のアドオンで治る)
- 統合ターミナルがバグってる
以外は大体いい感じです。
ただ、より効率良く作業するためには数々の追加の設定・アドオンが必要になるので、以下に2022年12月現在に僕が使ってる物をまとめます!
筆者は展示キーボードを使っていないため、それとの互換性はよく分りません。
目次
NVDA自体の設定
-
当たり前かもしれませんが、NVDA+Pキーで記号の読み上げを「全て」にしておきます。これでコード内の記号を全て読み上げてくれるようになります。
NVDAの設定→句読点/記号読み辞書をいじって、「ほとんど」を日本語の「、(てん)」と「。(まる)」以外の全ての記号を読むようにして「ほとんど」で運用するのもオススメです。日本語のプログラミング関連記事が読みやすくなります! -
NVDAの設定→書式とドキュメントにある行インデントを「ビープ音」に設定しておきます。これをすることで、コード内のインデントが音で通知されるようになります。浅いインデントは低い音、深いインデントは高い音で表現されます。
NVDAのアドオン
nvda-word-nav
・VSCodeはそのままだとctrl+矢印キーでの単語移動がバグっています。例えば下のような場合、
const hoge = 1;
本来なら、コンスト→ホゲ→イコールと読み上げられていくべきです。しかし、実際はコンスト→ホゲイコール→ホゲイコールと読み上げられます。
これを直してくれるのがこのアドオンです。ついでに右コントロールキーや、コントロールキーとwinキー同時押しで独自ルールで単語移動する機能も搭載しています。
nvda-tonys-enhancements
- 細かい機能の寄せ集めのアドンですが、使いたい機能は一つだけです。
VSCodeのアドオンのショートカットキーでカーソルを動かしたとき、このアドオンなしだと移動した先の行が即時に読み上げられません。
このアドオンはショートカットキーを動的キーストロークとして登録することでそれを解決してくれます。
後述するVSCodeアドオンのIndentNavのショートカットキーはデフォルトで登録されています。動的キーストロークを編集するには設定の「edit dynamic kystrokes table」から行います。
nvda-phonetic-punctuation
- "{}"、"."、"()"等のプログラミング中に出てくる記号を効果音として出力してくれるアドオンです。中かっこ、中括弧とじ等と読まれるよりも短い音になるので、コードを読むスピードが上がります!
注意点は、全ての記号の音が最初から入ってる訳じゃないので、デフォルトの分で物足りなかったら自分で音源を追加しないと行けないことです。
VSCodeのアドオン
IndentNav
- コード内をインデントを頼りにスピーディに移動できるようになるアドオンです。上述したnvda-tonys-enhancementsを入れていないと、ジャンプした先の行が即時読み上げられないので注意です。また、インデントを頼りに移動するのでprettier等のコードフォーマッターを使う必要があります。
主なショートカットキーは以下です。
ショートカットキー | 使い道 |
---|---|
Alt+Up/Down | 前or後の同じインデントレベルの行に移動 |
Alt+Home/End | 前or後の一段階浅いインデントレベルの行に移動 |
Alt+PageUp/PageDown | 前or後の一段階深いインデントレベルの行に移動 |
Alt+Shift+Home/End | 同一インデントブロック内の最初or最後に移動 |
Alt+Shift+PageUp/PageDown | 前or後の同一イデントレベルの行に移動(Alt+Up/Down との違いは、こっちは浅いインデントの行が間にあっても飛び越えられること) |
Error Lens
- VSCodeはエラーがある行にカーソルが当たった時に音で教えてくれますが、その行のエラー内容を読むのがデフォルトだとちょっと大変です。ctrl+k, ctrl+iで一応エラー文を表示させることができますが、場合によっては使い方の説明が長文で付随してくるため読みづらいです。それを解決してくれるのがこのアドオンです。
このアドオンを入れると、「Error Lens: Copy Problem Message」というコマンドが使えるようになります。これを任意のショートカットキーに登録しておけば、いつでもエラー行のエラー文をクリップポードにコピーできるようになります。
僕は「ctrl+shift+Alt+O」に登録しています。コピーしたエラーをメモ帳などに貼り付けて読む感じです!
終わりに
間違ってるとことか、こっちのほうがいいよ~というのが分かる方いましたらぜひ教えて頂きたいです!
疑問点などあれば、Twitterで@hjakkvhyui31にDM頂ければ分る範囲で答えます!
no plan株式会社について
- no plan株式会社は、ブロックチェーン技術、Webサイト開発、ネイティブアプリ開発、チーム育成、などWebサービス全般の開発から運用や教育、支援などを行っています。よくわからない、ふわふわしたノープラン状態でも大丈夫!ご一緒にプランを立てていきましょう!
- no plan株式会社について
- no plan株式会社 | ブロックチェーン実績
- no plan株式会社 | ブログ一覧