Skip to content

无障碍设计

验收目标

VMax 的身份创建、实例选择、联系人验证、聊天、备份、统一锁屏和安全设置在动态字体、VoiceOver、高对比度、降低透明度和减少动态效果下都必须可独立完成。阻断级无障碍问题为 0 才能进入发布候选。[MUST]

这里的要求来自 v1.1 说明书与项目执行标准;当前仅完成文档事实验证,尚未经过真机和 Accessibility Inspector 验证。[已验证事实]

动态字体

  • 全部正文和控件使用文本样式而非固定字号;核心信息不转成图片。[MUST]
  • 最大辅助字号下允许标题、按钮、状态和表单纵向重排;页面可滚动,不截断、不重叠、不隐藏主操作。[MUST]
  • Tab 标签、验证码分组、VMax 地址和消息状态不能依赖单行容纳;必要时提供详情页或复制动作。[MUST]
  • 聊天气泡限制最大阅读宽度而非固定高度,长文本、连续字符、中文英文混排和 32 KB 边界均需测试。[MUST]
  • 键盘出现时,发送、密码确认和恢复操作仍可见或可滚动到达。[MUST]

VoiceOver

通用顺序

焦点顺序遵循“页面标题 → 阻断警告 → 主要内容 → 主要操作 → 次要操作”。弹层出现后焦点进入弹层;关闭后回到触发控件。[MUST]

关键标签

  • 验证状态读成完整含义,例如“已当面验证”,不能只读“L2”或颜色。
  • 消息读成“发送者、时间、正文、状态、反应”,操作按钮与正文分开;装饰性气泡和头像不重复朗读。
  • 长按菜单的六种反应逐项有名称、选中状态和操作提示;菜单不得让背景消息继续获得焦点。[MUST]
  • VMax 地址与指纹默认按分组朗读,提供“复制完整地址”“按组浏览”的独立动作,避免连续字符无法核对。[建议]
  • 密钥变化警告首先读取影响,再读取“核对安全码”等主操作,不能只朗读“错误”。[MUST]
  • 密码字段不朗读内容,不暴露长度变化或主/假密码命中结果。[MUST]

自定义操作

消息项提供回复、复制、转发、删除和显示详情的 VoiceOver 自定义操作;不能要求用户必须完成精确长按手势。[MUST]

高对比度与非颜色表达

  • 未验证、已固定、已当面验证、密钥变化和发送失败均同时使用文字与图标;颜色只作补充。[MUST]
  • Button Shapes 开启后,所有文本按钮仍能被识别为可操作。
  • Increase Contrast 下边界和填充使用系统高对比语义色;不能靠半透明玻璃区分前景与背景。[MUST]
  • 焦点、选中、禁用和错误状态至少有一种非颜色差异,例如形状、描边、文本或图标。[MUST]

减少动态效果与降低透明度

  • Reduce Motion 开启时禁用大范围位移、缩放、弹性强化和非必要循环动画;状态变化改用即时更新或轻量淡入淡出。[MUST]
  • 消息发送、联系人验证和备份进度不能只靠动画表达,必须有可读取文本状态。
  • Reduce Transparency 开启时以不透明系统背景替代 Liquid Glass;内容层级仍清晰。[MUST]
  • 格式化与空白空间不能拥有独特的动画或触感序列,以免旁观者据此识别伪装状态。[MUST]

认知与文案可理解性

  • 优先使用“未验证、已固定、已当面验证”等行为含义,技术等级作为次级信息;最终命名待 D-PROD-01 决策。
  • 一条错误只说明一个主要原因和一个下一步;诊断细节放入展开区域。
  • “已发送、已送达、已读”必须保持固定含义,不以相似图标让用户猜测。
  • 不可逆操作用短句列出影响、不会发生的事和取消路径;确认按钮使用具体动词,如“启用本地格式化”,不用“确定”。[MUST]

权限与替代路径

权限或系统能力申请时机拒绝后的替代路径
相机用户选择扫描联系人或部署二维码时手动输入完整地址或 HTTPS 地址
通知身份创建后解释离线消息价值时App 内提示如何稍后在系统设置开启;前台拉取仍可使用
Face ID用户主动开启快捷解锁时始终保留手动输入密码;假密码入口不依赖 Face ID
Files / 文档选择器用户导出或恢复备份时解释无法完成当前文件任务,不影响聊天

权限预提示要说明“为什么此刻需要”,不声称拒绝权限会破坏与该权限无关的核心功能。[MUST]

弱网与辅助技术组合

  • 网络状态更新使用可读取的 live region 或等效机制,但避免每次自动重试都打断当前朗读。[建议]
  • 发送失败后焦点不自动跳离编辑器;用户可以继续编辑、重试或查看原因。
  • 重试成功只更新消息状态一次,不重复朗读或生成重复消息。[MUST]
  • 扫码超时、证书错误和协议不支持分别提供文字原因;焦点落在标题而非危险的默认继续按钮。

测试矩阵

流程默认字号最大辅助字号VoiceOver深浅与高对比Reduce Motion / Transparency弱网
身份创建与实例选择必测必测必测必测必测必测
联系人输入、扫码与验证必测必测必测必测必测必测
聊天、长按与消息详情必测必测必测必测必测必测
备份创建与恢复必测必测必测必测必测文件中断必测
统一锁屏与双密码必测必测必测必测必测验证过程不得联网
格式化设置与空白空间必测必测必测必测必测本地动作不得等待网络

发布验证

  1. 使用至少一台小屏 iPhone 和一台当前尺寸 iPhone 做真机人工走查。
  2. Accessibility Inspector 扫描后逐项人工复核标签、顺序、操作和值;自动扫描不能替代任务测试。
  3. 最大辅助字号下完成所有核心任务,记录截图和阻断问题。
  4. VoiceOver 开启后不看屏幕完成创建身份、添加联系人、发送失败重试、导出备份和手动密码解锁。
  5. 对统一锁屏和空白空间做旁观者检查,确认辅助功能朗读、通知和触感均不暴露真实空间或假密码存在。

系统初步设计 · 待决事项不代表批准 · 安全方案尚未完成独立审计