Evaluate your app for Accessibility Nutrition Labels
Accessibility & Inclusion 进阶 0m

Evaluate your app for Accessibility Nutrition Labels

2025年6月9日

在 Apple 官方观看视频

一句话判断

Accessibility Nutrition Labels 让你在 App Store 产品页面上展示 app 支持的无障碍特性 — 这不是营销装饰,而是需要你用”公共任务”逐项验证后才能标注的功能声明。

这场 Session 讲了什么

James(工程师)和 Lisa(设计师,法定视力障碍者)以合作评估 Landmarks app 的方式,完整演示了 Accessibility Nutrition Labels 的评估流程。

核心概念:Accessibility Nutrition Labels 在 App Store 产品页面上展示 app 支持的无障碍特性。可标注的特性包括:Sufficient Contrast(足够对比度)、Dark Interface(深色界面)、Larger Text(大文字)、Differentiate Without Color Alone(不依赖颜色区分)、Reduced Motion(减弱动态效果)、Voice Control(语音控制)、VoiceOver、Closed Captions(隐藏式字幕)、Audio Descriptions(音频描述)。

评估方法:首先定义 app 的”公共任务”(common tasks)— 用户下载 app 后会执行的主要功能,加上首次启动、登录、购买、设置等基础流程。然后对每个公共任务逐项测试每个无障碍特性。如果用户不能完成所有公共任务,就不能标注该特性。

实际评估过程:他们对 Landmarks app 进行了真实测试。在 Larger Text 测试中,发现集合描述文本被截断且文本框不随文字大小增长,决定修复后再标注。VoiceOver 测试中,Lisa 完整演示了如何用手势导航 app、浏览集合、添加地标。最终标注了 6 项支持特性,2 项不适用(字幕和音频描述,因为 app 没有音视频内容)。

值得深挖的点

  1. “公共任务”的定义是关键边界。不是所有功能都要测试,但你定义的主要功能和基础操作流程必须覆盖。这决定了你的标签是否准确。

  2. Lisa 的亲身演示比任何文档都有说服力。她展示了 235% 放大倍率下的使用体验、VoiceOver 的滑动手势导航、三指快速滚动等真实使用方式。“Nothing about us without us” 不是口号,而是方法论。

  3. Larger Text 的评估标准是至少 200% 放大,但 Lisa 自己需要 310%。如果可能,支持超过 200% 的文字大小。使用 Dynamic Type 是最可靠的实现方式。

  4. 标签不是一次性的。发现问题(如 Larger Text)后可以先不标注,修复后再添加。你也可以在 App Store Connect 中附加无障碍网站链接提供详细信息。

代码片段

SwiftUI 中支持 Larger Text 的关键

// 使用 Dynamic Type 适配文字大小
Text(landmark.description)
    .font(.body)
    .dynamicTypeSize(...DynamicTypeSize.accessibility3)

// 文本框随文字增长(而非截断)
TextField("Description", text: $description, axis: .vertical)
    .lineLimit(3...10) // 允许多行扩展

VoiceOver 支持的关键 API

Button(action: deleteCollection) {
    Label("Delete", systemImage: "trash")
}
.accessibilityLabel("Delete collection")
// Voice Control 也能用这个 label

最佳实践

  1. 立即定义你的 app 的公共任务列表。这是标注 Accessibility Nutrition Labels 的第一步,也是评估 app 无障碍水平的基础。

  2. 与残障社区的用户合作测试。如果你的团队没有残障成员,通过用户研究招募测试者。内部测试无法替代真实用户的反馈。

  3. 不要标注你的 app 不支持的特性。准确性比覆盖面更重要。如果一个特性与你的 app 无关(如没有视频内容就不标字幕),不标注是正确的选择。

  4. 在设计阶段就考虑无障碍,而不是开发完成后修补。高对比度配色、不依赖颜色传达信息、支持减少动态效果 — 这些在设计稿阶段就应该确认。

  5. VoiceOver 和 Voice Control 共享相同的 accessibility API。做好了 VoiceControl 支持,VoiceOver 也基本可用,反之亦然。

还有什么值得关注

  • Accessibility Nutrition Labels 在 App Store Connect 中配置,所有支持的无障碍特性都会显示在产品页面上。
  • Apple 提供了详细的评估标准文档,确保不同 app 之间标注的一致性。
  • Xcode 的 Accessibility Inspector 工具可以帮助你检查 app 的无障碍属性。
  • 如果你在做企业 app 或 B2B 应用,Accessibility Nutrition Labels 同样适用。
无障碍