Accessibility 入门 14m
无障碍设计:让 Apple Watch 服务每一个人(美国手语版)
Accessibility by design: An Apple Watch for everyone (ASL)
2021年6月9日
一句话判断
这是 Session 10308 的美国手语(ASL)翻译版本——内容和原版一致,为听障开发者提供手语翻译,讲解 watchOS 8 的无障碍功能更新。
这场 Session 讲了什么
这是「Accessibility by design: An Apple Watch for everyone」(Session 10308)的 ASL 翻译版本。内容与原版完全一致,画面中嵌入了手语翻译员的实时翻译。
核心内容是 watchOS 8 的辅助功能更新,其中最重要的是 AssistiveTouch——让上肢运动障碍的用户通过手势(握拳、捏合)操作 Apple Watch,不需要触碰屏幕。系统通过手表的陀螺仪和加速度计检测手臂微动作,用机器学习模型区分手势和日常运动,将手势映射为导航操作。
此外还覆盖了 VoiceOver 对复杂表盘的改进、更大的字体选项、以及 Digital Crown 的辅助功能支持。对于 watchOS 开发者来说,需要确保 App 中所有可交互元素都有正确的辅助功能标记,按钮间距足够宽以适配手势导航。
值得深挖的点
AssistiveTouch 改变了 watchOS App 的设计前提——你不再能假设所有用户都能精确点击屏幕上的按钮。你的 App 需要确保辅助功能元素顺序合理、点击区域足够大(至少 44pt)、以及关键操作有替代的交互方式。WKAccessibility.isAssistiveTouchRunning 可以帮你检测当前用户是否在使用手势导航模式。
代码片段
// 适配 AssistiveTouch 的 watchOS 界面
struct WatchMenuView: View {
var body: some View {
VStack(spacing: 16) {
Button("开始锻炼") { startWorkout() }
.frame(maxWidth: .infinity, minHeight: 44)
Button("查看历史") { showHistory() }
.frame(maxWidth: .infinity, minHeight: 44)
}
// 确保所有交互元素有正确的辅助功能标签
.accessibilityElement(children: .contain)
}
}
最佳实践
- 在真机上用 AssistiveTouch 测试你的 watchOS App——模拟器无法模拟手势检测
- watchOS 的辅助功能描述要简洁,用户通常在运动或单手操作时使用
- 参考 Session 10308 获取更详细的技术内容和代码示例
还有什么值得关注
- watchOS 8 的「正念」App(原「呼吸」App)也提供了改进的无障碍支持
accessibilityCustomActions可以为 AssistiveTouch 用户提供快捷操作入口
WWDC 2021