确保屏幕上的所有视觉信息也能通过屏幕旁白以声音方式呈现。这对盲人、低视力玩家,以及无法阅读的玩家(包括低龄玩家或有学习障碍的玩家)都有帮助。
屏幕旁白通过合成语音朗读可见的 UI——菜单文本、按 A 选择 之类的提示,以及游戏内的重要信息。它可以是平台级(例如 Windows 讲述人)或游戏内自带。请在决定是否自研前,先确认平台支持情况。
其他辅助手段——音频提示、空间音频、触觉(XAG 103)——通常比旁白效果更好,也应一并考虑。
范围界定问题
请查看下节 哪些内容应支持旁白 中列出的类别。如果您的游戏包含其中任何一类,且丢失该文字会让玩家无法配置、启动或完成游戏,那么就属于旁白支持的范围。
哪些内容应支持旁白
支持并不意味着默认朗读——而是当玩家启用旁白后,下列所有内容都能被读出。
- 所有屏幕文本 — 菜单标签、副标签、角色、数值、描述
- 控件交互提示 —
按 A 选择
- 游戏内 UI — HUD、物品栏、任务目标、提示、地图
- 玩家之间的通讯 — 收到的队伍聊天、聊天轮盘选项、预设消息
- 图像、图表、表格 — 通过文本替代呈现
- 实时更新 — 收到的聊天、Toast、错误消息、好友加入 / 离开
旁白应在何时触发
- 上下文变化 — 打开对话框、切换画面、从加载画面进入或退出到玩法
- 焦点变化 — 在按钮、列表项、滑块之间移动(朗读新聚焦的项)
- 数值 / 状态变化 — 滑块数值随之更新时朗读
- 实时通知 — 错误、提示、信息变更
如何朗读一个条目
有视力的玩家可以看到名称、角色、值/状态、位置以及可交互性。使用旁白的玩家应听到相同信息,通常按以下顺序:
- 标签 / 名称
- 控件类型 / 角色(
组合框、开关、滑块)
- 数值 / 状态(
关、38%、已折叠)
- 索引(
第 6 项,共 9 项)— 放在字符串末尾。并提供关闭编号朗读的设置。
- 交互模型(
A 选择)
不要过度朗读。将关键信息前置,且在上下文未改变时,不要在每次焦点变化都重复读出静态文字(例如描述)。
实施指南
- 所有核心 UI 文本均支持旁白 — 主菜单、选项、HUD、状态变化、房间内玩家、基于时间的事件。优先使用平台屏幕阅读器;若不可用,则使用语音合成器。预录音频文件可作为兜底方案,但并非理想选择。
- 可交互元素枚举其子项,并暴露输入类型和当前状态 / 数值。示例:
世界,Tab,第 1 项/共 3 项,已选中 或 音乐音量,滑块,52%。
- 图表、示意图、图片、动画的文本替代 需传达与视觉相同的信息。
- 文本替代描述 UI 组件的目的与操作方式(例如
按鼠标左键显示蜘蛛预览,而非仅 符号)。
- 纯装饰性的非文本内容不朗读。
- 焦点顺序与 UI 含义和操作相符。在非线性布局中,焦点顺序与视觉流一致。
- 列表循环 — 在线性菜单(仅上下或仅左右)中,到达最后一项后循环回到第一项。在多向菜单(图块网格)中不循环。提供开关设置以启用/禁用循环。
- 取消 / 重复朗读必须快速,与输入类型无关。
- 焦点变化时打断 — 当新元素获得焦点时,前一元素正在进行的朗读应立即停止;随后读出新元素。
- 语速与音调 — 允许玩家调整。
- 上下文变化尽可能由玩家发起;上下文变化后要宣告新上下文。
- 定时 / 反复的通知(加载、匹配、倒计时)可每 7–10 秒重新朗读一次状态,且不干扰其他旁白。
- 对外部屏幕阅读器的支持要求:
- 以编程方式暴露游戏的语言(
en-us 等)。如果 NPC 对白切换语言,也需暴露相应语言,以便发音正确。
- 替代文本应描述内容——不要在字符串中包含对象类型(
棕色盾牌,而不是 图像:棕色盾牌)。
- 标记要求:起始与结束标签完整、嵌套合法、无重复属性、ID 唯一。
- 对所有 UI 组件,
name 和 role 都可编程获取;用户可设置的状态、属性和值可编程设置;变更需通知辅助技术。
- 基于时间的媒体需要文本替代来描述该媒体。对实时内容,提供描述性标题即可(例如
显示太平洋时间当前时间的时钟),而非实时读取数值。
- 表格要具备完全的无障碍性——列头与行头以编程方式与单元格关联,使玩家导航时保留上下文。避免在整张表上只放一段高层次的替代文本。
- 单个单元格:
第 N 列,第 N 行。列头,行头。单元格内容。
- 在行内移动:
列头,第 N 列,单元格内容。
- 在列内移动:
行头,第 N 行,单元格内容。
- 发音指引 — 为玩家提供一种方式,让他们理解专有名词、技术术语或不确定语言的词该如何发音。
潜在的玩家影响