HarmonyOS NEXT应用元服务开发禁用屏幕朗读焦点的场景

鸿蒙时代
发布于 2024-10-23 09:37
浏览
0收藏

装饰性的控件一般为分隔符、占位符和美化图标等,这类图形元素仅仅起到调整页面布局或装饰性效果,并不会向用户传达有效的信息或提供交互功能,删除后不影响指引用户体验。可以设置控件的无障碍是否可见的属性将其设置对无障碍不可见,这样在屏幕朗读模式下控件就不会获取焦点和朗读。
HarmonyOS NEXT应用元服务开发禁用屏幕朗读焦点的场景-鸿蒙开发者社区
accessibilityGroup(true) 用于多个组件的组合,组合内的默认没有焦点。
.accessibilityLevel(“no”)用于组件设置不可聚焦,不被无障碍感知。
例如:以下代码同时显示“Broadcast”和“No broadcast”消息,但当ScreenReader处于“打开”状态时,message可被聚焦,但message1将不被聚焦。

@Component
export struct Rule_2_1_3 {
  title: string = 'Rule 2.1.3'
  @State message: string = 'Broadcast';
  @State message1: string = 'No broadcast';

  build() {
    NavDestination() {
      Column() {
        Row() {
          Text(this.message)
            .fontSize(40)
            .fontWeight(FontWeight.Bold)
            .fontColor(Color.Blue)
            .margin({
              left: 40
            })
        }
        .width('100%')
        .height('50%')
        Row() {
          Text(this.message1)
            .fontSize(40)
            .fontWeight(FontWeight.Bold)
            .fontColor(Color.Grey)
            .margin({
              left: 40
            }).accessibilityLevel("no") // use for component
        }
        //.accessibilityGroup(true)
        //.accessibilityLevel("no-hide-descendants") // use for container
        // 可以使用这两行代替28行的accessibilityLevel("no")
        .width('100%')
        .height('50%')
      }
      .height('100%')
    }
    .title(this.title)
  }
}

本文主要引用官方文档材料基API 12 Release

分类
收藏
回复
举报
回复
    相关推荐