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)
  }
}

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.

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

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