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