跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

屏幕阅读器与无障碍

用屏幕阅读器模式让 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:等待你回答的权限提示