测试与发布证据

离线 AI 无障碍测试:验证 TalkBack、流式状态与焦点

用真实任务验证进度播报、流式结果、取消、错误和焦点,不只检查静态 UI。

审核状态: 内容已校验;中文稿供用户审核 · 2026-10-04 · Fact IDs: BENCHMARK-01, ARCH-01

直接回答

端侧 AI 功能的无障碍测试,要验证使用 TalkBack、开关访问、键盘导航或其他辅助技术的人,能否在任务变化过程中感知并操作界面,而不只是模型有没有返回文字。进度、流式片段、取消、错误、重试和最终结果都需要有意义的名称、焦点行为和状态播报。视觉上持续更新的流,如果让屏幕阅读器逐 token 播报,可能造成过多打断;如果静默更新,又可能让用户不知道任务已完成。应先定义可理解的播报策略,再沿真实交互路径验证。 从界面语义图开始。列出输入控件、提交按钮、进度状态、部分结果区域、停止/取消控制、错误信息、重试操作和最终结果。逐项确认合适的无障碍名称、角色、状态与关联关系。新块到来时,焦点不能不可预测地跳动,也不能被困在进度控件上。用户应能在生成过程中停止任务。错误文案要说明发生了什么和下一步,而不暴露原生堆栈或私密提示词。 流式播报需要明确策略。可以只播报开始与结束,也可以播报有意义的句子片段,或提供由用户主动触发的“朗读当前结果”。避免播报每个 token。结果变化时,不要反复重置屏幕阅读焦点;应提供稳定输出区域并让用户保持控制。测试流式取消、离开页面再返回、空输出、超时和重试。spinner 停止但语义状态仍是“进行中”并不合格;输出校验结束前也不能提前播报完成。 适用时使用 Android 无障碍测试指南和 Compose semantics 测试,再在测试设备上手动通过 TalkBack、键盘或开关导航走完整功能。自动检查可以发现缺标签及部分语义问题,但不能证明完整易用性或法律合规。夹具使用合成输入输出,而非私人对话。项目基准事实说明本文提供的是验证方法,不是无障碍分数或设备基准。端侧定义只说明推理位置,不意味着任务对每个人都可访问,也不自动验证网络和隐私边界。 记录应用构建、Android 版本、输入模态、辅助服务/设置、任务夹具、语义状态变化、实际听到的播报、焦点顺序、错误及恢复。如果屏幕阅读器或测试 API 无法观察某行为,应标未观察并安排人工审阅。交付物是范围明确的测试记录和可行动缺陷,不是宣称应用全面无障碍或已经合规。 动态内容还要特别检查焦点和阅读顺序。不能让 TalkBack 每收到一块就跳到输出,也不能逐 token 连续打断用户。live-region 语义可能合适,但播报频率和中断策略必须在真实任务里测试。错误和取消消息应靠近相应操作并能重新找到。标签在推理中变化时,应确认辅助技术读出当前状态,而不是过期缓存文本。 结论只适用于具体测试流程和设置。通过 TalkBack 验证不等于键盘导航、放大、开关访问或所有语言都通过。记录用到的辅助技术、任务步骤、应用构建和设备。若没有完整审计或用户研究,避免“完全无障碍”或“符合全部标准”等宽泛主张。

流式回答视觉上更新,但 TalkBack 用户无法使用

本地助手在推理时显示 spinner 并持续追加文字。一名 TalkBack 用户没有听到完成播报,而且每次界面刷新焦点都会跳回提交按钮。模型输出本身看起来有效。

决策

用合成输出和人工辅助技术遍历,检查语义状态、焦点稳定性、播报节奏、取消与错误恢复。

预期结果

团队可判断问题来自语义、播报、焦点或任务状态,而不是误判为模型质量问题。

需要收集的证据

只有将以下证据与同一模型文件和测试运行关联起来,结论才可复核:

  • BENCHMARK-01:项目无完整真实设备基准集;本文只提供验证方法,不发布分数。
  • ARCH-01:端侧定义描述推理位置,不表示任务可访问,也不代表网络与隐私边界已验证。

