• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.accessibility (辅助应用)
2
3<!--Kit: Accessibility Kit-->
4<!--Subsystem: BarrierFree-->
5<!--Owner: @qiiiiiiian-->
6<!--Designer: @z7o-->
7<!--Tester: @A_qqq-->
8<!--Adviser: @w_Machine_cc-->
9
10本模块提供辅助应用查询能力,包括获取辅助应用列表、获取辅助应用启用状态、获取无障碍字幕配置等。
11
12> **说明:**
13>
14> - 本模块首批接口从 API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
15
16## 导入模块
17
18```ts
19import { accessibility } from '@kit.AccessibilityKit';
20```
21
22## AbilityState
23
24type AbilityState = 'enable' | 'disable' | 'install'
25
26辅助应用状态类型。
27
28**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
29
30| 类型      | 说明       |
31| ------- | -------- |
32| 'enable'  | 表示辅助应用已启用。 |
33| 'disable'  | 辅助应用已禁用。 |
34| 'install'  | 辅助应用已安装。 |
35
36## AbilityType
37
38无障碍辅助应用类型。
39
40**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
41
42| 名称               | 描述        |
43| ---------------- | --------- |
44| audible          | 表示具有听觉反馈。 |
45| generic          | 表示具有通用反馈。 |
46| haptic           | 表示具有触觉反馈。 |
47| spoken           | 表示具有语音反馈。 |
48| visual           | 表示具有视觉反馈。 |
49| all<sup>9+</sup> | 表示以上所有类别。 |
50
51## AccessibilityAbilityInfo
52
53辅助应用信息。
54
55**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
56
57### 属性
58
59| 名称                             | 类型                                       | 只读   | 可选   | 说明               |
60| ------------------------------ | ---------------------------------------- | ---- | ---- | ---------------- |
61| id                             | string                                   | 是    | 否    | ability&nbsp;id。 |
62| name                           | string                                   | 是    | 否    | ability 名。       |
63| bundleName                     | string                                   | 是    | 否    | Bundle名称。        |
64| targetBundleNames<sup>9+</sup> | Array&lt;string&gt;                      | 是    | 否    | 关注的目标Bundle名称。   |
65| abilityTypes                   | Array&lt;[AbilityType](#abilitytype)&gt; | 是    | 否    | 辅助应用类型。          |
66| capabilities                   | Array&lt;[Capability](#capability)&gt;   | 是    | 否    | 辅助应用能力列表。        |
67| description                    | string                                   | 是    | 否    | 辅助应用描述。          |
68| eventTypes                     | Array&lt;[EventType](#eventtype)&gt;     | 是    | 否    | 辅助应用关注的无障碍事件列表。  |
69| needHide<sup>12+</sup>                     | boolean     | 是    | 否    | 辅助应用是否在已安装的扩展服务列表中被隐藏,true表示隐藏服务,false表示显示服务。  |
70| label<sup>12+</sup>                     | string     | 是    | 否    | 扩展应用在扩展服务列表中的名称。  |
71
72## Action
73
74type Action = 'accessibilityFocus' | 'clearAccessibilityFocus' | 'focus' | 'clearFocus' | 'clearSelection' |
75  'click' | 'longClick' | 'cut' | 'copy' | 'paste' | 'select' | 'setText' | 'delete' |
76  'scrollForward' | 'scrollBackward' | 'setSelection' | 'setCursorPosition' | 'home' |
77  'back' | 'recentTask' | 'notificationCenter' | 'controlCenter' | 'common'
78
79应用所支持的目标动作,需要配置参数的目标动作已在描述中标明。
80
81**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
82
83| 类型                      | 说明                 |
84| ----------------------- |--------------------|
85| 'click'                   | 表示点击操作。            |
86| 'longClick'               | 表示长按操作。            |
87| 'scrollForward'           | 表示向前滚动操作。 |
88| 'scrollBackward'          | 表示向后滚动操作。 |
89| 'focus'                   | 表示获得焦点操作。 |
90| 'clearFocus'              | 表示清除焦点操作。 |
91| 'clearSelection'          | 表示清除选择操作。当前版本暂不支持。 |
92| 'accessibilityFocus'      | 表示获得无障碍焦点操作。       |
93| 'clearAccessibilityFocus'      | 表示清除无障碍焦点操作。       |
94| 'cut'                     | 表示剪切操作。   |
95| 'copy'                    | 表示复制操作。   |
96| 'paste'                   | 表示粘贴操作。   |
97| 'select'                  | 表示选择操作。   |
98| 'setText'                 | 表示设置文本操作,需配置参数setText。 |
99| 'delete'                  | 表示删除操作。当前版本暂不支持。   |
100| 'setSelection'            | 表示选择操作,需配置参数selectTextBegin、selectTextEnd、selectTextInForWard。   |
101| 'common'            | 表示没有特定操作,用于主动聚焦、主动播报等场景。   |
102| 'home'                | 表示返回桌面操作。   |
103| 'back'                | 表示返回上一级操作。   |
104| 'recentTask'          | 表示打开最近任务操作。   |
105| 'notificationCenter'      | 表示打开通知栏操作。   |
106| 'controlCenter'       | 表示打开控制中心操作。   |
107| 'setCursorPosition'     | 表示设置光标位置操作,需配置参数offset。   |
108
109## Capability
110
111type Capability = 'retrieve' | 'touchGuide' | 'keyEventObserver' | 'zoom' | 'gesture'
112
113辅助应用能力类型。
114
115**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
116
117| 类型               | 说明                    |
118| ---------------- |-----------------------|
119| 'retrieve'         | 具有检索窗口内容的能力。          |
120| 'touchGuide'       | 具有触摸探索模式的能力。          |
121| 'keyEventObserver' | 具有过滤按键事件的能力。          |
122| 'zoom'             | 具有控制显示放大的能力,当前版本暂不支持。 |
123| 'gesture'          | 具有执行手势动作的能力。          |
124
125## CaptionsFontEdgeType<sup>8+</sup>
126
127type CaptionsFontEdgeType = 'none' | 'raised' | 'depressed' | 'uniform' | 'dropShadow'
128
129字幕字体边缘类型。
130
131**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing
132
133| 类型         | 说明    |
134| ---------- | ----- |
135| 'none'       | 表示无效果。  |
136| 'raised'     | 表示凸起效果。 |
137| 'depressed'  | 表示凹陷效果。 |
138| 'uniform'    | 表示轮廓效果。 |
139| 'dropShadow' | 表示阴影效果。 |
140
141## CaptionsFontFamily<sup>8+</sup>
142
143type CaptionsFontFamily = 'default' | 'monospacedSerif' | 'serif' | 'monospacedSansSerif' |
144  'sansSerif' | 'casual' | 'cursive' | 'smallCapitals'
145
146字幕字体。
147
148**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing
149
150| 类型                  | 说明                |
151| ------------------- | ----------------- |
152| 'default'             | 表示默认字体。             |
153| 'monospacedSerif'         | 表示等宽 Serif 字体。      |
154| 'serif'               | 表示Serif 字体。         |
155| 'monospacedSansSerif'        | 表示等宽 Sans Serif 字体。 |
156| 'sansSerif'           | 表示Sans Serif 字体。    |
157| 'casual'              | 表示非正式字体。            |
158| 'cursive'             | 表示手写字体。             |
159| 'smallCapitals'       | 表示小型大写字母字体。         |
160
161## CaptionsStyle<sup>8+</sup>
162
163字幕风格。
164
165**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing
166
167| 名称              | 类型                                    | 只读   | 可选   | 说明          |
168| --------------- | ---------------------------------------- | ---- | ---- | ----------- |
169| fontFamily      | [CaptionsFontFamily](#captionsfontfamily8) | 否    | 否    | 描述字幕字体。     |
170| fontScale       | number                                   | 否    | 否    | 描述字幕字体缩放系数,单位%,参数范围1~200。 |
171| fontColor       | number \| string                         | 否    | 否    | 描述字幕字体颜色。<br>number:HEX 格式颜色,支持 rgb 或 argb。<br>string:支持 '#rrggbb', '#rrggbbaa', '#rgb', '#rgba' 格式。<br>例:不透明红色,number: 0xffff0000,string: '#ff0000', '#ff0000ff', '#f00', '#f00f'。 |
172| fontEdgeType    | [CaptionsFontEdgeType](#captionsfontedgetype8) | 否    | 否    | 描述字幕字体边缘。   |
173| backgroundColor | number \| string                         | 否    | 否    | 描述字幕背景颜色。<br>number:HEX 格式颜色,支持 rgb 或 argb。<br>string:支持 '#rrggbb', '#rrggbbaa', '#rgb', '#rgba' 格式。<br>例:不透明红色,number: 0xffff0000,string: '#ff0000', '#ff0000ff', '#f00', '#f00f'。   |
174| windowColor     | number \| string                         | 否    | 否    | 描述字幕窗口颜色。<br>number:HEX 格式颜色,支持 rgb 或 argb。<br>string:支持 '#rrggbb', '#rrggbbaa', '#rgb', '#rgba' 格式。<br>例:不透明红色,number: 0xffff0000,string: '#ff0000', '#ff0000ff', '#f00', '#f00f'。   |
175
176## CaptionsManager<sup>8+</sup>
177
178字幕配置管理,在调用CaptionsManager的方法前,需要先通过 [accessibility.getCaptionsManager() ](#accessibilitygetcaptionsmanagerdeprecated)获取 CaptionsManager实例。
179
180**系统能力**:以下各项对应的系统能力均为SystemCapability.BarrierFree.Accessibility.Hearing
181
182### 属性
183
184| 名称      | 类型                               | 只读   | 可选   | 说明          |
185| ------- | -------------------------------- | ---- | ---- | ----------- |
186| enabled | boolean                          | 否    | 否    | 表示是否启用字幕配置。true表示字幕配置开启,false表示字幕配置关闭。 |
187| style   | [CaptionsStyle](#captionsstyle8) | 否    | 否    | 表示字幕风格。     |
188
189### on('enableChange')<sup>(deprecated)</sup>
190
191on(type: 'enableChange', callback: Callback&lt;boolean&gt;): void;
192
193监听字幕配置启用状态变化事件,使用callback异步回调。
194
195> **说明:**
196>
197> 从API version 12开始废弃。系统不再开放相关功能。
198
199**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
200
201**参数:**
202
203| 参数名      | 类型                      | 必填   | 说明                                      |
204| -------- | ----------------------- | ---- | --------------------------------------- |
205| type     | string                  | 是    | 监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 |
206| callback | Callback&lt;boolean&gt; | 是    | 回调函数,在启用状态变化时将状态通过此函数进行通知。              |
207
208**错误码:**
209
210以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
211
212| 错误码ID | 错误信息 |
213| ------- | -------------------------------- |
214| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
215
216**示例:**
217
218```ts
219import { accessibility } from '@kit.AccessibilityKit';
220
221@Entry
222@Component
223struct Index {
224  callback: (data: boolean) => void = this.eventCallback;
225  eventCallback(data: boolean): void {
226    console.info(`subscribe caption manager enable state change, result: ${JSON.stringify(data)}`);
227  }
228
229  aboutToAppear(): void {
230    let captionsManager = accessibility.getCaptionsManager();
231    captionsManager.on('enableChange', this.callback);
232  }
233
234  build() {
235    Column() {
236    }
237  }
238}
239```
240
241### on('styleChange')<sup>(deprecated)</sup>
242
243on(type: 'styleChange', callback: Callback&lt;CaptionsStyle&gt;): void;
244
245监听字幕风格变化事件,使用callback异步回调。
246
247> **说明:**
248>
249> 从API version 12开始废弃。系统不再开放相关功能。
250
251**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
252
253**参数:**
254
255| 参数名      | 类型                                       | 必填   | 说明                                 |
256| -------- | ---------------------------------------- | ---- | ---------------------------------- |
257| type     | string                                   | 是    | 监听的事件名,固定为‘styleChange’,即字幕风格变化事件。 |
258| callback | Callback&lt;[CaptionsStyle](#captionsstyle8)&gt; | 是    | 回调函数,在字幕风格变化时通过此函数进行通知。            |
259
260**错误码:**
261
262以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
263
264| 错误码ID | 错误信息 |
265| ------- | -------------------------------- |
266| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
267
268**示例:**
269
270```ts
271import { accessibility } from '@kit.AccessibilityKit';
272
273@Entry
274@Component
275struct Index {
276  callback: (data: accessibility.CaptionsStyle) => void = this.eventCallback;
277  eventCallback(data: accessibility.CaptionsStyle): void {
278    console.info(`subscribe caption manager style state change, result: ${JSON.stringify(data)}`);
279  }
280
281  aboutToAppear(): void {
282    let captionsManager = accessibility.getCaptionsManager();
283    captionsManager.on('styleChange', this.callback);
284  }
285
286  build() {
287    Column() {
288    }
289  }
290}
291```
292
293### off('enableChange')<sup>(deprecated)</sup>
294
295off(type: 'enableChange', callback?: Callback&lt;boolean&gt;): void;
296
297取消监听字幕配置启用状态变化事件,使用callback异步回调。
298
299> **说明:**
300>
301> 从API version 12开始废弃。系统不再开放相关功能。
302
303**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
304
305**参数:**
306
307| 参数名   | 类型                    | 必填 | 说明                                                         |
308| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
309| type     | string                  | 是   | 取消监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 |
310| callback | Callback&lt;boolean&gt; | 否   | 回调函数,取消指定callback对象的事件响应。需与on('enableChange')的callback一致。缺省时,表示注销所有已注册事件。 |
311
312**错误码:**
313
314以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
315
316| 错误码ID | 错误信息 |
317| ------- | -------------------------------- |
318| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
319
320**示例:**
321
322```ts
323import { accessibility } from '@kit.AccessibilityKit';
324
325@Entry
326@Component
327struct Index {
328  callback: (data: boolean) => void = this.eventCallback;
329  eventCallback(data: boolean): void {
330    console.info(`subscribe caption manager enable state change, result: ${JSON.stringify(data)}`);
331  }
332
333  aboutToAppear(): void {
334    let captionsManager = accessibility.getCaptionsManager();
335    captionsManager.on('enableChange', this.callback);
336  }
337
338  aboutToDisappear(): void {
339    let captionsManager = accessibility.getCaptionsManager();
340    captionsManager.off('enableChange', this.callback);
341  }
342
343  build() {
344    Column() {
345    }
346  }
347}
348```
349
350### off('styleChange')<sup>(deprecated)</sup>
351
352off(type: 'styleChange', callback?: Callback&lt;CaptionsStyle&gt;): void;
353
354取消字幕风格变化监听事件,使用callback异步回调。
355
356> **说明:**
357>
358> 从API version 12开始废弃。系统不再开放相关功能。
359
360**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
361
362**参数:**
363
364| 参数名   | 类型                                             | 必填 | 说明                                                         |
365| -------- | ------------------------------------------------ | ---- | ------------------------------------------------------------ |
366| type     | string                                           | 是   | 取消监听的事件名,固定为‘styleChange’,即字幕风格变化事件。  |
367| callback | Callback&lt;[CaptionsStyle](#captionsstyle8)&gt; | 否   | 回调函数,取消指定callback对象的事件响应。需与on('styleChange')的callback一致。缺省时,表示注销所有已注册事件。 |
368
369**错误码:**
370
371以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
372
373| 错误码ID | 错误信息 |
374| ------- | -------------------------------- |
375| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
376
377**示例:**
378
379```ts
380import { accessibility } from '@kit.AccessibilityKit';
381
382@Entry
383@Component
384struct Index {
385  callback: (data: accessibility.CaptionsStyle) => void = this.eventCallback;
386  eventCallback(data: accessibility.CaptionsStyle): void {
387    console.info(`subscribe caption manager style state change, result: ${JSON.stringify(data)}`);
388  }
389
390  aboutToAppear(): void {
391    let captionsManager = accessibility.getCaptionsManager();
392    captionsManager.on('styleChange', this.callback);
393  }
394
395  aboutToDisappear(): void {
396    let captionsManager = accessibility.getCaptionsManager();
397    captionsManager.off('styleChange', this.callback);
398  }
399
400  build() {
401    Column() {
402    }
403  }
404}
405```
406
407## EventInfo
408
409界面变更事件。
410
411**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
412
413### 属性
414
415| 名称             | 类型                                   | 只读 | 可选 | 说明            |
416| ---------------- | ------------------------------------- |----- |------|-----------------------|
417| type             | [EventType](#eventtype)               | 否   | 否   | 无障碍事件类型,不可缺省。         |
418| windowUpdateType | [WindowUpdateType](#windowupdatetype) | 否   | 是   | 窗口变化类型。               |
419| bundleName       | string                                | 否   | 否   | 目标应用名;不可缺省。           |
420| componentType    | string                                | 否   | 是   | 应与事件源组件类型对应,如:按钮Button类型->'Button'、图片Image类型->'Image'。       |
421| pageId           | number                                | 否   | 是   | 事件源的页面ID,默认值为0。            |
422| description      | string                                | 否   | 是   | 事件描述,根据实际场景设置,无特殊限制。        |
423| triggerAction    | [Action](#action)                     | 否   | 否   | 触发事件的Action,不可缺省。    |
424| textMoveUnit     | [TextMoveUnit](#textmoveunit)         | 否   | 是   | 文本移动粒度。      |
425| contents         | Array&lt;string&gt;                   | 否   | 是   | 内容列表,根据实际场景设置,无特殊限制。                 |
426| lastContent      | string                                | 否   | 是   | 最新内容,根据实际场景设置,无特殊限制。                 |
427| beginIndex       | number                                | 否   | 是   | 画面显示条目的开始序号,默认值为0。 |
428| currentIndex     | number                                | 否   | 是   | 当前条目序号,默认值为0。      |
429| endIndex         | number                                | 否   | 是   | 画面显示条目的结束序号,默认值为0。 |
430| itemCount        | number                                | 否   | 是   | 条目总数,默认值为0。        |
431| elementId<sup>12+</sup>        | number                  | 否   | 是   | 组件elementId,默认值为0。        |
432| textAnnouncedForAccessibility<sup>12+</sup>     | string     | 否   | 是   | 主动播报的内容。当应用需要主动播报时,根据实际场景设置播报内容,无特殊限制。 |
433| textResourceAnnouncedForAccessibility<sup>18+</sup>      | Resource   | 否   | 是   | 主动播报的内容支持传入Resource类型,且只能传入string。  |
434| customId<sup>12+</sup>        | string                                | 否   | 是   | 主动聚焦的组件ID。        |
435
436### constructor
437
438constructor(jsonObject: Object)
439
440构造函数。
441
442**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
443
444**参数:**
445
446| 参数名        | 类型     | 必填   | 说明                   |
447| ---------- | ------ | ---- | -------------------- |
448| jsonObject | Object | 是    | 包含 type、bundleName 和 triggerAction 三个字段的 JSON对象,详见示例。 |
449
450**示例:**
451
452  ```ts
453  import { accessibility } from '@kit.AccessibilityKit';
454
455  let eventInfo: accessibility.EventInfo = ({
456    type: 'click',
457    bundleName: 'com.example.MyApplication',
458    triggerAction: 'click',
459  });
460  ```
461
462### constructor<sup>11+</sup>
463
464constructor(type: EventType, bundleName: string, triggerAction: Action)
465
466构造函数。
467
468**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
469
470**参数:**
471
472| 参数名  | 类型                | 必填 | 说明            |
473|------|-------------------|---|---------------|
474| type | [EventType](#eventtype)          | 是 | 无障碍事件类型。      |
475| bundleName | string | 是 | 目标应用名。        |
476| triggerAction | [Action](#action) | 是 | 触发事件的 Action。 |
477
478**示例:**
479
480  ```ts
481  import { accessibility } from '@kit.AccessibilityKit';
482
483  let eventInfo = new accessibility.EventInfo('click', 'com.example.MyApplication', 'click');
484  ```
485
486## EventType
487
488type EventType = 'accessibilityFocus' | 'accessibilityFocusClear' |
489'click' | 'longClick' | 'focus' | 'select' | 'hoverEnter' | 'hoverExit' |
490'textUpdate' | 'textSelectionUpdate' | 'scroll' | 'requestFocusForAccessibility' |
491'announceForAccessibility' | 'requestFocusForAccessibilityNotInterrupt' |
492'announceForAccessibilityNotInterrupt' | 'scrolling'
493
494无障碍事件类型。
495
496**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
497
498| 类型                      | 说明                     |
499| ----------------------- |------------------------|
500| 'accessibilityFocus'      | 表示获得无障碍焦点的事件。          |
501| 'accessibilityFocusClear' | 表示清除无障碍焦点的事件。          |
502| 'click'                   | 表示点击组件的事件。             |
503| 'longClick'               | 表示长按组件的事件。             |
504| 'select'                  | 表示选择组件的事件。    |
505| 'hoverEnter'              | 表示悬停进入组件的事件。  |
506| 'hoverExit'               | 表示悬停离开组件的事件。  |
507| 'focus'                   | 表示组件获得焦点的事件,当前版本暂不支持。  |
508| 'textUpdate'              | 表示组件文本已更改的事件。 |
509| 'textSelectionUpdate'     | 表示选定文本已更改的事件,当前版本暂不支持。 |
510| 'scroll'                  | 表示滚动视图的事件。    |
511| 'requestFocusForAccessibility'     | 表示主动聚焦的事件。 |
512| 'announceForAccessibility'         | 表示主动播报的事件。 |
513| 'requestFocusForAccessibilityNotInterrupt'     | 表示主动聚焦不打断的事件。<br>此事件从API version 18开始支持。 |
514| 'announceForAccessibilityNotInterrupt'         | 表示主动播报不打断的事件。<br>此事件从API version 18开始支持。 |
515| 'scrolling'                  | 表示滚动视图中有item被滚出屏幕的事件。<br>此事件从API version 18开始支持。 |
516
517## TextMoveUnit
518
519type TextMoveUnit = 'char' | 'word' | 'line' | 'page' | 'paragraph'
520
521文本无障碍导航移动粒度。
522
523**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
524
525| 类型        | 说明              |
526| --------- | --------------- |
527| 'char'      | 表示以字符为移动粒度遍历节点文本。 |
528| 'word'      | 表示以词为移动粒度遍历节点文本。  |
529| 'line'      | 表示以行为移动粒度遍历节点文本。  |
530| 'page'      | 表示以页为移动粒度遍历节点文本。  |
531| 'paragraph' | 表示以段落为移动粒度遍历节点文本。 |
532
533## WindowUpdateType
534
535type WindowUpdateType = 'add' | 'remove' | 'bounds' | 'active' | 'focus'
536
537窗口变化类型。
538
539**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
540
541| 类型     | 说明                 |
542| ------ | ------------------ |
543| 'add'    | 表示添加窗口的窗口变化事件,值固定为'add'字符串。       |
544| 'remove' | 表示一个窗口被删除的窗口变化事件,值固定为'remove'字符串。    |
545| 'bounds' | 表示窗口边界已更改的窗口变化事件,值固定为'bounds'字符串。    |
546| 'active' | 表示窗口变为活动或不活动的窗口变化事件,值固定为'active'字符串。 |
547| 'focus'  | 表示窗口焦点发生变化的窗口变化事件,值固定为'focus'字符串。   |
548
549## accessibility.getAbilityLists<sup>(deprecated)</sup>
550
551getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;
552
553查询辅助应用列表,使用Promise异步回调。
554
555> **说明:**
556>
557> 从API version 7开始支持,从API version 9开始废弃。
558> 推荐使用[accessibility.getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9)。
559
560**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
561
562**参数:**
563
564| 参数名         | 类型                            | 必填   | 说明       |
565| ----------- | ----------------------------- | ---- | -------- |
566| abilityType | [AbilityType](#abilitytype)   | 是    | 辅助应用的类型。 |
567| stateType   | [AbilityState](#abilitystate) | 是    | 辅助应用的状态。 |
568
569**返回值:**
570
571| 类型                                       | 说明                    |
572| ---------------------------------------- | --------------------- |
573| Promise&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | Promise对象,返回辅助应用信息列表。 |
574
575**示例:**
576
577```ts
578import { accessibility } from '@kit.AccessibilityKit';
579import { BusinessError } from '@kit.BasicServicesKit';
580
581let abilityType: accessibility.AbilityType = 'spoken';
582let abilityState: accessibility.AbilityState = 'enable';
583
584accessibility.getAbilityLists(abilityType, abilityState).then((data: accessibility.AccessibilityAbilityInfo[]) => {
585  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
586}).catch((err: BusinessError) => {
587  console.error(`failed to get accessibility extension list because ${JSON.stringify(err)}`);
588});
589```
590
591## accessibility.getAbilityLists<sup>(deprecated)</sup>
592
593getAbilityLists(abilityType: AbilityType, stateType: AbilityState,callback: AsyncCallback&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;): void
594
595查询辅助应用列表,使用callback异步回调。
596
597> **说明:**
598>
599> 从API version 7开始支持,从API version 9开始废弃。
600> 推荐使用[accessibility.getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9-1)。
601
602**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
603
604**参数:**
605
606| 参数名         | 类型                                       | 必填   | 说明               |
607| ----------- | ---------------------------------------- | ---- | ---------------- |
608| abilityType | [AbilityType](#abilitytype)              | 是    | 辅助应用的类型。         |
609| stateType   | [AbilityState](#abilitystate)            | 是    | 辅助应用的状态。         |
610| callback    | AsyncCallback&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | 是    | 回调函数,返回辅助应用信息列表。 |
611
612**示例:**
613
614```ts
615import { accessibility } from '@kit.AccessibilityKit';
616import { BusinessError } from '@kit.BasicServicesKit';
617
618let abilityType: accessibility.AbilityType = 'spoken';
619let abilityState: accessibility.AbilityState = 'enable';
620
621accessibility.getAbilityLists(abilityType, abilityState, (err: BusinessError, data: accessibility.AccessibilityAbilityInfo[]) => {
622  if (err) {
623    console.error(`failed to get accessibility extension list because ${JSON.stringify(err)}`);
624    return;
625  }
626  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
627})
628```
629
630## accessibility.getAccessibilityExtensionList<sup>9+</sup>
631
632getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState): Promise&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;
633
634查询辅助应用列表,使用Promise异步回调。
635
636**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
637
638**参数:**
639
640| 参数名         | 类型                            | 必填   | 说明       |
641| ----------- | ----------------------------- | ---- | -------- |
642| abilityType | [AbilityType](#abilitytype)   | 是    | 辅助应用的类型。 |
643| stateType   | [AbilityState](#abilitystate) | 是    | 辅助应用的状态。 |
644
645**返回值:**
646
647| 类型                                       | 说明                    |
648| ---------------------------------------- | --------------------- |
649| Promise&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | Promise对象,返回辅助应用信息列表。 |
650
651**错误码:**
652
653以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
654
655| 错误码ID | 错误信息 |
656| ------- | -------------------------------- |
657| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
658
659**参数示例:**
660| 辅助应用类型 \ 辅助应用状态      | enable       | disable |install|
661| ------- | -------- |----|----|
662| **audible**  | 查询已启用的具有听觉反馈的辅助应用 |查询已禁用的具有听觉反馈的辅助应用|查询已安装的具有听觉反馈的辅助应用|
663|**generic**| 查询已启用的具有通用反馈的辅助应用 |查询已禁用的具有通用反馈的辅助应用|查询已安装的具有通用反馈的辅助应用|
664|**haptic**| 查询已启用的具有触觉反馈的辅助应用 |查询已禁用的具有触觉反馈的辅助应用|查询已安装的具有触觉反馈的辅助应用|
665|**spoken**| 查询已启用的具有语音反馈的辅助应用 |查询已禁用的具有语音反馈的辅助应用|查询已安装的具有语音反馈的辅助应用|
666|**visual**| 查询已启用的具有视觉反馈的辅助应用 |查询已禁用的具有视觉反馈的辅助应用|查询已安装的具有视觉反馈的辅助应用|
667|**all**| 查询所有已启用的辅助应用 |查询所有已禁用的辅助应用|查询所有已安装的辅助应用|
668
669**查询所有已安装的辅助应用示例:**
670```ts
671import { accessibility } from '@kit.AccessibilityKit';
672import { BusinessError } from '@kit.BasicServicesKit';
673
674let abilityType: accessibility.AbilityType = 'all'; // 辅助应用类型为所有类型
675let abilityState: accessibility.AbilityState = 'install'; // 辅助应用状态为已安装
676
677accessibility.getAccessibilityExtensionList(abilityType, abilityState).then((data: accessibility.AccessibilityAbilityInfo[]) => {
678  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
679}).catch((err: BusinessError) => {
680  console.error(`failed to get accessibility extension list, Code is ${err.code}, message is ${err.message}`);
681});
682
683// 例如:系统内安装一个包名为com.example.myaccessibilityapp的辅助应用
684// 日志打印结果为:
685// [{"id":"com.example.myaccessibilityapp/AccessibilityExtAbility","name":"AccessibilityExtAbility",
686// "bundleName":"com.example.myaccessibilityapp","abilityTypes":[],
687// "capabilities":["retrieve","gesture"],"description":"$string:MainAbility_desc",
688// "eventTypes":["click","longClick","select","focus","textUpdate","hoverEnter","hoverExit","scroll",
689// "textSelectionUpdate","accessibilityFocus","accessibilityFocusClear","requestFocusForAccessibility",
690// "announceForAccessibility","announceForAccessibilityNotInterrupt",
691// "requestFocusForAccessibilityNotInterrupt","scrolling"],"targetBundleNames":[],"needHide":false}}]
692```
693
694**查询所有已启用的具有语音反馈的辅助应用示例:**
695```ts
696import { accessibility } from '@kit.AccessibilityKit';
697import { BusinessError } from '@kit.BasicServicesKit';
698
699let abilityType: accessibility.AbilityType = 'spoken'; // 辅助应用类型为具有语音反馈类型
700let abilityState: accessibility.AbilityState = 'enable'; // 辅助应用状态为已启用
701
702accessibility.getAccessibilityExtensionList(abilityType, abilityState).then((data: accessibility.AccessibilityAbilityInfo[]) => {
703  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
704}).catch((err: BusinessError) => {
705  console.error(`failed to get accessibility extension list, Code is ${err.code}, message is ${err.message}`);
706});
707```
708
709## accessibility.getAccessibilityExtensionList<sup>9+</sup>
710
711getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState, callback: AsyncCallback&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;): void
712
713查询辅助应用列表,使用callback异步回调。
714
715**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
716
717**参数:**
718
719| 参数名         | 类型                                       | 必填   | 说明               |
720| ----------- | ---------------------------------------- | ---- | ---------------- |
721| abilityType | [AbilityType](#abilitytype)              | 是    | 辅助应用的类型。         |
722| stateType   | [AbilityState](#abilitystate)            | 是    | 辅助应用的状态。         |
723| callback    | AsyncCallback&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | 是    | 回调函数,返回辅助应用信息列表。 |
724
725**错误码:**
726
727以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
728
729| 错误码ID | 错误信息 |
730| ------- | -------------------------------- |
731| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
732
733**参数示例:**
734| 辅助应用类型 \ 辅助应用状态      | enable       | disable |install|
735| ------- | -------- |----|----|
736| **audible**  | 查询已启用的具有听觉反馈的辅助应用 |查询已禁用的具有听觉反馈的辅助应用|查询已安装的具有听觉反馈的辅助应用|
737|**generic**| 查询已启用的具有通用反馈的辅助应用 |查询已禁用的具有通用反馈的辅助应用|查询已安装的具有通用反馈的辅助应用|
738|**haptic**| 查询已启用的具有触觉反馈的辅助应用 |查询已禁用的具有触觉反馈的辅助应用|查询已安装的具有触觉反馈的辅助应用|
739|**spoken**| 查询已启用的具有语音反馈的辅助应用 |查询已禁用的具有语音反馈的辅助应用|查询已安装的具有语音反馈的辅助应用|
740|**visual**| 查询已启用的具有视觉反馈的辅助应用 |查询已禁用的具有视觉反馈的辅助应用|查询已安装的具有视觉反馈的辅助应用|
741|**all**| 查询所有已启用的辅助应用 |查询所有已禁用的辅助应用|查询所有已安装的辅助应用|
742
743**查询所有已安装的辅助应用示例:**
744
745```ts
746import { accessibility } from '@kit.AccessibilityKit';
747import { BusinessError } from '@kit.BasicServicesKit';
748
749let abilityType: accessibility.AbilityType = 'all'; // 辅助应用类型为所有类型
750let abilityState: accessibility.AbilityState = 'install'; // 辅助应用状态为已安装
751
752accessibility.getAccessibilityExtensionList(abilityType, abilityState,(err: BusinessError, data: accessibility.AccessibilityAbilityInfo[]) => {
753  if (err) {
754    console.error(`failed to get accessibility extension list, Code is ${err.code}, message is ${err.message}`);
755    return;
756  }
757  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
758});
759
760// 例如:系统内安装一个包名为com.example.myaccessibilityapp的辅助应用
761// 日志打印结果为:
762// [{"id":"com.example.myaccessibilityapp/AccessibilityExtAbility","name":"AccessibilityExtAbility",
763// "bundleName":"com.example.myaccessibilityapp","abilityTypes":[],
764// "capabilities":["retrieve","gesture"],"description":"$string:MainAbility_desc",
765// "eventTypes":["click","longClick","select","focus","textUpdate","hoverEnter","hoverExit","scroll",
766// "textSelectionUpdate","accessibilityFocus","accessibilityFocusClear","requestFocusForAccessibility",
767// "announceForAccessibility","announceForAccessibilityNotInterrupt",
768// "requestFocusForAccessibilityNotInterrupt","scrolling"],"targetBundleNames":[],"needHide":false}}]
769```
770
771**查询所有已启用的具有语音反馈的辅助应用示例:**
772
773```ts
774import { accessibility } from '@kit.AccessibilityKit';
775import { BusinessError } from '@kit.BasicServicesKit';
776
777let abilityType: accessibility.AbilityType = 'spoken'; // 辅助应用类型为具有语音反馈类型
778let abilityState: accessibility.AbilityState = 'enable'; // 辅助应用状态为已启用
779
780accessibility.getAccessibilityExtensionList(abilityType, abilityState,(err: BusinessError, data: accessibility.AccessibilityAbilityInfo[]) => {
781  if (err) {
782    console.error(`failed to get accessibility extension list, Code is ${err.code}, message is ${err.message}`);
783    return;
784  }
785  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
786});
787```
788
789## accessibility.getAccessibilityExtensionListSync<sup>12+</sup>
790
791getAccessibilityExtensionListSync(abilityType: AbilityType, stateType: AbilityState): Array&lt;AccessibilityAbilityInfo&gt;
792
793查询当前系统内辅助应用列表,支持按条件查询。
794
795**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
796
797**参数:**
798
799| 参数名         | 类型                            | 必填   | 说明       |
800| ----------- | ----------------------------- | ---- | -------- |
801| abilityType | [AbilityType](#abilitytype)   | 是    | 辅助应用的类型。 |
802| stateType   | [AbilityState](#abilitystate) | 是    | 辅助应用的状态。 |
803
804**返回值:**
805
806| 类型                                       | 说明                    |
807| ---------------------------------------- | --------------------- |
808| Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt; | 返回辅助应用信息列表。 |
809
810**参数示例:**
811| 辅助应用类型 \ 辅助应用状态      | enable       | disable |install|
812| ------- | -------- |----|----|
813| **audible**  | 查询已启用的具有听觉反馈的辅助应用 |查询已禁用的具有听觉反馈的辅助应用|查询已安装的具有听觉反馈的辅助应用|
814|**generic**| 查询已启用的具有通用反馈的辅助应用 |查询已禁用的具有通用反馈的辅助应用|查询已安装的具有通用反馈的辅助应用|
815|**haptic**| 查询已启用的具有触觉反馈的辅助应用 |查询已禁用的具有触觉反馈的辅助应用|查询已安装的具有触觉反馈的辅助应用|
816|**spoken**| 查询已启用的具有语音反馈的辅助应用 |查询已禁用的具有语音反馈的辅助应用|查询已安装的具有语音反馈的辅助应用|
817|**visual**| 查询已启用的具有视觉反馈的辅助应用 |查询已禁用的具有视觉反馈的辅助应用|查询已安装的具有视觉反馈的辅助应用|
818|**all**| 查询所有已启用的辅助应用 |查询所有已禁用的辅助应用|查询所有已安装的辅助应用|
819
820**查询所有已安装的辅助应用示例:**
821
822```ts
823import { accessibility } from '@kit.AccessibilityKit';
824import { BusinessError } from '@kit.BasicServicesKit';
825
826let abilityType: accessibility.AbilityType = 'all'; // 辅助应用类型为所有类型
827let abilityState: accessibility.AbilityState = 'install'; // 辅助应用状态为已安装
828let data: accessibility.AccessibilityAbilityInfo[];
829
830try {
831  data = accessibility.getAccessibilityExtensionListSync(abilityType, abilityState);
832  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
833} catch (error) {
834  let err = error as BusinessError;
835  console.error(`error code: ${err.code}`);
836}
837
838// 例如:系统内安装一个包名为com.example.myaccessibilityapp的辅助应用
839// 日志打印结果为:
840// [{"id":"com.example.myaccessibilityapp/AccessibilityExtAbility","name":"AccessibilityExtAbility",
841// "bundleName":"com.example.myaccessibilityapp","abilityTypes":[],
842// "capabilities":["retrieve","gesture"],"description":"$string:MainAbility_desc",
843// "eventTypes":["click","longClick","select","focus","textUpdate","hoverEnter","hoverExit","scroll",
844// "textSelectionUpdate","accessibilityFocus","accessibilityFocusClear","requestFocusForAccessibility",
845// "announceForAccessibility","announceForAccessibilityNotInterrupt",
846// "requestFocusForAccessibilityNotInterrupt","scrolling"],"targetBundleNames":[],"needHide":false}}]
847```
848
849**查询所有已启用的具有语音反馈的辅助应用示例:**
850
851```ts
852import { accessibility } from '@kit.AccessibilityKit';
853import { BusinessError } from '@kit.BasicServicesKit';
854
855let abilityType: accessibility.AbilityType = 'spoken'; // 辅助应用类型为具有语音反馈类型
856let abilityState: accessibility.AbilityState = 'enable'; // 辅助应用状态为已启用
857let data: accessibility.AccessibilityAbilityInfo[];
858
859try {
860  data = accessibility.getAccessibilityExtensionListSync(abilityType, abilityState);
861  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
862} catch (error) {
863  let err = error as BusinessError;
864  console.error(`error code: ${err.code}`);
865}
866```
867
868<!--RP1-->
869<!--RP1End-->
870
871## accessibility.getCaptionsManager<sup>(deprecated)</sup>
872
873getCaptionsManager(): CaptionsManager
874
875获取无障碍字幕配置管理实例。
876
877> **说明:**
878>
879> 从API version 12开始废弃。系统不再开放相关功能。
880
881**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
882
883**返回值:**
884
885| 类型                                   | 说明         |
886| ------------------------------------ | ---------- |
887| [CaptionsManager](#captionsmanager8) | 无障碍字幕配置管理。 |
888
889**示例:**
890
891```ts
892import { accessibility } from '@kit.AccessibilityKit';
893
894let captionsManager = accessibility.getCaptionsManager();
895```
896
897## accessibility.on('accessibilityStateChange')
898
899on(type: 'accessibilityStateChange', callback: Callback&lt;boolean&gt;): void
900
901监听辅助应用启用状态变化事件,使用callback异步回调。如需获取系统内辅助应用信息,推荐使用[accessibility.getAccessibilityExtensionListSync](#accessibilitygetaccessibilityextensionlistsync12)。
902
903**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
904
905**参数:**
906
907| 参数名   | 类型                    | 必填 | 说明                                                         |
908| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
909| type     | string                  | 是   | 监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 |
910| callback | Callback&lt;boolean&gt; | 是   | 回调函数,在辅助应用启用状态变化时将状态通过此函数进行通知。此状态为全局辅助应用启用状态。 |
911
912**错误码:**
913
914以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
915
916| 错误码ID | 错误信息 |
917| ------- | -------------------------------- |
918| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
919
920**示例:**
921
922```ts
923import { accessibility } from '@kit.AccessibilityKit';
924
925// 系统内已安装一个或多个辅助应用时:
926// 1. 启用辅助应用场景:第一个辅助应用启用后,回调函数会返回true
927// 2. 禁用辅助应用场景:若一个或多个辅助应用已启用,最后一个已启用的辅助应用被禁用时,回调函数会返回false
928accessibility.on('accessibilityStateChange', (data: boolean) => {
929  console.info(`subscribe accessibility state change, result: ${JSON.stringify(data)}`);
930});
931```
932
933<!--RP2-->
934<!--RP2End-->
935
936## accessibility.on('touchGuideStateChange')
937
938on(type: 'touchGuideStateChange', callback: Callback&lt;boolean&gt;): void
939
940监听触摸浏览功能启用状态变化事件,使用callback异步回调。如需获取系统内辅助应用信息,推荐使用[accessibility.getAccessibilityExtensionListSync](#accessibilitygetaccessibilityextensionlistsync12)。
941
942**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision
943
944**参数:**
945
946| 参数名      | 类型                      | 必填   | 说明                                       |
947| -------- | ----------------------- | ---- | ---------------------------------------- |
948| type     | string                  | 是    | 监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 |
949| callback | Callback&lt;boolean&gt; | 是    | 回调函数,在触摸浏览启用状态变化时将状态通过此函数进行通知。           |
950
951**错误码:**
952
953以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
954
955| 错误码ID | 错误信息 |
956| ------- | -------------------------------- |
957| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
958
959**示例:**
960
961```ts
962import { accessibility } from '@kit.AccessibilityKit';
963
964// 系统内已安装一个或多个具备触摸浏览能力的辅助应用(Capability配置中含有'touchGuide'的辅助应用)时:
965// 1. 启用触摸浏览辅助应用场景:第一个触摸浏览辅助应用启用后,回调函数会返回true
966// 2. 禁用触摸浏览辅助应用场景:若一个或多个触摸浏览辅助应用已启用,最后一个已启用的触摸浏览辅助应用被禁用时,回调函数会返回false
967accessibility.on('touchGuideStateChange', (data: boolean) => {
968  console.info(`subscribe touch guide state change, result: ${JSON.stringify(data)}`);
969});
970```
971
972## accessibility.on('screenReaderStateChange')<sup>18+</sup>
973
974on(type: 'screenReaderStateChange', callback: Callback&lt;boolean&gt;): void
975
976监听屏幕朗读功能启用状态变化事件,使用callback异步回调。
977
978**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
979
980**参数:**
981
982| 参数名      | 类型                      | 必填   | 说明                                       |
983| -------- | ----------------------- | ---- | ---------------------------------------- |
984| type     | string                  | 是    | 监听的事件名,固定为‘screenReaderStateChange’,即屏幕朗读启用状态变化事件。 |
985| callback | Callback&lt;boolean&gt; | 是    | 回调函数,在屏幕朗读启用状态变化时将状态通过此函数进行通知。           |
986
987**错误码:**
988
989以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
990
991| 错误码ID | 错误信息 |
992| ------- | -------------------------------- |
993| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
994
995**示例:**
996
997```ts
998import { accessibility } from '@kit.AccessibilityKit';
999
1000accessibility.on('screenReaderStateChange', (data: boolean) => {
1001  console.info(`subscribe screen reader state change, result: ${JSON.stringify(data)}`);
1002});
1003```
1004
1005## accessibility.on('touchModeChange')<sup>20+</sup>
1006
1007on(type: 'touchModeChange', callback: Callback&lt;string&gt;): void
1008
1009监听触摸浏览功能下的单击/双击操作模式变化事件,使用callback异步回调。
1010
1011**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1012
1013**参数:**
1014
1015| 参数名      | 类型                      | 必填   | 说明                                       |
1016| -------- | ----------------------- | ---- | ---------------------------------------- |
1017| type     | string                  | 是    | 监听的事件名,固定为‘touchModeChange’,即触摸浏览功能下的单击/双击操作模式变化事件。 |
1018| callback | Callback&lt;string&gt; | 是    | 回调函数,在触摸浏览功能下的单击/双击操作模式变化时将状态通过此函数进行通知。           |
1019
1020**错误码:**
1021
1022以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1023
1024| 错误码ID | 错误信息 |
1025| ------- | -------------------------------- |
1026| 401  | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1027
1028**示例:**
1029
1030```ts
1031import { accessibility } from '@kit.AccessibilityKit';
1032
1033@Entry
1034@Component
1035struct Index {
1036  callback: (mode: string) => void = this.eventCallback;
1037  eventCallback(mode: string): void {
1038    console.info(`current touch mode: ${JSON.stringify(mode)}`);
1039  }
1040
1041  aboutToAppear(): void {
1042    accessibility.on('touchModeChange', this.callback);
1043  }
1044
1045  build() {
1046    Column() {
1047    }
1048  }
1049}
1050```
1051
1052## accessibility.off('accessibilityStateChange')
1053
1054off(type: 'accessibilityStateChange', callback?: Callback&lt;boolean&gt;): void
1055
1056取消监听辅助应用启用状态变化事件,使用callback异步回调。
1057
1058**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1059
1060**参数:**
1061
1062| 参数名   | 类型                    | 必填 | 说明                                                         |
1063| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
1064| type     | string                  | 是   | 取消监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 |
1065| callback | Callback&lt;boolean&gt; | 否   | 回调函数,取消指定callback对象的事件响应。需与accessibility.on('accessibilityStateChange')的callback一致。缺省时,表示注销所有已注册事件。 |
1066
1067**错误码:**
1068
1069以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1070
1071| 错误码ID | 错误信息 |
1072| ------- | -------------------------------- |
1073| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1074
1075**示例:**
1076
1077```ts
1078import { accessibility } from '@kit.AccessibilityKit';
1079
1080accessibility.off('accessibilityStateChange', (data: boolean) => {
1081  console.info(`Unsubscribe accessibility state change, result: ${JSON.stringify(data)}`);
1082});
1083```
1084
1085## accessibility.off('touchGuideStateChange')
1086
1087off(type: 'touchGuideStateChange', callback?: Callback&lt;boolean&gt;): void
1088
1089取消监听触摸浏览启用状态变化事件,使用callback异步回调。
1090
1091**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1092
1093**参数:**
1094
1095| 参数名   | 类型                    | 必填 | 说明                                                         |
1096| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
1097| type     | string                  | 是   | 取消监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 |
1098| callback | Callback&lt;boolean&gt; | 否   | 回调函数,取消指定callback对象的事件响应。需与accessibility.on('touchGuideStateChange')的callback一致。缺省时,表示注销所有已注册事件。 |
1099
1100**错误码:**
1101
1102以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1103
1104| 错误码ID | 错误信息 |
1105| ------- | -------------------------------- |
1106| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1107
1108**示例:**
1109
1110```ts
1111import { accessibility } from '@kit.AccessibilityKit';
1112
1113accessibility.off('touchGuideStateChange', (data: boolean) => {
1114  console.info(`Unsubscribe touch guide state change, result: ${JSON.stringify(data)}`);
1115});
1116```
1117
1118## accessibility.off('screenReaderStateChange')<sup>18+</sup>
1119
1120off(type: 'screenReaderStateChange', callback?: Callback&lt;boolean&gt;): void
1121
1122取消监听屏幕朗读启用状态变化事件,使用callback异步回调。
1123
1124**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1125
1126**参数:**
1127
1128| 参数名   | 类型                    | 必填 | 说明                                                         |
1129| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
1130| type     | string                  | 是   | 取消监听的事件名,固定为‘screenReaderStateChange’,即屏幕朗读启用状态变化事件。 |
1131| callback | Callback&lt;boolean&gt; | 否   | 回调函数,取消指定callback对象的事件响应。需与accessibility.on('screenReaderStateChange')的callback一致。缺省时,表示注销所有已注册事件。 |
1132
1133**错误码:**
1134
1135以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1136
1137| 错误码ID | 错误信息 |
1138| ------- | -------------------------------- |
1139| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1140
1141**示例:**
1142
1143```ts
1144import { accessibility } from '@kit.AccessibilityKit';
1145
1146accessibility.off('screenReaderStateChange', (data: boolean) => {
1147  console.info(`Unsubscribe screen reader state change, result: ${JSON.stringify(data)}`);
1148});
1149```
1150
1151## accessibility.off('touchModeChange')<sup>20+</sup>
1152
1153off(type: 'touchModeChange', callback?: Callback&lt;string&gt;): void
1154
1155取消监听触摸浏览功能下的单击/双击操作模式变化事件,使用callback异步回调。
1156
1157**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1158
1159**参数:**
1160
1161| 参数名   | 类型                    | 必填 | 说明                                                         |
1162| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
1163| type     | string                  | 是   | 取消监听的事件名,固定为‘touchModeChange’,即触摸浏览功能下的单击/双击操作模式变化事件。 |
1164| callback | Callback&lt;string&gt; | 否   | 回调函数,取消指定callback对象的事件响应。需与[accessibility.on('touchModeChange')](#accessibilityontouchmodechange20)的callback一致。缺省时,表示注销所有已注册事件。 |
1165
1166**错误码:**
1167
1168以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1169
1170| 错误码ID | 错误信息 |
1171| ------- | -------------------------------- |
1172| 401  | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1173
1174**示例:**
1175
1176```ts
1177import { accessibility } from '@kit.AccessibilityKit';
1178
1179@Entry
1180@Component
1181struct Index {
1182  callback: (mode: string) => void = this.eventCallback;
1183  eventCallback(mode: string): void {
1184    console.info(`current touch mode: ${JSON.stringify(mode)}`);
1185  }
1186
1187  aboutToAppear(): void {
1188    accessibility.on('touchModeChange', this.callback);
1189  }
1190
1191  aboutToDisappear(): void {
1192    accessibility.off('touchModeChange', this.callback);
1193  }
1194
1195  build() {
1196    Column() {
1197    }
1198  }
1199}
1200```
1201
1202## accessibility.isOpenAccessibility<sup>(deprecated)</sup>
1203
1204isOpenAccessibility(): Promise&lt;boolean&gt;
1205
1206判断是否启用了辅助应用,使用Promise异步回调。
1207
1208> **说明:**
1209>
1210> 从API version 10开始废弃。
1211>
1212> 推荐使用[accessibility.isOpenAccessibilitySync](#accessibilityisopenaccessibilitysync10)。
1213
1214**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1215
1216**返回值:**
1217
1218| 类型                     | 说明                                       |
1219| ---------------------- | ---------------------------------------- |
1220| Promise&lt;boolean&gt; | Promise对象,如果辅助应用已启用,则返回 true;否则返回 false。 |
1221
1222**示例:**
1223
1224```ts
1225import { accessibility } from '@kit.AccessibilityKit';
1226import { BusinessError } from '@kit.BasicServicesKit';
1227
1228accessibility.isOpenAccessibility().then((data: boolean) => {
1229  console.info(`success data:isOpenAccessibility : ${JSON.stringify(data)}`)
1230}).catch((err: BusinessError) => {
1231  console.error(`failed to  isOpenAccessibility, Code is ${err.code}, message is ${err.message}`);
1232});
1233```
1234
1235## accessibility.isOpenAccessibility<sup>(deprecated)</sup>
1236
1237isOpenAccessibility(callback: AsyncCallback&lt;boolean&gt;): void
1238
1239判断是否启用了辅助应用,使用callback异步回调。
1240
1241> **说明:**
1242>
1243> 从API version 10开始废弃。
1244>
1245> 推荐使用[accessibility.isOpenAccessibilitySync](#accessibilityisopenaccessibilitysync10)。
1246
1247**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1248
1249**参数:**
1250
1251| 参数名      | 类型                           | 必填   | 说明                                  |
1252| -------- | ---------------------------- | ---- | ----------------------------------- |
1253| callback | AsyncCallback&lt;boolean&gt; | 是    | 回调函数,如果辅助应用已启用,则返回 true;否则返回 false。 |
1254
1255**示例:**
1256
1257```ts
1258import { accessibility } from '@kit.AccessibilityKit';
1259import { BusinessError } from '@kit.BasicServicesKit';
1260
1261accessibility.isOpenAccessibility((err: BusinessError, data: boolean) => {
1262  if (err) {
1263    console.error(`failed to isOpenAccessibility, Code is ${err.code}, message is ${err.message}`);
1264    return;
1265  }
1266  console.info(`success data:isOpenAccessibility : ${JSON.stringify(data)}`);
1267});
1268```
1269
1270## accessibility.isOpenAccessibilitySync<sup>10+</sup>
1271
1272isOpenAccessibilitySync(): boolean
1273
1274查询当前系统内是否存在已开启的辅助应用。如需获取系统内辅助应用信息,推荐使用[accessibility.getAccessibilityExtensionListSync](#accessibilitygetaccessibilityextensionlistsync12)。
1275
1276**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
1277
1278**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1279
1280**返回值:**
1281
1282| 类型        | 说明                                  |
1283| ----------- | ------------------------------------- |
1284| boolean | 表示当前系统内是否有辅助应用开启。true表示启用了一个或多个辅助应用,false表示未启用任何辅助应用。<!--RP3--><!--RP3End--> |
1285
1286**示例:**
1287
1288```ts
1289import { accessibility } from '@kit.AccessibilityKit';
1290import { BusinessError } from '@kit.BasicServicesKit';
1291
1292// 1、系统内已安装多个辅助应用,若都没有开启,返回false
1293// 2、系统内已安装多个辅助应用,若开启任意一个,返回true
1294let status: boolean = accessibility.isOpenAccessibilitySync();
1295```
1296
1297## accessibility.isOpenTouchGuide<sup>(deprecated)</sup>
1298
1299isOpenTouchGuide(): Promise&lt;boolean&gt;
1300
1301判断触摸浏览模式是否开启,使用Promise异步回调。
1302
1303> **说明:**
1304>
1305> 从API version 10开始废弃。
1306>
1307> 推荐使用[accessibility.isOpenTouchGuideSync](#accessibilityisopentouchguidesync10)。
1308
1309**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision
1310
1311**返回值:**
1312
1313| 类型                     | 说明                                       |
1314| ---------------------- | ---------------------------------------- |
1315| Promise&lt;boolean&gt; | Promise对象,如果触摸浏览模式已开启,则返回 true;否则返回 false。 |
1316
1317**示例:**
1318
1319```ts
1320import { accessibility } from '@kit.AccessibilityKit';
1321import { BusinessError } from '@kit.BasicServicesKit';
1322
1323accessibility.isOpenTouchGuide().then((data: boolean) => {
1324  console.info(`success data:isOpenTouchGuide : ${JSON.stringify(data)}`);
1325}).catch((err: BusinessError) => {
1326  console.error(`failed to  isOpenTouchGuide, Code is ${err.code}, message is ${err.message}`);
1327});
1328```
1329
1330## accessibility.isOpenTouchGuide<sup>(deprecated)</sup>
1331
1332isOpenTouchGuide(callback: AsyncCallback&lt;boolean&gt;): void
1333
1334判断触摸浏览模式是否开启,使用callback异步回调。
1335
1336> **说明:**
1337>
1338> 从API version 10开始废弃。
1339>
1340> 推荐使用[accessibility.isOpenTouchGuideSync](#accessibilityisopentouchguidesync10)。
1341
1342**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision
1343
1344**参数:**
1345
1346| 参数名      | 类型                           | 必填   | 说明                                    |
1347| -------- | ---------------------------- | ---- | ------------------------------------- |
1348| callback | AsyncCallback&lt;boolean&gt; | 是    | 回调函数,如果触摸浏览模式已开启,则返回 true;否则返回 false。 |
1349
1350**示例:**
1351
1352```ts
1353import { accessibility } from '@kit.AccessibilityKit';
1354import { BusinessError } from '@kit.BasicServicesKit';
1355
1356accessibility.isOpenTouchGuide((err: BusinessError, data: boolean) => {
1357  if (err) {
1358    console.error(`failed to isOpenTouchGuide, Code is ${err.code}, message is ${err.message}`);
1359    return;
1360  }
1361  console.info(`success data:isOpenTouchGuide : ${JSON.stringify(data)}`);
1362});
1363```
1364
1365## accessibility.isOpenTouchGuideSync<sup>10+</sup>
1366
1367isOpenTouchGuideSync(): boolean
1368
1369是否开启了触摸浏览模式。
1370
1371**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
1372
1373**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision
1374
1375**返回值:**
1376
1377| 类型    | 说明                                  |
1378| ------- | ------------------------------------- |
1379| boolean | 表示是否开启了触摸浏览模式。true表示开启了触摸浏览,false表示未开启触摸浏览。|
1380
1381**示例:**
1382
1383```ts
1384import { accessibility } from '@kit.AccessibilityKit';
1385
1386let status: boolean = accessibility.isOpenTouchGuideSync();
1387```
1388
1389## accessibility.isScreenReaderOpenSync<sup>18+</sup>
1390
1391isScreenReaderOpenSync(): boolean
1392
1393是否开启了屏幕朗读模式。
1394
1395**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision
1396
1397**返回值:**
1398
1399| 类型    | 说明                                  |
1400| ------- | ------------------------------------- |
1401| boolean | 表示是否开启了屏幕朗读。true表示开启了屏幕朗读,false表示未开启屏幕朗读。 |
1402
1403**示例:**
1404
1405```ts
1406import { accessibility } from '@kit.AccessibilityKit';
1407
1408let status: boolean = accessibility.isScreenReaderOpenSync();
1409```
1410
1411## accessibility.sendEvent<sup>(deprecated)</sup>
1412
1413sendEvent(event: EventInfo): Promise&lt;void&gt;
1414
1415发送无障碍事件,使用Promise异步回调。
1416
1417> **说明:**
1418>
1419> 从API version 7开始支持,从API version 9开始废弃。
1420> 推荐使用[accessibility.sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9)。
1421
1422**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1423
1424**参数:**
1425
1426| 参数名   | 类型                      | 必填   | 说明       |
1427| ----- | ----------------------- | ---- | -------- |
1428| event | [EventInfo](#eventinfo) | 是    | 无障碍事件对象。 |
1429
1430**返回值:**
1431
1432| 类型                  | 说明               |
1433| ------------------- | ---------------- |
1434| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1435
1436**示例:**
1437
1438```ts
1439import { accessibility } from '@kit.AccessibilityKit';
1440import { BusinessError } from '@kit.BasicServicesKit';
1441
1442let eventInfo: accessibility.EventInfo = ({
1443  type: 'click',
1444  bundleName: 'com.example.MyApplication',
1445  triggerAction: 'click',
1446});
1447
1448accessibility.sendEvent(eventInfo).then(() => {
1449  console.info(`Succeeded in send event,eventInfo is ${eventInfo}`);
1450}).catch((err: BusinessError) => {
1451  console.error(`failed to sendEvent, Code is ${err.code}, message is ${err.message}`);
1452});
1453```
1454
1455## accessibility.sendEvent<sup>(deprecated)</sup>
1456
1457sendEvent(event: EventInfo, callback: AsyncCallback&lt;void&gt;): void
1458
1459发送无障碍事件,使用callback异步回调。
1460
1461> **说明:**
1462>
1463> 从API version 7开始支持,从API version 9开始废弃。
1464> 推荐使用[accessibility.sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9-1)。
1465
1466**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1467
1468**参数:**
1469
1470| 参数名      | 类型                        | 必填   | 说明                                       |
1471| -------- | ------------------------- | ---- | ---------------------------------------- |
1472| event    | [EventInfo](#eventinfo)   | 是    | 辅助事件对象。                                  |
1473| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 |
1474
1475**示例:**
1476
1477```ts
1478import { accessibility } from '@kit.AccessibilityKit';
1479import { BusinessError } from '@kit.BasicServicesKit';
1480
1481let eventInfo: accessibility.EventInfo = ({
1482  type: 'click',
1483  bundleName: 'com.example.MyApplication',
1484  triggerAction: 'click',
1485});
1486
1487accessibility.sendEvent(eventInfo, (err: BusinessError) => {
1488  if (err) {
1489    console.error(`failed to sendEvent, Code is ${err.code}, message is ${err.message}`);
1490    return;
1491  }
1492  console.info(`Succeeded in sendEvent, eventInfo is ${eventInfo}`);
1493});
1494```
1495
1496## accessibility.sendAccessibilityEvent<sup>9+</sup>
1497
1498sendAccessibilityEvent(event: EventInfo): Promise&lt;void&gt;
1499
1500发送无障碍事件,使用Promise异步回调。
1501
1502**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1503
1504**参数:**
1505
1506| 参数名   | 类型                      | 必填   | 说明       |
1507| ----- | ----------------------- | ---- | -------- |
1508| event | [EventInfo](#eventinfo) | 是    | 无障碍事件对象。 |
1509
1510**返回值:**
1511
1512| 类型                  | 说明               |
1513| ------------------- | ---------------- |
1514| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1515
1516**错误码:**
1517
1518以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1519
1520| 错误码ID | 错误信息 |
1521| ------- | -------------------------------- |
1522| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1523
1524**示例:**
1525
1526```ts
1527import { accessibility } from '@kit.AccessibilityKit';
1528import { BusinessError } from '@kit.BasicServicesKit';
1529
1530let eventInfo: accessibility.EventInfo = ({
1531  type: 'click',
1532  bundleName: 'com.example.MyApplication',
1533  triggerAction: 'click',
1534});
1535
1536accessibility.sendAccessibilityEvent(eventInfo).then(() => {
1537  console.info(`Succeeded in send event,eventInfo is ${eventInfo}`);
1538}).catch((err: BusinessError) => {
1539  console.error(`failed to send event , Code is ${err.code}, message is ${err.message}`);
1540});
1541```
1542
1543## accessibility.sendAccessibilityEvent<sup>9+</sup>
1544
1545sendAccessibilityEvent(event: EventInfo, callback: AsyncCallback&lt;void&gt;): void
1546
1547发送无障碍事件,使用callback异步回调。
1548
1549**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1550
1551**参数:**
1552
1553| 参数名      | 类型                        | 必填   | 说明                                       |
1554| -------- | ------------------------- | ---- | ---------------------------------------- |
1555| event    | [EventInfo](#eventinfo)   | 是    | 辅助事件对象。                                  |
1556| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 |
1557
1558**错误码:**
1559
1560以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1561
1562| 错误码ID | 错误信息 |
1563| ------- | -------------------------------- |
1564| 401  |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1565
1566**示例:**
1567
1568```ts
1569import { accessibility } from '@kit.AccessibilityKit';
1570import { BusinessError } from '@kit.BasicServicesKit';
1571
1572let eventInfo: accessibility.EventInfo = ({
1573  type: 'click',
1574  bundleName: 'com.example.MyApplication',
1575  triggerAction: 'click',
1576});
1577
1578accessibility.sendAccessibilityEvent(eventInfo, (err: BusinessError) => {
1579  if (err) {
1580    console.error(`failed to send event, Code is ${err.code}, message is ${err.message}`);
1581    return;
1582  }
1583  console.info(`Succeeded in send event, eventInfo is ${eventInfo}`);
1584});
1585```
1586
1587**主动聚焦示例:**
1588
1589```ts
1590@Entry
1591@Component
1592struct Index {
1593
1594  build() {
1595    Column() {
1596      // 待聚焦组件添加id属性,id唯一性由使用者保证
1597      Button('待聚焦组件').id('click')
1598    }
1599  }
1600}
1601```
1602```ts
1603import { accessibility } from '@kit.AccessibilityKit';
1604import { BusinessError } from '@kit.BasicServicesKit';
1605
1606let eventInfo: accessibility.EventInfo = ({
1607  type: 'requestFocusForAccessibility',
1608  bundleName: 'com.example.MyApplication',
1609  triggerAction: 'common',
1610  customId: 'click' // 对应待聚焦组件id属性值
1611});
1612
1613accessibility.sendAccessibilityEvent(eventInfo, (err: BusinessError) => {
1614  if (err) {
1615    console.error(`failed to send event, Code is ${err.code}, message is ${err.message}`);
1616    return;
1617  }
1618  console.info(`Succeeded in send event, eventInfo is ${eventInfo}`);
1619});
1620```
1621
1622**主动播报支持Resource示例<sup>18+</sup>:**
1623
1624```ts
1625import { accessibility } from '@kit.AccessibilityKit';
1626import { BusinessError } from '@kit.BasicServicesKit';
1627
1628let eventInfo: accessibility.EventInfo = ({
1629  type: 'announceForAccessibility',
1630  bundleName: 'com.example.MyApplication',
1631  triggerAction: 'common',
1632  textResourceAnnouncedForAccessibility: $r('app.string.ResourceName'),
1633});
1634
1635accessibility.sendAccessibilityEvent(eventInfo, (err: BusinessError) => {
1636  if (err) {
1637    console.error(`failed to send event, Code is ${err.code}, message is ${err.message}`);
1638    return;
1639  }
1640  console.info(`Succeeded in send event, eventInfo is ${eventInfo}`);
1641});
1642```
1643
1644## accessibility.getTouchModeSync<sup>20+</sup>
1645
1646getTouchModeSync(): string
1647
1648查询触摸浏览功能下的单击/双击操作模式。
1649
1650**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
1651
1652**返回值:**
1653
1654| 类型        | 说明                                  |
1655| ----------- | ------------------------------------- |
1656| string | 表示当前操作模式。<br>- singleTouchMode:表示单击操作模式。<br>- doubleTouchMode:表示双击操作模式。<br>- none:表示未开启触摸浏览功能。 |
1657
1658```ts
1659import { accessibility } from '@kit.AccessibilityKit';
1660
1661@Entry
1662@Component
1663struct Index {
1664  aboutToAppear(): void {
1665    let touchMode: string = accessibility.getTouchModeSync();
1666    console.info(`current touch mode: ${JSON.stringify(touchMode)}`);
1667  }
1668
1669  build() {
1670    Column() {
1671    }
1672  }
1673}
1674```