无障碍功能对于创建每个人都能使用的包容性应用至关重要。Compose 为构建无障碍 UI 提供了基础,使您的应用在任何地方都能供所有人使用。
关键概念
语义:代表无障碍服务 UI 元素含义的系统。这包括用户可以执行的描述、状态和操作等属性。
遍历:无障碍服务(如 TalkBack)在屏幕上遍历元素的顺序。您可以自定义此顺序以获得更好的用户体验。
无障碍操作:用户可以在 UI 元素上执行的特定操作,例如点击、滚动和关闭。您的应用将它们传达给无障碍服务。
开始使用
Compose 的无障碍模型和工具的基础是语义。有关更多信息,请参阅 Compose 中的语义指南。
在开发应用时,请从一开始就牢记以下关键步骤,以提高 Compose 应用的无障碍性
- 考虑最小触摸目标大小:确保可点击和交互式元素至少为 48dp。这符合 Material Design 无障碍指南。
- 添加点击标签:使用
clickable
修饰符或semantics
修饰符描述点击行为,如果您无法直接访问clickable
。 - 描述视觉元素:使用
contentDescription
参数以文本方式描述图标和图像。对于装饰性元素,将contentDescription
设置为null
。 - 定义标题:使用
semantics
修饰符属性将元素标记为标题,以便于导航。 - 控制遍历顺序:使用
isTraversalGroup
标记应一起读取的元素组。利用traversalIndex
进一步自定义这些组中元素的顺序。
有关更多信息,请参阅专门的 提高 Compose 无障碍性的关键步骤指南。
工具
- TalkBack:Google 的 Android 屏幕阅读器。激活它以测试您的应用的语义对于依赖辅助技术的用户的有效性。
- 布局检查器:可视化和调试应用的语义树。
- Compose 测试 API:编写与语义元素交互的测试,以断言 Compose UI 的无障碍性。
Codelab
要了解有关在 Compose 代码中支持无障碍功能的更多信息,请参加 Jetpack Compose 中的无障碍功能 codelab。
其他资源
- 无障碍功能:所有 Android 应用开发通用的基本概念和技术
- 构建无障碍应用:您可以采取的关键步骤,使您的应用更易于访问
- 改进应用无障碍性的原则:在努力使您的应用更易于访问时,请牢记的关键原则
- 无障碍功能测试:Android 无障碍功能的测试原则和工具