使用 Jetpack Compose 改进应用的无障碍功能

无障碍对于打造人人都能使用的包容性应用至关重要。 Compose 为构建无障碍界面奠定了基础,使您的应用可供世界各地的所有人使用。

主要概念

  • 语义:表示无障碍服务界面元素含义的系统。这包括说明、状态和用户可以执行的操作等属性。

  • 遍历:TalkBack 等无障碍服务在屏幕上浏览元素的顺序。您可以自定义此顺序,以提供更好的用户体验。

  • 无障碍操作:用户可以对界面元素执行的特定操作,例如点击、滚动和关闭。您的应用会将这些消息传达给无障碍服务。

开始

Compose 无障碍功能模型和工具的基础是语义。如需了解详情,请参阅 Compose 中的语义指南。

在开发应用时,请从一开始就牢记以下关键步骤,以改进 Compose 应用的无障碍功能:

  • 考虑最小触摸目标尺寸:确保可点击的互动元素至少为 48dp。这符合 Material Design 无障碍功能指南。
  • 添加点击标签:如果您无法直接访问 clickable,请使用 clickable 修饰符或 semantics 修饰符描述点击行为。
  • 描述视觉元素:使用 contentDescription 参数以文本形式描述图标和图片。对于装饰性元素,请将 contentDescription 设置为 null
  • 定义标题:使用 semantics 修饰符属性将元素标记为标题,以便更轻松地进行导航。
  • 控制遍历顺序:使用 isTraversalGroup 标记应一起读取的元素组。利用 traversalIndex 进一步自定义这些组中元素的顺序。

如需了解详情,请参阅专门的改进 Compose 无障碍功能的关键步骤指南。

工具

  • TalkBack:适用于 Android 的 Google 屏幕阅读器。激活它即可测试应用语义对于依赖辅助技术的用户如何发挥作用。
  • 布局检查器:直观呈现和调试应用的语义树。
  • Compose 测试 API:编写与语义元素交互的测试,以断言 Compose 界面的无障碍功能。

Codelab

如需详细了解如何在 Compose 代码中支持无障碍功能,请学习 Jetpack Compose 中的无障碍功能 Codelab。

其他资源