检查与调试

检查

有几种工具可以帮助你从无障碍功能的角度快速检查内容

  • Android 无障碍功能套件:包括“无障碍功能菜单”、“随选朗读”、“随手操作”和“TalkBack”,这些功能可以深入了解你的应用的语义如何为使用这些技术的用户提供服务。强烈建议使用 Android 辅助技术进行测试,这是了解无障碍功能用户体验的最佳方式。
  • 布局检查器:可让你检查和调试每个可组合项的语义,并帮助识别任何缺失或不正确的信息。
  • 无障碍扫描仪应用:扫描你的屏幕并提供建议,通过识别一些常见问题来改进应用的无障碍功能。

调试

在 Compose、语义系统和 Android 无障碍服务之间,你可能会遇到难以追踪的意外无障碍行为。语义属性可以帮助你了解组件为何表现出这种行为。

你可以使用 Android Studio 中的布局检查器、TalkBack 开发者设置中的 TreeDebug 或 ComposeTestRuleprintToLog 来调试无障碍行为问题。所有这些工具都可以提供有关由 Compose 向无障碍服务公开的节点(及其属性)的信息。

以下示例使用布局检查器调试一个包含三个元素的屏幕,其中在无障碍服务开启时,第一个元素未被选中,第二个元素没有关联任何操作反馈。你可以检查语义属性来查找潜在问题。

布局检查器中的组件树包含有关元素的边界、参数以及与之关联的其他语义信息。在树中,所有三个元素都已被识别

Layout Inspector with all three elements.
图 2. 包含所有三个元素的布局检查器。

第一个元素应用了 hideFromAccessibility 属性。这表明该元素可能在语义树中的某个位置被标记为隐藏,或者被某些装饰性叠加层遮挡。

Layout Inspector: first element with hideFromAccessibility
图 3. 布局检查器:带有 hideFromAccessibility 的第一个元素。

第二个元素具有焦点属性,但没有像前一个元素那样的 onClick。因此,它可能缺少 clickable 修饰符,这就是为什么像 TalkBack 这样的无障碍服务可能不会向用户宣布任何操作信号的原因。

Layout Inspector: second element with focused
图 4. 布局检查器:带有 focused 的第二个元素。

第三个文本元素具有所有必需的属性——它可聚焦,具有 onClick,并应用了其他附加语义——这就是为什么它会按预期解释的原因。

Layout Inspector: third element with all APIs.
图 5. 布局检查器:带有所有 API 的第三个元素。

通过这种方式,你可以使用调试工具来调查为什么无障碍服务没有执行某些公告或选择。