发布结论只对所记录的配置和验收集有效;扩大适用范围需要更多记录。

实施流程

  1. 绘制无障碍控件和状态图. 列出输入、提交、进度、部分输出、取消、错误、重试和结果。为各项定义无障碍名称/角色/状态、焦点顺序及必须告知用户的变化。
  2. 制定流式播报策略. 决定只播报开始/结束、有意义的句子片段,还是由用户主动朗读当前结果。不要逐 token 播报,也不能每个块到达就抢焦点。
  3. 覆盖任务与恢复状态. 使用固定合成回答测试开始、部分输出、完成、取消、空结果、超时、重试、导航离开和返回。确认每次状态变化的语义与视觉状态一致。
  4. 自动语义检查加人工遍历. 适用时运行 Compose semantics 与 Android 无障碍工具,再用 TalkBack、键盘或开关访问手动导航。自动工具属于部分覆盖,不是认证。
  5. 记录缺陷并限定结论. 记录应用/系统构建、辅助服务/设置、夹具、焦点变化、播报与恢复。用合成内容、脱敏生产诊断,并把不可观察行为列入人工复核。

让每个阶段的状态都可观察。失败信息应指出阶段、模型、运行时和恢复动作,同时避免记录用户私密内容。

验收标准

  • 每个控件和任务状态都有有意义的无障碍名称/角色/状态及可预测焦点。
  • 流式更新不会逐 token 过度播报、反复抢焦点或漏报完成/取消。
  • 错误、空输出、超时、取消和重试状态可手动遍历,并与视觉状态一致。
  • 报告注明测试构建/系统/辅助服务,不宣称普遍无障碍认证或模型质量。

决策对照表

维度选择或证据解读方式
只检查视觉界面观察颜色、spinner 和文本样式可发现部分展示问题,但不能证明辅助技术如何播报或移动焦点。
自动语义测试运行 Compose/Android 无障碍工具能发现缺名称及部分状态问题,不能代替人工遍历任务。
端到端辅助技术测试用 TalkBack/键盘遍历流、取消、错误与结果对实际被测流程最有参考价值,结论仍限于构建、设置和夹具。

需要避免的失败模式

  • 只看视觉 spinner 和文本,不验证 TalkBack 状态及焦点顺序。
  • 让屏幕阅读器逐 token 播报,或在生成过程中反复抢焦点。

还要避免静默回退、版本未固定、缺少取消处理,以及把不同配置的结果混在一起下结论。失败运行也应与成功记录一并保存。

最小复现记录

层级记录内容
设备厂商、型号、芯片、内存档位、操作系统版本
软件应用版本和 Git 提交号
模型系列、变体、版本、格式、文件长度、摘要、量化方式
运行时名称、版本、请求后端及实际后端证据
工作负载样例版本、输入摘要、提示词摘要、输出策略
结果完成、失败、取消、回退及保护隐私的诊断信息

发布检查表

  • ☐ 主要搜索问题已回答,且没有未经支持的数字。
  • ☐ 所有模型文件和运行时版本均已固定。
  • ☐ 代表性任务和失败处理策略均有说明。
  • ☐ 生命周期、取消、清理和回退均已测试。
  • ☐ 用户内容与网络边界均有说明。
  • ☐ 结论只适用于被记录的配置。
  • ☐ 新增测试结果时链接到原始方法或证据。

来源与相关证据

中文部署与排错专题见。奇连 AI 端侧专题。

常见问题

TalkBack 是否该播报生成的每个 token?

通常会造成过多打断。应定义并测试合适节奏,例如开始/完成、有意义片段或用户主动朗读,同时保持焦点稳定,并记录每次状态变化。

自动无障碍检查通过是否证明界面易用?

不能。自动检查只覆盖部分标签和语义;仍需用目标辅助技术手动遍历任务、流式输出、取消、错误和重试,并保留人工发现与缺陷。

本地推理是否让 AI 功能默认无障碍?

不是。端侧只说明推理位置,不证明标签、播报、焦点、错误说明或特定用户的可用性;还需实际遍历目标用户路径并记录环境。