js-apis-accessibility.md 36.9 KB
Newer Older
1
# @ohos.accessibility (辅助功能)
L
laiguizhong 已提交
2

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

5 6
> **说明:**
>
L
laiguizhong 已提交
7 8 9 10
> 本模块首批接口从 API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

## 导入模块

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

## AbilityState

辅助应用状态类型。

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

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

## AbilityType

无障碍辅助应用类型。

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

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

## AccessibilityAbilityInfo

辅助应用信息。

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

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

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

## Action

应用所支持的目标动作。

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

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

## Capability

辅助应用能力类型。

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

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

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

字幕字体边缘类型。

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

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

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

字幕字体。

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

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

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

字幕风格。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

L
laiguizhong 已提交
213
### off('enableChange')
L
laiguizhong 已提交
214

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

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

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

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

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

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

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

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

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

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

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

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

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

## EventInfo

界面变更事件。

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

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

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

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

constructor(jsonObject)

构造函数。

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

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

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

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

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

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

无障碍事件类型。

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

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

## TextMoveUnit

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

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

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

## WindowUpdateType

窗口变化类型。

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

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

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

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

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

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

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

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

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

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

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

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

392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411
```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 已提交
412
```
L
laiguizhong 已提交
413

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

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

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

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

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

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

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

Z
zaki 已提交
435
**示例:**
L
laiguizhong 已提交
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 472
```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

**参数:**

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

**返回值:**

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

**示例:**

```ts
487 488 489
let abilityType : accessibility.AbilityType = 'spoken';
let abilityState : accessibility.AbilityState = 'enable';
let extensionList: accessibility.AccessibilityAbilityInfo[] = [];
490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509
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>

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

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

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

**参数:**

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

**示例:**

```ts
527 528 529
let abilityType : accessibility.AbilityType = 'spoken';
let abilityState : accessibility.AbilityState = 'enable';
let extensionList: accessibility.AccessibilityAbilityInfo[] = [];
530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548
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 已提交
549

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

getCaptionsManager(): CaptionsManager

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## accessibility.off('accessibilityStateChange')

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

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

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

**参数:**

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

**示例:**

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

## accessibility.off('touchGuideStateChange')

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

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

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

**参数:**

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

**示例:**

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

## accessibility.isOpenAccessibility

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

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

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

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

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

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

694
```ts
Z
zaki 已提交
695 696 697 698 699 700
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 已提交
701 702 703 704 705

## accessibility.isOpenAccessibility

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

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

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

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

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

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

718
```ts
Z
zaki 已提交
719 720 721 722 723 724 725 726
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 已提交
727 728 729 730 731

## accessibility.isOpenTouchGuide

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

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

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

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

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

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

744
```ts
Z
zaki 已提交
745 746 747 748 749 750
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 已提交
751 752 753 754 755

## accessibility.isOpenTouchGuide

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

**参数:**

865 866 867
| 参数名   | 类型                      | 必填   | 说明       |
| ----- | ----------------------- | ---- | -------- |
| event | [EventInfo](#eventinfo) | 是    | 无障碍事件对象。 |
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 903
| 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

**参数:**

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

**示例:**

```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));
}
```