js-apis-accessibility.md 30.6 KB
Newer Older
L
laiguizhong 已提交
1 2
# 辅助功能

3 4
本模块提供辅助功能查询能力,包括获取辅助应用列表、辅助应用启用状态、无障碍字幕配置等。

L
laiguizhong 已提交
5 6 7 8 9
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从 API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

## 导入模块

10
```ts
L
laiguizhong 已提交
11 12 13 14 15 16 17
import accessibility from '@ohos.accessibility';
```

## AbilityState

辅助应用状态类型。

Z
zaki 已提交
18
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
19

L
laiguizhong 已提交
20 21
| 名称 | 描述 |
| -------- | -------- |
L
laiguizhong 已提交
22 23 24
| enable | 辅助应用已启用。 |
| disable | 辅助应用已禁用。 |
| install | 辅助应用已安装。 |
L
laiguizhong 已提交
25 26 27 28 29

## AbilityType

无障碍辅助应用类型。

Z
zaki 已提交
30
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
31

L
laiguizhong 已提交
32 33 34 35 36 37 38
| 名称 | 描述 |
| -------- | -------- |
| audible | 表示具有听觉反馈。 |
| generic | 表示具有通用反馈。 |
| haptic | 表示具有触觉反馈。 |
| spoken  | 表示具有语音反馈。 |
| visual | 表示具有视觉反馈。 |
39
| all<sup>9+</sup> | 表示以上所有类别。 |
L
laiguizhong 已提交
40 41 42 43 44

## AccessibilityAbilityInfo

辅助应用信息。

Z
zaki 已提交
45
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
46

L
laiguizhong 已提交
47 48
### 属性

