清晰且有用的无障碍文本是提升界面无障碍性的主要方法之一。视力有限或无视力的用户将从明确的文字描述中受益。无障碍文本指供屏幕阅读器无障碍软件(如 Android 上的 TalkBack、iOS 上的 VoiceOver、桌面端的 JAWS)使用的文本。屏幕阅读器会朗读屏幕上所有文本,包括可见和不可见的替代文本。
无障碍文本包括可见文本(如界面元素标签、按钮文字、链接和表单)和不可见的描述(如无文本标签按钮的替代文本)。有时,界面标签可被无障碍文本覆盖,以为用户提供更多信息。
可见和不可见的文本都应具有描述性且独立有意义,因为有些用户通过页面中的所有标题或链接进行导航。使用屏幕阅读器测试应用,以识别缺失或需要改进无障碍文本的区域。
保持简洁
保持内容和无障碍文本简短扼要。屏幕阅读器用户会听到每个界面元素的朗读。文本越短,屏幕阅读器用户导航越快。
切换到 heyfromjonathan@gmail.com
推荐做法
账户切换器。切换到账户 heyfromjonathan@gmail.com
不推荐做法
避免在文本中包含控件类型或状态
屏幕阅读器可能会通过声音或在无障碍文本前后读出控件名称,自动声明控件类型或状态。
开发人员注释:若控件类型或状态未被正确读取,可能是控件的无障碍角色设置不当,或它是自定义控件。网站上每个元素都应具有相关的无障碍角色,或通过代码正确声明。这意味着按钮应设为按钮,复选框应设为复选框,以便将控件类型或状态正确传达给用户。若从原生界面元素扩展或继承,你将获得正确的角色。否则,可在各平台为无障碍重写此信息(Web 用ARIA,Android 用AccessibilityNodeInfo)。
在 Android 上,将控件的 AccessibilityNodeInfo 类名字段设为 “android.widget.Button”。
状态可变的元素
对于可在值或状态间切换的图标,根据其向用户的呈现方式确定如何通告。
- 若图标是项目的属性,将其设为复选框,以便屏幕阅读器读出当前状态,如“开启”或“关闭”
- 若图标是操作,编写文本标签以指明选中图标后将发生的操作,如“添加到心愿单”
元素的使用方式会影响其显示方式。例如,若星形图标代表添加到心愿单的操作,应用应通告“添加到心愿单”或“从心愿单中移除”。
确认操作
使用对话框、Toast 或 Snackbar(Android)来确认或反馈破坏性操作(如“删除”或“移除”),或提示操作难以撤销。
对于通过视觉方式确认的操作(如删除项目时网格自动重新排列),无需 Toast。这种情况下,可添加无障碍文本提供确认。
提供提示语音
提示语音为不明确的操作提供额外信息。例如,Android 的“双击以选择”功能会在用户停留于项目但未操作时提示双击。Android TalkBack 也会通告与元素关联的任何自定义操作。请慎用提示语音,仅用于复杂界面。