内容动态变化场景
========

#### 设计场景

界面上重要内容在动态变化后，需要实时发送变化后的朗读内容。具体地，当界面上内容发生动态变化且其内容对用户具有必要的提示/告知/指导作用，则其发生变化后需对其变化内容进行播报，可调用无障碍提供的主动播报接口进行播报。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/e4/v3/oYAtMx70Ql2rvM_sMfDiRQ/zh-cn_image_0000002664327253.png?HW-CC-KV=V1&HW-CC-Date=20260709T132230Z&HW-CC-Expire=86400&HW-CC-Sign=A784413F688530FBCF6450C3F4D7493383BC23336C116C8F8FE333D1E85D6F8B)

主动播报接口相关参数说明：

**表1** EventInfo 说明

| 属性 | 类型 | 说明 | 例 |
| :-- | :-- | :-- | :-- |
| type | EventType | 主动播报事件类型 | announceForAccessibility |
| bundleName | string | 目标应用名 | 当前应用包名 |
| triggerAction | Action | 触发事件的Action | click或其他都不会有任何影响 |
| textAnnouncedForAccessibility | string | 主动播报的内容 | test123 text |

#### 开发实例

import { accessibility } from '@kit.AccessibilityKit'

@Entry
@Component
export struct Rule\_2\_1\_7 {
  title: string = 'Rule 2.1.7';
  shortText: string = 'Button';
  longText: string = 'sendAccessibilityEvent';
  eventInfo: accessibility.EventInfo = ({
    type: 'announceForAccessibility',
    bundleName: 'com.samples.uiextensionandaccessibility',
    triggerAction: 'common',
    textAnnouncedForAccessibility: 'test123 text'
  });

  build() {
    NavDestination() {
      Column() {
        Blank()
        Button(this.shortText)
          .accessibilityText(this.longText)
          .align(Alignment.Center)
          .fontSize(20)
          .onClick(() => {
            accessibility.sendAccessibilityEvent(this.eventInfo).then(() => {
              console.info(\`test123 Succeeded in send event, eventInfo is: ${JSON.stringify(this.eventInfo)}\`);
            });
          })
        Blank()
      }
      .width('100%')
      .height('100%')
    }
    .title(this.title)
  }
}