概述

ArkUI提供了丰富的无障碍能力,使开发者能够创建可访问的应用界面,满足视觉、听觉、运动和认知障碍等用户的需求。

组件的无障碍属性变化时,会触发辅助工具重新读取组件信息、无障碍服务重新扫描组件树、状态播报、虚拟节点动态更新等响应,这些机制确保辅助工具(如屏幕朗读)能及时感知并适配变化,为障碍用户提供连贯的体验。

设置无障碍分组

accessibilityGroup属性,用于设置是否启用无障碍分组。若启用,则该组件及其所有子组件将作为一个整体处理,无障碍服务不再单独处理各子组件。accessibilityGroup属性支持以下值:

  • false(默认):不启用无障碍分组。

  • true:启用无障碍分组。

这里以Column组件为例,启用无障碍分组:


Column() {
}
.accessibilityGroup(true)

设置无障碍重要性

accessibilityLevel属性表示组件的无障碍重要性,用于控制组件是否能被无障碍服务识别,支持以下值:

  • "auto"(默认):当前组件由无障碍分组服务和ArkUI进行综合判断组件是否可被无障碍辅助服务所识别。

  • "yes":当前组件可被无障碍辅助服务所识别。

  • "no":当前组件不可被无障碍辅助服务所识别。

  • "no-hide-descendants":当前组件及其所有子组件均不可被无障碍辅助服务所识别。

这里以Column组件为例,设置其无障碍重要性为可被无障碍辅助服务所识别:


Column() {
}
.accessibilityGroup(true)
.accessibilityLevel("yes")

设置无障碍文本

accessibilityText属性用于为无文本内容的组件提供朗读文本。若组件已有文本,则优先播报无障碍文本。

支持字符串或资源引用。

这里以Column组件为例,设置其无障碍文本为“分组”:


Column() {
}
.accessibilityGroup(true)
.accessibilityLevel("yes")
.accessibilityText("分组")

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