49
| 名称 | 类型 | 可读 | 可写 | 说明 |
L
laiguizhong 已提交
50
| -------- | -------- | -------- | -------- | -------- |
Z
zaki 已提交
51
| id | string | 是 | 否 | ability&nbsp;id。 |
L
laiguizhong 已提交
52 53
| name | string | 是 | 否 | ability 名。 |
| bundleName | string | 是 | 否 | 包名。 |
54
| targetBundleNames<sup>9+</sup> | Array&lt;string&gt; | 是 | 否 | 关注的目标包名。 |
L
laiguizhong 已提交
55 56 57 58 59 60 61 62 63
| abilityTypes | Array&lt;[AbilityType](#abilitytype)&gt; | 是 | 否 | 辅助应用类型。 |
| capabilities | Array&lt;[Capability](#capability)&gt; | 是 | 否 | 辅助应用能力列表。 |
| description | string | 是 | 否 | 辅助应用描述。 |
| eventTypes | Array&lt;[EventType](#eventtype)&gt; | 是 | 否 | 辅助应用关注的无障碍事件列表。 |

## Action

应用所支持的目标动作。

Z
zaki 已提交
64
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
65

L
laiguizhong 已提交
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| 名称 | 描述 |
| -------- | -------- |
| click | 表示点击操作。 |
| longClick | 表示长按操作。 |
| scrollForward | 表示向前滚动操作。 |
| scrollBackward | 表示向后滚动操作。 |
| focus | 表示获得焦点操作。 |
| clearFocus | 表示清除焦点操作。 |
| clearSelection | 表示清除选择操作。 |
| accessibilityFocus | 表示获得无障碍焦点操作。 |
| clearAccessibilityFocus | 表示清除无障碍焦点操作。 |
| cut | 表示剪切操作。 |
| copy | 表示复制操作。 |
| paste | 表示粘贴操作。 |
| select | 表示选择操作。 |
| setText | 表示设置文本操作。 |
| delete | 表示删除操作。 |
| setSelection | 表示选择操作。 |

## Capability

辅助应用能力类型。

Z
zaki 已提交
89
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
90

L
laiguizhong 已提交
91 92 93 94 95 96 97 98 99 100 101 102
| 名称 | 描述 |
| -------- | -------- |
| retrieve | 具有检索窗口内容的能力。 |
| touchGuide | 具有触摸探索模式的能力。 |
| keyEventObserver | 具有过滤按键事件的能力。 |
| zoom | 具有控制显示放大的能力。 |
| gesture | 具有执行手势动作的能力。 |

## CaptionsFontEdgeType<sup>8+</sup>

字幕字体边缘类型。

Z
zaki 已提交
103
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing
L
laiguizhong 已提交
104

L
laiguizhong 已提交
105 106 107 108 109 110 111 112 113 114 115 116
| 名称 | 描述 |
| -------- | -------- |
| none | 无效果。 |
| raised | 凸起效果。 |
| depressed | 凹陷效果。 |
| uniform | 轮廓效果。 |
| dropShadow | 阴影效果。 |

## CaptionsFontFamily<sup>8+</sup>

字幕字体。

Z
zaki 已提交
117
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing
L
laiguizhong 已提交
118

L
laiguizhong 已提交
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
| 名称 | 描述 |
| -------- | -------- |
| default | 默认字体。 |
| monospacedSerif | 等宽 Serif 字体。 |
| serif | Serif 字体。 |
| monospacedSansSerif | 等宽 Sans Serif 字体。 |
| sansSerif | Sans Serif 字体。 |
| casual | 非正式字体。 |
| cursive | 手写字体。 |
| smallCapitals | 小型大写字母字体。 |

## CaptionsStyle<sup>8+</sup>

字幕风格。

Z
zaki 已提交
134
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing
L
laiguizhong 已提交
135

136
| 名称 | 类型 | 可读 | 可写 | 说明 |
L
laiguizhong 已提交
137
| -------- | -------- | -------- | -------- | -------- |
L
laiguizhong 已提交
138
| fontFamily | [CaptionsFontFamily](#captionsfontfamily8) | 是 | 否 | 描述字幕字体。 |
L
laiguizhong 已提交
139 140
| fontScale | number | 是 | 否 | 描述字幕字体缩放系数。 |
| fontColor | number \| string | 是 | 否 | 描述字幕字体颜色。 |
L
laiguizhong 已提交
141
| fontEdgeType | [CaptionsFontEdgeType](#captionsfontedgetype8) | 是 | 否 | 描述字幕字体边缘。 |
L
laiguizhong 已提交
142 143 144 145 146
| backgroundColor | number \| string | 是 | 否 | 描述字幕背景颜色。 |
| windowColor | number \| string | 是 | 否 | 描述字幕窗口颜色。 |

## CaptionsManager<sup>8+</sup>

147
字幕配置管理,在调用CaptionsManager的方法前,需要先通过 [accessibility.getCaptionsManager()](#accessibilitygetcaptionsmanager8)获取 CaptionsManager实例。
L
laiguizhong 已提交
148

L
laiguizhong 已提交
149 150
**系统能力**:以下各项对应的系统能力均为SystemCapability.BarrierFree.Accessibility.Hearing

L
laiguizhong 已提交
151 152
### 属性

153
| 名称 | 类型 | 可读 | 可写 | 说明 |
L
laiguizhong 已提交
154
| -------- | -------- | -------- | -------- | -------- |
L
laiguizhong 已提交
155
| enabled | boolean | 是 | 否 | 表示是否启用字幕配置。 |
L
laiguizhong 已提交
156
| style | [CaptionsStyle](#captionsstyle8) | 是 | 否 | 表示字幕风格。 |
L
laiguizhong 已提交
157

L
laiguizhong 已提交
158
### on('enableChange')
L
laiguizhong 已提交
159 160 161

on(type: 'enableChange', callback: Callback&lt;boolean&gt;): void;

162
监听字幕配置启用状态变化事件,使用callback异步回调。
L
laiguizhong 已提交
163

Z
zaki 已提交
164
**参数:**
L
laiguizhong 已提交
165

166
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
167 168 169
| -------- | -------- | -------- | -------- |
| type | string | 是 | 监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 |
| callback | Callback&lt;boolean&gt; | 是 | 回调函数,在启用状态变化时将状态通过此函数进行通知。 |
L
laiguizhong 已提交
170

Z
zaki 已提交
171
**示例:**
L
laiguizhong 已提交
172

173 174 175
```ts
let captionsManager = accessibility.getCaptionsManager();
try {
176 177
    captionsManager.on('enableChange', (data) => {
        console.info('subscribe caption manager enable state change, result: ' + JSON.stringify(data));
178 179 180 181 182
    });
} catch (exception) {
    console.error('failed to subscribe caption manager enable state change, because ' + JSON.stringify(exception));
}
```
L
laiguizhong 已提交
183

L
laiguizhong 已提交
184
### on('styleChange')
L
laiguizhong 已提交
185 186 187

on(type: 'styleChange', callback: Callback&lt;CaptionsStyle&gt;): void;

188
监听字幕风格变化事件,使用callback异步回调。
L
laiguizhong 已提交
189

Z
zaki 已提交
190
**参数:**
L
laiguizhong 已提交
191

192
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
193 194 195
| -------- | -------- | -------- | -------- |
| type | string | 是 | 监听的事件名,固定为‘styleChange’,即字幕风格变化事件。 |
| callback | Callback&lt;[CaptionsStyle](#captionsstyle8)&gt; | 是 | 回调函数,在字幕风格变化时通过此函数进行通知。 |
L
laiguizhong 已提交
196

Z
zaki 已提交
197
**示例:**
L
laiguizhong 已提交
198

199 200 201 202
```ts
let captionStyle;
let captionsManager = accessibility.getCaptionsManager();
try {
203
    captionsManager.on('styleChange', (data) => {
204
        captionStyle = data;
205
        console.info('subscribe caption manager style state change, result: ' + JSON.stringify(data));
206 207 208 209 210
    });
} catch (exception) {
    console.error('failed to subscribe caption manager style state change, because ' + JSON.stringify(exception));
}
```
L
laiguizhong 已提交
211
  
L
laiguizhong 已提交
212
### off('enableChange')
L
laiguizhong 已提交
213

L
laiguizhong 已提交
214
off(type: 'enableChange', callback?: Callback&lt;boolean&gt;): void;
L
laiguizhong 已提交
215

216
取消监听字幕配置启用状态变化事件,使用callback异步回调。
L
laiguizhong 已提交
217

Z
zaki 已提交
218
**参数:**
L
laiguizhong 已提交
219

220
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
221 222 223
| -------- | -------- | -------- | -------- |
| type | string | 是 | 取消监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 |
| callback | Callback&lt;boolean&gt; | 否 | 回调函数,在字幕配置启用状态变化时将状态通过此函数进行通知。 |
L
laiguizhong 已提交
224

Z
zaki 已提交
225
**示例:**
L
laiguizhong 已提交
226

227 228 229
```ts
let captionsManager = accessibility.getCaptionsManager();
try {
230 231
    captionsManager.off('enableChange', (data) => {
        console.info('Unsubscribe caption manager enable state change, result: ' + JSON.stringify(data));
232 233
    });
} catch (exception) {
234
    console.error('failed to Unsubscribe caption manager enable state change, because ' + JSON.stringify(exception));
235 236
}
```
L
laiguizhong 已提交
237

L
laiguizhong 已提交
238
### off('styleChange')
L
laiguizhong 已提交
239 240 241

off(type: 'styleChange', callback?: Callback&lt;CaptionsStyle&gt;): void;

242
取消字幕风格变化监听事件,使用callback异步回调。
L
laiguizhong 已提交
243

Z
zaki 已提交
244
**参数:**
L
laiguizhong 已提交
245

246
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
247 248 249
| -------- | -------- | -------- | -------- |
| type | string | 是 | 取消监听的事件名,固定为‘styleChange’,即字幕风格变化事件。 |
| callback | Callback&lt;[CaptionsStyle](#captionsstyle8)&gt; | 否 | 回调函数,在字幕风格变化时通过此函数进行通知。 |
L
laiguizhong 已提交
250

Z
zaki 已提交
251
**示例:**
L
laiguizhong 已提交
252

253 254 255 256
```ts
let captionStyle;
let captionsManager = accessibility.getCaptionsManager();
try {
257
    captionsManager.off('styleChange', (data) => {
258
        captionStyle = data;
259
        console.info('Unsubscribe caption manager style state change, result: ' + JSON.stringify(data));
260 261
    });
} catch (exception) {
262
    console.error('failed to Unsubscribe caption manager style state change, because ' + JSON.stringify(exception));
263 264
}
```
L
laiguizhong 已提交
265 266 267 268 269

## EventInfo

界面变更事件。

Z
zaki 已提交
270
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
271

L
laiguizhong 已提交
272 273
### 属性

274
| 名称 | 类型 | 可读 | 可写 | 说明 |
L
laiguizhong 已提交
275 276 277 278 279 280 281
| -------- | -------- | -------- | -------- | -------- |
| type | [EventType](#eventtype) | 是 | 是 | 无障碍事件类型。 |
| windowUpdateType | [WindowUpdateType](#windowupdatetype) | 是 | 是 | 窗口变化类型。 |
| bundleName | string | 是 | 是 | 目标应用名。 |
| componentType | string | 是 | 是 | 事件源组件类型,如按钮、图表。 |
| pageId | number | 是 | 是 | 事件源的页面 ID。 |
| description | string | 是 | 是 | 事件描述。 |
L
laiguizhong 已提交
282
| triggerAction | [Action](#action) | 是 | 是 | 触发事件的 Action。 |
L
laiguizhong 已提交
283 284 285 286 287 288 289 290
| textMoveUnit | [TextMoveUnit](#textmoveunit) | 是 | 是 | 文本移动粒度。 |
| contents | Array&lt;string&gt; | 是 | 是 | 内容列表。 |
| lastContent | string | 是 | 是 | 最新内容。 |
| beginIndex | number | 是 | 是 | 画面显示条目的开始序号。 |
| currentIndex | number | 是 | 是 | 当前条目序号。 |
| endIndex | number | 是 | 是 | 画面显示条目的结束序号。 |
| itemCount | number | 是 | 是 | 条目总数。 |

L
laiguizhong 已提交
291
### constructor
292 293 294 295 296

constructor(jsonObject)

构造函数。

L
laiguizhong 已提交
297 298
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

Z
zaki 已提交
299
**参数:**
300

301
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
302 303
| -------- | -------- | -------- | -------- |
| jsonObject | string | 是 | 创建对象所需要的 JSON 格式字符串。 |
304

Z
zaki 已提交
305
**示例:**
306

307
  ```ts
Z
zaki 已提交
308
  let eventInfo = new accessibility.EventInfo({
309 310 311
    'type':'click',
    'bundleName':'com.example.MyApplication',
    'triggerAction':'click'
Z
zaki 已提交
312
  });
313 314
  ```

L
laiguizhong 已提交
315 316 317 318
## EventType

无障碍事件类型。

Z
zaki 已提交
319
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
320

L
laiguizhong 已提交
321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338
| 名称 | 描述 |
| -------- | -------- |
| click | 描述点击组件的事件。 |
| longClick | 描述长按组件的事件。 |
| select | 描述选择组件的事件。 |
| focus | 描述组件获得焦点的事件。 |
| textUpdate | 描述组件文本已更改的事件。 |
| hoverEnter | 描述悬停进入组件的事件。 |
| hoverExit | 描述悬停离开组件的事件。 |
| scroll | 描述滚动视图的事件。 |
| textSelectionUpdate | 描述选定文本已更改的事件。 |
| accessibilityFocus | 描述获得无障碍焦点的事件。 |
| accessibilityFocusClear | 描述清除无障碍焦点的事件。 |

## TextMoveUnit

文本无障碍导航移动粒度。

Z
zaki 已提交
339
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
340

L
laiguizhong 已提交
341 342 343 344 345 346 347 348 349 350 351 352
| 名称 | 描述 |
| -------- | -------- |
| char | 以字符为移动粒度遍历节点文本。 |
| word | 以词为移动粒度遍历节点文本。 |
| line | 以行为移动粒度遍历节点文本。 |
| page | 以页为移动粒度遍历节点文本。 |
| paragraph | 以段落为移动粒度遍历节点文本。 |

## WindowUpdateType

窗口变化类型。

Z
zaki 已提交
353
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
354

L
laiguizhong 已提交
355 356 357 358 359 360 361 362
| 名称 | 描述 |
| -------- | -------- |
| add | 添加窗口的窗口变化事件。 |
| remove | 一个窗口被删除的窗口变化事件。 |
| bounds | 窗口边界已更改的窗口变化事件。 |
| active | 窗口变为活动或不活动的窗口变化事件。 |
| focus | 窗口焦点发生变化的窗口变化事件。 |

363
## accessibility.getAbilityLists<sup>(deprecated)</sup>
L
laiguizhong 已提交
364 365 366

getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;

Z
zaki 已提交
367
查询辅助应用列表,使用Promise异步回调。
L
laiguizhong 已提交
368

369 370 371 372 373
> **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃。
> 推荐使用[getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9)。

Z
zaki 已提交
374
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
375

Z
zaki 已提交
376
**参数:**
L
laiguizhong 已提交
377

378
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
379 380 381
| -------- | -------- | -------- | -------- |
| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 |
| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 |
L
laiguizhong 已提交
382

Z
zaki 已提交
383
**返回值:**
L
laiguizhong 已提交
384

Z
zaki 已提交
385 386 387
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | Promise对象,返回辅助应用信息列表。 |
L
laiguizhong 已提交
388

Z
zaki 已提交
389
**示例:**
L
laiguizhong 已提交
390

391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410
```ts
let abilityType = 'spoken';
let abilityState = 'enable';
let abilityList: accessibility.AccessibilityInfo[];
try {
    accessibility.getAbilityLists(abilityType, abilityState).then((data) => {
        for (let item of data) {
            console.info(item.id);
            console.info(item.name);
            console.info(item.description);
            console.info(item.bundleName);
            extensionList.push(item);
        }
        console.info('get accessibility extension list success');
    }).catch((err) => {
        console.error('failed to get accessibility extension list because ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('failed to get accessibility extension list because ' + JSON.stringify(exception));
}
Z
zaki 已提交
411
```
L
laiguizhong 已提交
412

413
## accessibility.getAbilityLists<sup>(deprecated)</sup>
L
laiguizhong 已提交
414 415 416

getAbilityLists(abilityType: AbilityType, stateType: AbilityState,callback: AsyncCallback&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;): void

Z
zaki 已提交
417
查询辅助应用列表,使用callback异步回调。
L
laiguizhong 已提交
418

419 420 421 422 423
> **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃。
> 推荐使用[getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9-1)。

Z
zaki 已提交
424
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
425

Z
zaki 已提交
426
**参数:**
L
laiguizhong 已提交
427

428
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
429 430 431 432
| -------- | -------- | -------- | -------- |
| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 |
| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 |
| callback | AsyncCallback&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | 是 | 回调函数,返回辅助应用信息列表。 |
L
laiguizhong 已提交
433

Z
zaki 已提交
434
**示例:**
L
laiguizhong 已提交
435

436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471
```ts
let abilityType = 'spoken';
let abilityState = 'enable';
let abilityList: accessibility.AccessibilityInfo[];
try {
    accessibility.getAbilityLists(abilityType, abilityState, (err, data) => {
        if (err) {
            console.error('failed to get accessibility extension list because ' + JSON.stringify(err));
            return;
        }
        for (let item of data) {
            console.info(item.id);
            console.info(item.name);
            console.info(item.description);
            console.info(item.bundleName);
            abilityList.push(item);
        }
        console.info('get accessibility extension list success');
    }).catch((err) => {
        console.error('failed to get accessibility extension list because ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('failed to get accessibility extension list because ' + JSON.stringify(exception));
}
```

## accessibility.getAccessibilityExtensionList<sup>9+</sup>

getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState): Promise&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;

查询辅助应用列表,使用Promise异步回调。

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

472
| 参数名 | 类型 | 必填 | 说明 |
473 474 475 476 477 478 479 480 481 482 483 484 485
| -------- | -------- | -------- | -------- |
| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 |
| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | Promise对象,返回辅助应用信息列表。 |

**示例:**

```ts
486 487 488
let abilityType : accessibility.AbilityType = 'spoken';
let abilityState : accessibility.AbilityState = 'enable';
let extensionList: accessibility.AccessibilityAbilityInfo[] = [];
489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508
try {
    accessibility.getAccessibilityExtensionList(abilityType, abilityState).then((data) => {
        for (let item of data) {
            console.info(item.id);
            console.info(item.name);
            console.info(item.description);
            console.info(item.bundleName);
            extensionList.push(item);
        }
        console.info('get accessibility extension list success');
    }).catch((err) => {
        console.error('failed to get accessibility extension list because ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('failed to get accessibility extension list because ' + JSON.stringify(exception));
}
```

## accessibility.getAccessibilityExtensionList<sup>9+</sup>

509
getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState, callback: AsyncCallback&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;): void
510 511 512 513 514 515 516

查询辅助应用列表,使用callback异步回调。

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

517
| 参数名 | 类型 | 必填 | 说明 |
518 519 520 521 522 523 524 525
| -------- | -------- | -------- | -------- |
| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 |
| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 |
| callback | AsyncCallback&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | 是 | 回调函数,返回辅助应用信息列表。 |

**示例:**

```ts
526 527 528
let abilityType : accessibility.AbilityType = 'spoken';
let abilityState : accessibility.AbilityState = 'enable';
let extensionList: accessibility.AccessibilityAbilityInfo[] = [];
529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547
try {
    accessibility.getAccessibilityExtensionList(abilityType, abilityState, (err, data) => {
        if (err) {
            console.error('failed to get accessibility extension list because ' + JSON.stringify(err));
            return;
        }
        for (let item of data) {
            console.info(item.id);
            console.info(item.name);
            console.info(item.description);
            console.info(item.bundleName);
            extensionList.push(item);
        }
        console.info('get accessibility extension list success');
    });
} catch (exception) {
    console.error('failed to get accessibility extension list because ' + JSON.stringify(exception));
}
```
L
laiguizhong 已提交
548

L
laiguizhong 已提交
549
## accessibility.getCaptionsManager<sup>8+</sup>
L
laiguizhong 已提交
550 551 552

getCaptionsManager(): CaptionsManager

Z
zaki 已提交
553
获取无障碍字幕配置管理实例。
L
laiguizhong 已提交
554

Z
zaki 已提交
555
**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
L
laiguizhong 已提交
556

Z
zaki 已提交
557
**返回值:**
L
laiguizhong 已提交
558

Z
zaki 已提交
559 560 561
| 类型 | 说明 |
| -------- | -------- |
| [CaptionsManager](#captionsmanager8) | 无障碍字幕配置管理。 |
L
laiguizhong 已提交
562

Z
zaki 已提交
563
**示例:**
L
laiguizhong 已提交
564

565
```ts
Z
zaki 已提交
566 567
let captionsManager = accessibility.getCaptionsManager();
```
L
laiguizhong 已提交
568

Z
zaki 已提交
569
## accessibility.on('accessibilityStateChange')
L
laiguizhong 已提交
570

Z
zaki 已提交
571
on(type: 'accessibilityStateChange', callback: Callback&lt;boolean&gt;): void
L
laiguizhong 已提交
572

573
监听辅助应用启用状态变化事件,使用callback异步回调。
L
laiguizhong 已提交
574 575

**系统能力**:以下各项对应的系统能力有所不同,详见下表。
L
laiguizhong 已提交
576

Z
zaki 已提交
577
**参数:**
L
laiguizhong 已提交
578

579
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
580 581 582
| -------- | -------- | -------- | -------- |
| type | string | 是 | 监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 |
| callback | Callback&lt;boolean&gt; | 是 | 回调函数,在辅助应用启用状态变化时将状态通过此函数进行通知。 |
L
laiguizhong 已提交
583

Z
zaki 已提交
584
**示例:**
L
laiguizhong 已提交
585

586 587
```ts
try {
588 589
    accessibility.on('accessibilityStateChange', (data) => {
        console.info('subscribe accessibility state change, result: ' + JSON.stringify(data));
590 591 592 593
    });
} catch (exception) {
    console.error('failed to subscribe accessibility state change, because ' + JSON.stringify(exception));
}
Z
zaki 已提交
594
```
L
laiguizhong 已提交
595

Z
zaki 已提交
596
## accessibility.on('touchGuideStateChange')
L
laiguizhong 已提交
597

Z
zaki 已提交
598
on(type: 'touchGuideStateChange', callback: Callback&lt;boolean&gt;): void
L
laiguizhong 已提交
599

600
监听触摸浏览功能启用状态变化事件,使用callback异步回调。
L
laiguizhong 已提交
601

L
laiguizhong 已提交
602
**系统能力**:以下各项对应的系统能力有所不同,详见下表。
L
laiguizhong 已提交
603

Z
zaki 已提交
604
**参数:**
L
laiguizhong 已提交
605

606
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
607 608 609
| -------- | -------- | -------- | -------- |
| type | string | 是 | 监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 |
| callback | Callback&lt;boolean&gt; | 是 | 回调函数,在触摸浏览启用状态变化时将状态通过此函数进行通知。 |
L
laiguizhong 已提交
610

Z
zaki 已提交
611
**示例:**
L
laiguizhong 已提交
612

613 614
```ts
try {
615 616
    accessibility.on('touchGuideStateChange', (data) => {
        console.info('subscribe touch guide state change, result: ' + JSON.stringify(data));
617 618 619 620
    });
} catch (exception) {
    console.error('failed to subscribe touch guide state change, because ' + JSON.stringify(exception));
}
Z
zaki 已提交
621 622 623 624 625 626
```

## accessibility.off('accessibilityStateChange')

off(type: 'accessibilityStateChange', callback?: Callback&lt;boolean&gt;): void

627
取消监听辅助应用启用状态变化事件,使用callback异步回调。
Z
zaki 已提交
628 629 630 631 632

**系统能力**:以下各项对应的系统能力有所不同,详见下表。

**参数:**

633
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
634 635 636 637 638 639
| -------- | -------- | -------- | -------- |
| type |  string | 否 | 取消监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 |
| callback | Callback&lt;boolean&gt; | 否 | 回调函数,在辅助应用启用状态变化时将状态通过此函数进行通知。 |

**示例:**

640 641
```ts
try {
642 643
    accessibility.off('accessibilityStateChange', (data) => {
        console.info('Unsubscribe accessibility state change, result: ' + JSON.stringify(data));
644 645
    });
} catch (exception) {
646
    console.error('failed to Unsubscribe accessibility state change, because ' + JSON.stringify(exception));
647
}
Z
zaki 已提交
648 649 650 651 652 653
```

## accessibility.off('touchGuideStateChange')

off(type: 'touchGuideStateChange', callback?: Callback&lt;boolean&gt;): void

654
取消监听触摸浏览启用状态变化事件,使用callback异步回调。
Z
zaki 已提交
655 656 657 658 659

**系统能力**:以下各项对应的系统能力有所不同,详见下表。

**参数:**

660
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
661 662 663 664 665 666
| -------- | -------- | -------- | -------- |
| type |  string | 否 | 取消监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 |
| callback | Callback&lt;boolean&gt; | 否 | 回调函数,在触摸浏览启用状态变化时将状态通过此函数进行通知。 |

**示例:**

667 668
```ts
try {
669 670
    accessibility.off('touchGuideStateChange', (data) => {
        console.info('Unsubscribe touch guide state change, result: ' + JSON.stringify(data));
671 672
    });
} catch (exception) {
673
    console.error('failed to Unsubscribe touch guide state change, because ' + JSON.stringify(exception));
674
}
Z
zaki 已提交
675
```
L
laiguizhong 已提交
676 677 678 679 680

## accessibility.isOpenAccessibility

isOpenAccessibility(): Promise&lt;boolean&gt;

Z
zaki 已提交
681
判断是否启用了辅助功能, 使用Promise异步回调。
L
laiguizhong 已提交
682

Z
zaki 已提交
683
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
684

Z
zaki 已提交
685
**返回值:**
L
laiguizhong 已提交
686

Z
zaki 已提交
687 688 689
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | Promise对象,如果辅助功能已启用,则返回 true;否则返回 false。 |
L
laiguizhong 已提交
690

Z
zaki 已提交
691
**示例:**
L
laiguizhong 已提交
692

693
```ts
Z
zaki 已提交
694 695 696 697 698 699
accessibility.isOpenAccessibility().then((data) => {
    console.info('success data:isOpenAccessibility : ' + JSON.stringify(data))
}).catch((err) => {
    console.error('failed to  isOpenAccessibility because ' + JSON.stringify(err));
});
```
L
laiguizhong 已提交
700 701 702 703 704

## accessibility.isOpenAccessibility

isOpenAccessibility(callback: AsyncCallback&lt;boolean&gt;): void

Z
zaki 已提交
705
判断是否启用了辅助功能,使用callback异步回调。
L
laiguizhong 已提交
706

Z
zaki 已提交
707
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
708

Z
zaki 已提交
709
**参数:**
L
laiguizhong 已提交
710

711
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
712 713
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,如果辅助功能已启用,则返回 true;否则返回 false。 |
L
laiguizhong 已提交
714

Z
zaki 已提交
715
**示例:**
L
laiguizhong 已提交
716

717
```ts
Z
zaki 已提交
718 719 720 721 722 723 724 725
accessibility.isOpenAccessibility((err, data) => {
    if (err) {
        console.error('failed to isOpenAccessibility because ' + JSON.stringify(err));
        return;
    }
    console.info('success data:isOpenAccessibility : ' + JSON.stringify(data))
});
```
L
laiguizhong 已提交
726 727 728 729 730

## accessibility.isOpenTouchGuide

isOpenTouchGuide(): Promise&lt;boolean&gt;

Z
zaki 已提交
731
判断触摸浏览模式是否开启, 使用Promise异步回调。
L
laiguizhong 已提交
732

L
laiguizhong 已提交
733
**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision
L
laiguizhong 已提交
734

Z
zaki 已提交
735
**返回值:**
L
laiguizhong 已提交
736

Z
zaki 已提交
737 738 739
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | Promise对象,如果触摸浏览模式已开启,则返回 true;否则返回 false。 |
L
laiguizhong 已提交
740

Z
zaki 已提交
741
**示例:**
L
laiguizhong 已提交
742

743
```ts
Z
zaki 已提交
744 745 746 747 748 749
accessibility.isOpenTouchGuide().then((data) => {
    console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data))
}).catch((err) => {
    console.error('failed to  isOpenTouchGuide because ' + JSON.stringify(err));
});
```
L
laiguizhong 已提交
750 751 752 753 754

## accessibility.isOpenTouchGuide

isOpenTouchGuide(callback: AsyncCallback&lt;boolean&gt;): void

Z
zaki 已提交
755
判断触摸浏览模式是否开启, 使用callback异步回调。
L
laiguizhong 已提交
756

L
laiguizhong 已提交
757
**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision
L
laiguizhong 已提交
758

Z
zaki 已提交
759
**参数:**
L
laiguizhong 已提交
760

761
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
762 763
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,如果触摸浏览模式已开启,则返回 true;否则返回 false。 |
L
laiguizhong 已提交
764

Z
zaki 已提交
765
**示例:**
L
laiguizhong 已提交
766

767
```ts
Z
zaki 已提交
768 769 770 771 772 773 774
accessibility.isOpenTouchGuide((err, data) => {
    if (err) {
        console.error('failed to isOpenTouchGuide because ' + JSON.stringify(err));
        return;
    }
    console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data))
});
L
laiguizhong 已提交
775 776
  ```

777
## accessibility.sendEvent<sup>(deprecated)</sup>
L
laiguizhong 已提交
778 779 780

sendEvent(event: EventInfo): Promise&lt;void&gt;

Z
zaki 已提交
781
发送无障碍事件, 使用Promise异步回调。
L
laiguizhong 已提交
782

783 784 785 786 787
> **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃。
> 推荐使用[sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9)。

Z
zaki 已提交
788
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
789

Z
zaki 已提交
790
**参数:**
L
laiguizhong 已提交
791

792
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
793 794
| -------- | -------- | -------- | -------- |
| event | [EventInfo](#eventinfo) | 是 | 无障碍事件对象。 |
L
laiguizhong 已提交
795

Z
zaki 已提交
796
**返回值:**
L
laiguizhong 已提交
797

Z
zaki 已提交
798 799 800
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
laiguizhong 已提交
801

Z
zaki 已提交
802
**示例:**
L
laiguizhong 已提交
803

804
```ts
Z
zaki 已提交
805
let eventInfo = new accessibility.EventInfo({
806 807 808
  'type':'click',
  'bundleName':'com.example.MyApplication',
  'triggerAction':'click'
Z
zaki 已提交
809 810 811 812 813 814 815
});
accessibility.sendEvent(eventInfo).then(() => {
    console.info('send event success');
}).catch((err) => {
    console.error('failed to sendEvent because ' + JSON.stringify(err));
});
```
L
laiguizhong 已提交
816

817
## accessibility.sendEvent<sup>(deprecated)</sup>
L
laiguizhong 已提交
818 819 820

sendEvent(event: EventInfo, callback: AsyncCallback&lt;void&gt;): void

Z
zaki 已提交
821
发送无障碍事件, 使用callback异步回调。
L
laiguizhong 已提交
822

823 824 825 826 827
> **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃。
> 推荐使用[sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9-1)。

Z
zaki 已提交
828
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
L
laiguizhong 已提交
829

Z
zaki 已提交
830
**参数:**
L
laiguizhong 已提交
831

832
| 参数名 | 类型 | 必填 | 说明 |
Z
zaki 已提交
833 834 835
| -------- | -------- | -------- | -------- |
| event | [EventInfo](#eventinfo) | 是 | 辅助事件对象。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 |
L
laiguizhong 已提交
836

Z
zaki 已提交
837
**示例:**
L
laiguizhong 已提交
838

839
```ts
Z
zaki 已提交
840
let eventInfo = new accessibility.EventInfo({
841 842 843
  'type':'click',
  'bundleName':'com.example.MyApplication',
  'triggerAction':'click'
Z
zaki 已提交
844 845 846 847 848 849 850 851
});
accessibility.sendEvent(eventInfo, (err, data) => {
    if (err) {
        console.error('failed to sendEvent because ' + JSON.stringify(err));
        return;
    }
    console.info('sendEvent success');
});
852 853 854 855 856 857 858 859 860 861 862 863
```

## accessibility.sendAccessibilityEvent<sup>9+</sup>

sendAccessibilityEvent(event: EventInfo): Promise&lt;void&gt;

发送无障碍事件, 使用Promise异步回调。

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

864
| 参数名 | 类型 | 必填 | 说明 |
865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902
| -------- | -------- | -------- | -------- |
| event | [EventInfo](#eventinfo) | 是 | 无障碍事件对象。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```ts
let eventInfo = new accessibility.EventInfo({
    'type':'click',
    'bundleName':'com.example.MyApplication',
    'triggerAction':'click'
});
try {
    accessibility.sendAccessibilityEvent(eventInfo).then(() => {
        console.info('send event success');
    }).catch((err) => {
        console.error('failed to send event because ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('failed to send event because ' + JSON.stringify(exception));
}
```

## accessibility.sendAccessibilityEvent<sup>9+</sup>

sendAccessibilityEvent(event: EventInfo, callback: AsyncCallback&lt;void&gt;): void

发送无障碍事件, 使用callback异步回调。

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

903
| 参数名 | 类型 | 必填 | 说明 |
904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927
| -------- | -------- | -------- | -------- |
| event | [EventInfo](#eventinfo) | 是 | 辅助事件对象。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 |

**示例:**

```ts
let eventInfo = new accessibility.EventInfo({
    'type':'click',
    'bundleName':'com.example.MyApplication',
    'triggerAction':'click'
});
try {
    accessibility.sendEvent(eventInfo, (err, data) => {
        if (err) {
            console.error('failed to send event because ' + JSON.stringify(err));
            return;
        }
        console.info('send event success');
    });
} catch (exception) {
    console.error('failed to send event because ' + JSON.stringify(exception));
}
```