CLAUDE_CODE_ACCESSIBILITY、prefersReducedMotion、または theme を設定してください。スクリーンリーダーモードはターミナルインターフェースのみを適応させるため、VS Code 拡張機能のチャットパネルではこれを必要としません。Claude Code v2.1.236 以降では、拡張機能は設定なしでスクリーンリーダーにコンバーセーション活動を通知します。
スクリーンリーダーモードをオンにする
スクリーンリーダーを使用する頻度に合わせて方法を選択してください。- 1 つのセッション用:
claude --ax-screen-readerを実行します。 - 1 つのシェルから開始されたセッション用:
CLAUDE_AX_SCREEN_READER環境変数を1に設定します。Bash または Zsh ではexport CLAUDE_AX_SCREEN_READER=1を実行し、PowerShell では$env:CLAUDE_AX_SCREEN_READER = "1"を実行します。シェルプロファイルにその行を追加して、今後のシェルでも保持します。 - マシン上のすべてのセッション用:ユーザー設定ファイルに
"axScreenReader": trueを追加します。この設定は VS Code 統合ターミナルを含むすべてのターミナルに適用されます。
--ax-screen-reader フラグを CLAUDE_AX_SCREEN_READER 環境変数より優先し、その環境変数を axScreenReader 設定より優先します。
SSH 経由で Claude Code を使用する場合は、Claude Code が実行されるリモートマシンで環境変数または設定を設定します。
Claude Code が最初に出力する行がモードを確認します。[Screen Reader Mode: on via flag]、[Screen Reader Mode: on via env]、または [Screen Reader Mode: on via settings] です。
スクリーンリーダーモードをオフにする
モードをオンにした方法を逆にします。フラグなしで開始するか、環境変数を設定解除するか、axScreenReader を false に設定します。CLAUDE_AX_SCREEN_READER を 0 に設定すると、設定が true の場合でもモードはオフのままです。
アクセシビリティ設定
次の表は、各アクセシビリティオプション、フラグ、環境変数、または設定として設定するかどうか、および何を変更するかを示しています。スクリーンリーダーが聞く内容
スクリーンリーダーモードでは、Claude Code はフラットテキストを書き込みます:- インターフェースクロームのボックス描画文字なし
- 色のみのキューなし
- 変更されていないコンテンツの再描画なし。プログレススピナーは静的テキストとしてレンダリングされます
- Claude の返信内のテーブルは、ボックス文字グリッドではなく
Header: value文として読み込まれます - 差分は、追加された行と削除された行を
+と-で示したプレーンテキストとして 1 行ずつ読み上げられるため、ファイル編集の承認プロンプトで回答する前に、提案された変更を聞くことができます
tui 設定 を無視します。既知の制限事項 に記載されている接続されたバックグラウンドセッションを除き、フルスクリーンレンダリング の代わりにスクロールテキストを印刷します。
Claude Code は起動時に 確認行 を印刷した後、スクリーンリーダーが行を読み終えられるように、プロンプトを描画する前に 3 秒待機します。任意のキーを押すと待機を終了します。待機の長さを変更するには、CLAUDE_AX_STARTUP_QUIET_MS を設定します。
トランスクリプト内の各メッセージは、スクリーンリーダーが発表するラベルで始まり、それが何であるかを名前付けします:ユーザーのメッセージ、Claude の返信と思考、ツールアクティビティ、エラーと警告、およびプロンプト。ラベルは検索可能でもあるため、ターミナルのスクロールバックを検索してトランスクリプトのセクション間をジャンプできます:
Claude Code はターミナルカーソルを入力キャレットに保つため、スクリーンリーダーの現在の行を読むコマンドは、編集しているプロンプトを読み込みます。
入力行の末尾に入力するとき、または
Backspace を押すと、Claude Code は変更された文字のみを書き込みます。スクリーンリーダーはそれらの文字のみをエコーします。
テキスト編集ショートカット の 1 つで単語または行を削除すると、Claude Code は削除されたテキストを発表します:
Ctrl+WまたはAlt+Dで単語を削除、または macOS ではOption+Delete、Windows ではCtrl+BackspaceCtrl+UまたはCmd+Backspaceで行の開始位置まで削除Ctrl+Kで行の終了位置まで削除
Shift+Tab でサイクルすると、Claude Code は [plan mode on] または [accept edits on] などのランディングした権限モードを発表します。Claude Code は発表を 1 回印刷し、後の再描画では繰り返しません。
読んでいる位置を失わずに以前の出力を読む
以前の出力を読んでいる間にスクリーンリーダーがプロンプトに戻ってしまう場合、スクリーンリーダーはターミナルカーソルに追従しています。Claude Code は新しいテキストを書き込むたびに、ターミナルカーソルをプロンプトに戻します。 読んでいる位置を保つには、スクリーンリーダーがターミナルカーソルに追従しないようにします。NVDA では、NVDA+6 を押すとレビューカーソルがターミナルカーソルに追従しなくなります。もう一度 NVDA+6 を押すと、追従が再びオンになります。
ターン間をジャンプする
Claude Code はターン境界で OSC 133 シェル統合マーカーを発行するため、ターミナルの前のプロンプトへジャンプするキーはトランスクリプト全体を読まずにターン間を移動します:- iTerm2:Cmd+Shift+Up
- VS Code ターミナル:Windows では Ctrl+Up、macOS では Cmd+Up
- Windows Terminal:デフォルトではキーなし。設定で
scrollToMarkアクションをバインドします - Kitty と Ghostty:ターミナルのドキュメントでジャンプ・ツー・プロンプトキーを確認してください
you: ラベルを検索してください。
メニューとプロンプトに答える
スクリーンリーダーモードでは、通常は矢印キーで操作するメニュー(権限プロンプトを含む)が番号付きリストになります。Claude Code は各オプションを番号付き行として発表し、その後に有効な範囲を示すSelect with numbers プロンプトを発表します。希望するオプションの番号を入力して Enter キーを押します。
or Escape to cancelで終わるプロンプトのメニューをキャンセルするには Escape キーを押します。- リストにない番号を入力した場合、Claude Code は有効な範囲を発表し、もう一度試すことができます。
/effort セレクターは、同じ種類の番号付きリストになります。
はい/いいえプロンプトは、2 つのオプションメニューの代わりに、入力された回答を求めます。y または n と入力して Enter キーを押します。yes と no も機能します。
Claude Code があなたの注意を必要とするときに聞く
スクリーンリーダーモードでは、Claude Code があなたの注意を必要とするときにターミナルベルが鳴るため、トランスクリプトを常に確認する必要がありません。ベルは以下の場合に鳴ります:- Claude が返信を完了した
- 権限プロンプトなど、プロンプトまたはダイアログがあなたの回答を必要としている
- 5 秒以上実行されたツールが完了した
preferredNotifChannel を "terminal_bell" に設定して、Claude があなたの対応を待っているときに同様のベルを取得します。
既知の制限事項
一部の動作はスクリーンリーダーモード用に適応していません。- スクリーンリーダーモードは、スクリーンリーダーが実行されているときに自動的にオンになりません。
- Claude Code は、
/planで plan モードに入るなど、コマンドで行った権限モードの変更を発表しません。 claude attachまたは agent view からバックグラウンドセッションにアタッチすると、ターミナルの代替画面に入ります。これはネイティブスクロールバックがありません。これは他のアタッチされたセッションと同じ動作です。抜け出すには、空のプロンプトで左矢印を押すか、ダイアログにフォーカスがある場合は Ctrl+Z を押します。- Claude Code はコストを終了時に出力するサマリーで発表し、ターンごとではありません。
- スクリーンリーダーモードは
-pフラグで非対話型モードを変更しません。非対話型モードは既にプレーンテキストを書き込み、スクリプト作成の代替案のままです。