屏幕阅读器与无障碍
用屏幕阅读器模式让 Claude Code 输出线性纯文本,配合 VoiceOver 和 NVDA,以及屏幕放大、减少动画和色盲友好主题的设置。
Claude Code 有屏幕阅读器模式:它把视觉化的终端界面换成平实的线性文本。Claude Code 不再打印方框、进度动画和原位重绘,而是打印带标签的行,让 VoiceOver 或 NVDA 这样的屏幕阅读器按顺序朗读。屏幕阅读器模式需要主动开启;如果你用的是屏幕放大器、减少动画或色盲友好主题,而不是屏幕阅读器,用下面的无障碍设置。
开启屏幕阅读器模式
按你使用屏幕阅读器的频率选方法:
- 只用于一个会话:运行
claude --ax-screen-reader - 用于从一个 shell 启动的会话:把环境变量
CLAUDE_AX_SCREEN_READER设为1(Bash 或 Zsh 里export CLAUDE_AX_SCREEN_READER=1;PowerShell 里$env:CLAUDE_AX_SCREEN_READER = "1"),加到 shell 配置文件里可长期保留 - 用于这台机器上的每个会话:在用户设置文件里加
"axScreenReader": true,在任何终端里都生效,包括 VS Code 集成终端
组合使用多种方法时,标志优先于环境变量,环境变量优先于设置。通过 SSH 使用时,要在运行 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 也保持模式关闭)。
无障碍设置
| 选项 | 类型 | 改变什么 |
|---|---|---|
--ax-screen-reader | 标志 | 为一个会话开启屏幕阅读器模式 |
CLAUDE_AX_SCREEN_READER | 环境变量 | 为从设置它的 shell 启动的会话开启屏幕阅读器模式 |
axScreenReader | 设置 | 为 true 时对每个会话开启屏幕阅读器模式 |
CLAUDE_AX_STARTUP_QUIET_MS | 环境变量 | 屏幕阅读器模式下,确认行之后 Claude Code 等待多久才绘制第一个提示 |
CLAUDE_AX_PREPARK_MS | 环境变量 | 屏幕阅读器模式下,写入新的或变化的行之前,光标停在行首等待多久 |
CLAUDE_CODE_ACCESSIBILITY | 环境变量 | 设为 1 时终端光标保持可见,供 macOS Zoom 这样的屏幕放大器使用 |
prefersReducedMotion | 设置 | 为 true 时减少或取消旋转指示器、闪光等动画 |
theme | 设置 | 界面颜色,包括色盲友好的 dark-daltonized 和 light-daltonized 主题,也可以用 /theme 选择 |
preferredNotifChannel | 设置 | 值为 "terminal_bell" 时,在屏幕阅读器模式之外,Claude 在等你时响铃 |
屏幕阅读器会听到什么
屏幕阅读器模式下,Claude Code 写出平铺的文本:界面外框不使用制表符;不只靠颜色传达信息;不重绘没变化的内容,进度旋转指示器渲染为静态文字;Claude 回复里的表格读作「标题: 值」的句子,而不是方框字符的网格。Claude Code 把它打印的一切都留在终端的回滚里,所以你可以用屏幕阅读器的回看命令或终端的搜索重读之前的回合。
Claude Code 在两处等待,让屏幕阅读器跟得上:打印确认行后,它等 3 秒再绘制提示,让屏幕阅读器读完那一行(按任意键结束等待);写入新的或变化的行(如提示或 Claude 回复的更多内容)之前,它把光标移到行首并等 50 毫秒,让屏幕阅读器从第一个字符开始读这一行。
转录里的每条消息都以一个屏幕阅读器会朗读的标签开头,说明它是什么,这些标签也能被搜索,所以你可以在各部分之间跳转:
| 标签 | 含义 |
|---|---|
you: | 你的消息 |
claude: | Claude 的回复 |
thinking: | Claude 的思考 |
tool: | 工具活动,如文件编辑或运行的命令 |
tool error: | 失败的工具 |
error: | 对话里的错误,如失败的 API 请求 |
warning: | Claude Code 的警告,如切换到后备模型 |
Permission Required: | 等待你回答的权限提示 |