挑战:语音控制同义词
2021 年 6 月 10 日
向自己提出挑战,让您的 app 可通过语音控制进行访问并为基于语音的交互提供支持。语音控制是 iOS、iPadOS 和 macOS 的内置功能,可让无法使用传统输入设备的用户完全通过语音来控制 Mac、iPhone 和 iPad。对于行动不便的用户而言,完全通过语音来控制设备是真正的颠覆性技术。用户可以利用语音在任何位置做出点按、轻扫及轻点的手势,凡是使用鼠标或触控的用户能够执行的操作,他们同样可以做到。在 iOS 和 iPadOS 上,语音控制还提供更多的选项来显示项目名称,其可在每个可轻点项目的旁边显示名称。在这项挑战中,我们将优化“显示名称” 体验。
假设您创建了一个外观与纸飞机相似的按钮。您会说什么来执行轻点操作呢?“轻点发送”?“轻点回复”?“轻点飞机”?在 UIKit 中,您可以使用 accessibilityUserInputLabels 字符串数组来响应这些提示,而在 SwiftUI 中,您可以使用 .accessibilityInputLabels 修饰键。
如何启用语音控制
我们将请您尽可能让 app 的 UI 通过语音轻松导航,并改进 app 的语音控制体验。首先,请通过访问“设置” > “辅助功能” > “语音控制”来打开语音控制,并启用“叠层” > “显示名称”。
然后,截取界面的截屏,让“显示名称”叠层显示在其顶部。探索如何仅通过语音控制在 app 中进行导航。现在,您给用户带来的体验如何?有没有在常见任务上遇到困难?您可以做何优化?
您已经在 app 的语音控制模式方面花费了一些时间,现在该进行一些改进了。您可以对代码进行以下几处调整来优化所有用户的体验。
探索 accessibilityInputLabels 首先,您可以实施 accessibilityInputLabels 来创建简短且能让用户轻松进行语音朗读的标签。
Use Voice Control to interact with iPhone
小贴士:
您的主字符串是数组中的第一个字符串,也将是语音控制功能显示在屏幕上的第一项。 简洁是关键:请使用简短的词语。 使用 NSLocalizedString 本地化您的字符串,避免在标签中使用特殊符号。 鉴于同义词数量问题,请谨慎添加同义词。将可能的字符串数量限制为最多 4 个,以免识别系统负载过大。
在您的用户界面中,可能会有多个元素使用相同的称呼。例如,图像浏览器中的每张图像都可以称为“截屏”。在这类情况下,您可以依赖语音控制的歧义消除功能,让标签名称保持简短。当用户说出“截屏”时,将显示一个编号列表,包含所有被称为“截屏”的元素,以供用户选择。
缩短标签名称 如果您的 app 已经采用了 accessibilityLabel,那么您已经完成了很多工作,但您的标签可能太长,不易朗读。您可以利用 accessibilityUserInputLabels (如果是在 SwiftUI 中,则使用 .accessibilityInputLabels),让可朗读标签保持简短,同时保留有价值的信息,供当前 accessibilityLabel 传达给依赖它的受众。
分享您的经验 当您为 app 添加语音控制支持时,请与开发者社区分享您的实施情况。在您对 app 进行更改或改进之后,请在启用“显示名称”叠层的情况下,再一次截取用户界面的截屏。您可以使用 "WWDC21-Challenges" 标签在开发者论坛上分享“之前”和“之后”的截屏,或者使用 #WWDC21Challenges 标签在社交媒体上进行分享。对于参加在线休息室的与会者,我们将于星期四下午 2 点至 6 点 (太平洋夏令时),在 #accessibility-study-hall 频道举办挑战学堂。(不要忘记在支持替代文本的平台上为您的截屏图像添加替代文本!)