跳到主要内容

内容动态变化场景

设计场景

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

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

表1 EventInfo 说明

属性类型说明
typeEventType主动播报事件类型announceForAccessibility
bundleNamestring目标应用名当前应用包名
triggerActionAction触发事件的Actionclick或其他都不会有任何影响
textAnnouncedForAccessibilitystring主动播报的内容test123 text

开发实例

import accessibility from '@ohos.accessibility';

@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.example.pagesrouter',
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)
}
}