iOS无障碍功能支持
Compose Multiplatform 的无障碍支持让残障人士能够像使用原生 iOS UI 一样舒适地与 Compose Multiplatform 界面交互:
屏幕阅读器和旁白功能可以访问 Compose Multiplatform UI 的内容
Compose Multiplatform UI 支持与原生 iOS UI 相同的导航和交互手势
这得益于 Compose API 生成的语义数据现在会映射到 iOS 无障碍服务所使用的原生对象和属性。对于使用 Material 组件构建的大部分界面,这一过程会自动完成。
您还可以在测试和其他自动化场景中使用这些语义数据:诸如 testTag
等属性将正确映射到 accessibilityIdentifier
等原生无障碍属性。这使得 Compose Multiplatform 的语义数据能够被无障碍服务和 XCTest 框架识别。
iOS 无障碍支持目前处于早期开发阶段。如果您遇到使用问题,欢迎在 Slack 频道 #compose-ios 或 YouTrack 提交反馈。
自定义无障碍树同步
默认设置下:
iOS 无障碍树仅在无障碍服务运行时与 UI 同步
同步事件不会被记录
您可以通过新的 Compose Multiplatform API 调整这些设置。
选择树同步模式
为了调试事件和交互行为,您可以更改同步模式为:
永不与 UI 同步(例如临时禁用无障碍映射)
始终保持同步(每次 UI 更新时重写无障碍树以全面测试无障碍集成)
启用始终同步无障碍树的示例:
AccessibilitySyncOptions
类包含所有可用选项:
实现日志记录接口
您可以实现 AccessibilityDebugLogger
接口将自定义消息输出到指定位置:
后续步骤
了解 Compose Multiplatform 的 iOS 无障碍支持后,您可以:
通过 Kotlin Multiplatform 向导生成项目,在您常用的 iOS 无障碍工作流中进行测试
学习 资源限定符 ,这些知识对适配特定场景的 Compose Multiplatform UI 很有帮助