Jetpack Compose 中的无障碍功能

无障碍功能对于创建每个人都可以使用的包容性应用至关重要。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。

其他资源