1# @ohos.accessibility (辅助功能) 2 3本模块提供辅助功能查询能力,包括获取辅助应用列表、辅助应用启用状态、无障碍字幕配置等。 4 5> **说明:** 6> 7> 本模块首批接口从 API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import accessibility from '@ohos.accessibility'; 13``` 14 15## AbilityState 16 17辅助应用状态类型。 18 19**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 20 21| 名称 | 描述 | 22| ------- | -------- | 23| enable | 辅助应用已启用。 | 24| disable | 辅助应用已禁用。 | 25| install | 辅助应用已安装。 | 26 27## AbilityType 28 29无障碍辅助应用类型。 30 31**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 32 33| 名称 | 描述 | 34| ---------------- | --------- | 35| audible | 表示具有听觉反馈。 | 36| generic | 表示具有通用反馈。 | 37| haptic | 表示具有触觉反馈。 | 38| spoken | 表示具有语音反馈。 | 39| visual | 表示具有视觉反馈。 | 40| all<sup>9+</sup> | 表示以上所有类别。 | 41 42## AccessibilityAbilityInfo 43 44辅助应用信息。 45 46**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 47 48### 属性 49 50| 名称 | 类型 | 可读 | 可写 | 说明 | 51| ------------------------------ | ---------------------------------------- | ---- | ---- | ---------------- | 52| id | string | 是 | 否 | ability id。 | 53| name | string | 是 | 否 | ability 名。 | 54| bundleName | string | 是 | 否 | Bundle名称。 | 55| targetBundleNames<sup>9+</sup> | Array<string> | 是 | 否 | 关注的目标Bundle名称。 | 56| abilityTypes | Array<[AbilityType](#abilitytype)> | 是 | 否 | 辅助应用类型。 | 57| capabilities | Array<[Capability](#capability)> | 是 | 否 | 辅助应用能力列表。 | 58| description | string | 是 | 否 | 辅助应用描述。 | 59| eventTypes | Array<[EventType](#eventtype)> | 是 | 否 | 辅助应用关注的无障碍事件列表。 | 60 61## Action 62 63应用所支持的目标动作。 64 65**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 66 67| 名称 | 描述 | 68| ----------------------- | ------------------ | 69| click | 表示点击操作。 | 70| longClick | 表示长按操作。 | 71| scrollForward | 表示向前滚动操作;当前版本暂不支持。 | 72| scrollBackward | 表示向后滚动操作;当前版本暂不支持。 | 73| focus | 表示获得焦点操作;当前版本暂不支持。 | 74| clearFocus | 表示清除焦点操作;当前版本暂不支持。 | 75| clearSelection | 表示清除选择操作;当前版本暂不支持。 | 76| accessibilityFocus | 表示获得无障碍焦点操作。 | 77| clearAccessibilityFocus | 表示清除无障碍焦点操作。 | 78| cut | 表示剪切操作;当前版本暂不支持。 | 79| copy | 表示复制操作;当前版本暂不支持。 | 80| paste | 表示粘贴操作;当前版本暂不支持。 | 81| select | 表示选择操作,当前版本暂不支持。 | 82| setText | 表示设置文本操作;当前版本暂不支持。 | 83| delete | 表示删除操作;当前版本暂不支持。 | 84| setSelection | 表示选择操作;当前版本暂不支持。 | 85 86## Capability 87 88辅助应用能力类型。 89 90**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 91 92| 名称 | 描述 | 93| ---------------- | --------------------- | 94| retrieve | 具有检索窗口内容的能力。 | 95| touchGuide | 具有触摸探索模式的能力。 | 96| keyEventObserver | 具有过滤按键事件的能力。 | 97| zoom | 具有控制显示放大的能力;当前版本暂不支持。 | 98| gesture | 具有执行手势动作的能力。 | 99 100## CaptionsFontEdgeType<sup>8+</sup> 101 102字幕字体边缘类型。 103 104**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing 105 106| 名称 | 描述 | 107| ---------- | ----- | 108| none | 无效果。 | 109| raised | 凸起效果。 | 110| depressed | 凹陷效果。 | 111| uniform | 轮廓效果。 | 112| dropShadow | 阴影效果。 | 113 114## CaptionsFontFamily<sup>8+</sup> 115 116字幕字体。 117 118**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing 119 120| 名称 | 描述 | 121| ------------------- | ----------------- | 122| default | 默认字体。 | 123| monospacedSerif | 等宽 Serif 字体。 | 124| serif | Serif 字体。 | 125| monospacedSansSerif | 等宽 Sans Serif 字体。 | 126| sansSerif | Sans Serif 字体。 | 127| casual | 非正式字体。 | 128| cursive | 手写字体。 | 129| smallCapitals | 小型大写字母字体。 | 130 131## CaptionsStyle<sup>8+</sup> 132 133字幕风格。 134 135**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing 136 137| 名称 | 类型 | 可读 | 可写 | 说明 | 138| --------------- | ---------------------------------------- | ---- | ---- | ----------- | 139| fontFamily | [CaptionsFontFamily](#captionsfontfamily8) | 是 | 否 | 描述字幕字体。 | 140| fontScale | number | 是 | 否 | 描述字幕字体缩放系数,单位%,参数范围1~200。 | 141| fontColor | number \| string | 是 | 否 | 描述字幕字体颜色,例如red对应#FF0000。 | 142| fontEdgeType | [CaptionsFontEdgeType](#captionsfontedgetype8) | 是 | 否 | 描述字幕字体边缘。 | 143| backgroundColor | number \| string | 是 | 否 | 描述字幕背景颜色,例如red对应#FF0000。 | 144| windowColor | number \| string | 是 | 否 | 描述字幕窗口颜色,例如red对应#FF0000。 | 145 146## CaptionsManager<sup>8+</sup> 147 148字幕配置管理,在调用CaptionsManager的方法前,需要先通过 [accessibility.getCaptionsManager()](#accessibilitygetcaptionsmanager8)获取 CaptionsManager实例。 149 150**系统能力**:以下各项对应的系统能力均为SystemCapability.BarrierFree.Accessibility.Hearing 151 152### 属性 153 154| 名称 | 类型 | 可读 | 可写 | 说明 | 155| ------- | -------------------------------- | ---- | ---- | ----------- | 156| enabled | boolean | 是 | 否 | 表示是否启用字幕配置。 | 157| style | [CaptionsStyle](#captionsstyle8) | 是 | 否 | 表示字幕风格。 | 158 159### on('enableChange') 160 161on(type: 'enableChange', callback: Callback<boolean>): void; 162 163监听字幕配置启用状态变化事件,使用callback异步回调。 164 165**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 166 167**参数:** 168 169| 参数名 | 类型 | 必填 | 说明 | 170| -------- | ----------------------- | ---- | --------------------------------------- | 171| type | string | 是 | 监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 | 172| callback | Callback<boolean> | 是 | 回调函数,在启用状态变化时将状态通过此函数进行通知。 | 173 174**示例:** 175 176```ts 177import accessibility from '@ohos.accessibility'; 178 179let captionsManager = accessibility.getCaptionsManager(); 180try { 181 captionsManager.on('enableChange', (data: boolean) => { 182 console.info('subscribe caption manager enable state change, result: ' + JSON.stringify(data)); 183 }); 184} catch (exception) { 185 console.error('failed to subscribe caption manager enable state change, because ' + JSON.stringify(exception)); 186} 187``` 188 189### on('styleChange') 190 191on(type: 'styleChange', callback: Callback<CaptionsStyle>): void; 192 193监听字幕风格变化事件,使用callback异步回调。 194 195**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 196 197**参数:** 198 199| 参数名 | 类型 | 必填 | 说明 | 200| -------- | ---------------------------------------- | ---- | ---------------------------------- | 201| type | string | 是 | 监听的事件名,固定为‘styleChange’,即字幕风格变化事件。 | 202| callback | Callback<[CaptionsStyle](#captionsstyle8)> | 是 | 回调函数,在字幕风格变化时通过此函数进行通知。 | 203 204**示例:** 205 206```ts 207import accessibility from '@ohos.accessibility'; 208 209let captionStyle: accessibility.CaptionsStyle; 210let captionsManager = accessibility.getCaptionsManager(); 211try { 212 captionsManager.on('styleChange', (data: accessibility.CaptionsStyle) => { 213 captionStyle = data; 214 console.info('subscribe caption manager style state change, result: ' + JSON.stringify(data)); 215 }); 216} catch (exception) { 217 console.error('failed to subscribe caption manager style state change, because ' + JSON.stringify(exception)); 218} 219``` 220 221### off('enableChange') 222 223off(type: 'enableChange', callback?: Callback<boolean>): void; 224 225取消监听字幕配置启用状态变化事件,使用callback异步回调。 226 227**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 228 229**参数:** 230 231| 参数名 | 类型 | 必填 | 说明 | 232| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 233| type | string | 是 | 取消监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 | 234| callback | Callback<boolean> | 否 | 回调函数,取消指定callback对象的事件响应。需与on('enableChange')的callback一致。缺省时,表示注销所有已注册事件。 | 235 236**示例:** 237 238```ts 239import accessibility from '@ohos.accessibility'; 240 241let captionsManager = accessibility.getCaptionsManager(); 242try { 243 captionsManager.off('enableChange', (data: boolean) => { 244 console.info('Unsubscribe caption manager enable state change, result: ' + JSON.stringify(data)); 245 }); 246} catch (exception) { 247 console.error('failed to Unsubscribe caption manager enable state change, because ' + JSON.stringify(exception)); 248} 249``` 250 251### off('styleChange') 252 253off(type: 'styleChange', callback?: Callback<CaptionsStyle>): void; 254 255取消字幕风格变化监听事件,使用callback异步回调。 256 257**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 258 259**参数:** 260 261| 参数名 | 类型 | 必填 | 说明 | 262| -------- | ------------------------------------------------ | ---- | ------------------------------------------------------------ | 263| type | string | 是 | 取消监听的事件名,固定为‘styleChange’,即字幕风格变化事件。 | 264| callback | Callback<[CaptionsStyle](#captionsstyle8)> | 否 | 回调函数,取消指定callback对象的事件响应。需与on('styleChange')的callback一致。缺省时,表示注销所有已注册事件。 | 265 266**示例:** 267 268```ts 269import accessibility from '@ohos.accessibility'; 270 271let captionStyle: accessibility.CaptionsStyle; 272let captionsManager = accessibility.getCaptionsManager(); 273try { 274 captionsManager.off('styleChange', (data: accessibility.CaptionsStyle) => { 275 captionStyle = data; 276 console.info('Unsubscribe caption manager style state change, result: ' + JSON.stringify(data)); 277 }); 278} catch (exception) { 279 console.error('failed to Unsubscribe caption manager style state change, because ' + JSON.stringify(exception)); 280} 281``` 282 283## EventInfo 284 285界面变更事件。 286 287**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 288 289### 属性 290 291| 名称 | 类型 | 可读 | 可写 | 说明 | 292| ---------------- | ------------------------------------- | ---- | ---- | --------------------- | 293| type | [EventType](#eventtype) | 是 | 是 | 无障碍事件类型。 | 294| windowUpdateType | [WindowUpdateType](#windowupdatetype) | 是 | 是 | 窗口变化类型。 | 295| bundleName | string | 是 | 是 | 目标应用名。 | 296| componentType | string | 是 | 是 | 事件源组件类型,如按钮、图表。 | 297| pageId | number | 是 | 是 | 事件源的页面 ID。 | 298| description | string | 是 | 是 | 事件描述;当前版本暂不支持。 | 299| triggerAction | [Action](#action) | 是 | 是 | 触发事件的 Action。 | 300| textMoveUnit | [TextMoveUnit](#textmoveunit) | 是 | 是 | 文本移动粒度;当前版本暂不支持。 | 301| contents | Array<string> | 是 | 是 | 内容列表。 | 302| lastContent | string | 是 | 是 | 最新内容。 | 303| beginIndex | number | 是 | 是 | 画面显示条目的开始序号;当前版本暂不支持。 | 304| currentIndex | number | 是 | 是 | 当前条目序号;当前版本暂不支持。 | 305| endIndex | number | 是 | 是 | 画面显示条目的结束序号;当前版本暂不支持。 | 306| itemCount | number | 是 | 是 | 条目总数;当前版本暂不支持。 | 307 308### constructor 309 310constructor(jsonObject) 311 312构造函数。 313 314**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 315 316**参数:** 317 318| 参数名 | 类型 | 必填 | 说明 | 319| ---------- | ------ | ---- | -------------------- | 320| jsonObject | string | 是 | 创建对象所需要的 JSON 格式字符串。 | 321 322**示例:** 323 324 ```ts 325 import accessibility from '@ohos.accessibility'; 326 327 let eventInfo: accessibility.EventInfo = ({ 328 type: 'click', 329 bundleName: 'com.example.MyApplication', 330 triggerAction: 'click' 331 }); 332 ``` 333 334## EventType 335 336无障碍事件类型。 337 338**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 339 340| 名称 | 描述 | 341| ----------------------- | ---------------------- | 342| click | 描述点击组件的事件。 | 343| longClick | 描述长按组件的事件。 | 344| select | 描述选择组件的事件;当前版本暂不支持。 | 345| focus | 描述组件获得焦点的事件;当前版本暂不支持。 | 346| textUpdate | 描述组件文本已更改的事件;当前版本暂不支持。 | 347| hoverEnter | 描述悬停进入组件的事件;当前版本暂不支持。 | 348| hoverExit | 描述悬停离开组件的事件;当前版本暂不支持。 | 349| scroll | 描述滚动视图的事件;当前版本暂不支持。 | 350| textSelectionUpdate | 描述选定文本已更改的事件;当前版本暂不支持。 | 351| accessibilityFocus | 描述获得无障碍焦点的事件。 | 352| accessibilityFocusClear | 描述清除无障碍焦点的事件。 | 353 354## TextMoveUnit 355 356文本无障碍导航移动粒度。 357 358**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 359 360| 名称 | 描述 | 361| --------- | --------------- | 362| char | 以字符为移动粒度遍历节点文本。 | 363| word | 以词为移动粒度遍历节点文本。 | 364| line | 以行为移动粒度遍历节点文本。 | 365| page | 以页为移动粒度遍历节点文本。 | 366| paragraph | 以段落为移动粒度遍历节点文本。 | 367 368## WindowUpdateType 369 370窗口变化类型。 371 372**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 373 374| 名称 | 描述 | 375| ------ | ------------------ | 376| add | 添加窗口的窗口变化事件。 | 377| remove | 一个窗口被删除的窗口变化事件。 | 378| bounds | 窗口边界已更改的窗口变化事件。 | 379| active | 窗口变为活动或不活动的窗口变化事件。 | 380| focus | 窗口焦点发生变化的窗口变化事件。 | 381 382## accessibility.getAbilityLists<sup>(deprecated)</sup> 383 384getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise<Array<AccessibilityAbilityInfo>> 385 386查询辅助应用列表,使用Promise异步回调。 387 388> **说明:** 389> 390> 从API version 7开始支持,从API version 9开始废弃。 391> 推荐使用[getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9)。 392 393**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 394 395**参数:** 396 397| 参数名 | 类型 | 必填 | 说明 | 398| ----------- | ----------------------------- | ---- | -------- | 399| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 400| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 401 402**返回值:** 403 404| 类型 | 说明 | 405| ---------------------------------------- | --------------------- | 406| Promise<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | Promise对象,返回辅助应用信息列表。 | 407 408**示例:** 409 410```ts 411import accessibility from '@ohos.accessibility'; 412 413let abilityType : accessibility.AbilityType = 'spoken'; 414let abilityState : accessibility.AbilityState = 'enable'; 415let abilityList: accessibility.AccessibilityAbilityInfo[]; 416try { 417 accessibility.getAbilityLists(abilityType, abilityState) 418 .then((data: accessibility.AccessibilityAbilityInfo[]) => { 419 for (let item of data) { 420 console.info(item.id); 421 console.info(item.name); 422 console.info(item.description); 423 console.info(item.bundleName); 424 abilityList.push(item); 425 } 426 console.info('get accessibility extension list success'); 427 }) 428 .catch((err: object) => { 429 console.error('failed to get accessibility extension list because ' + JSON.stringify(err)); 430 }); 431} catch (exception) { 432 console.error('failed to get accessibility extension list because ' + JSON.stringify(exception)); 433} 434``` 435 436## accessibility.getAbilityLists<sup>(deprecated)</sup> 437 438getAbilityLists(abilityType: AbilityType, stateType: AbilityState,callback: AsyncCallback<Array<AccessibilityAbilityInfo>>): void 439 440查询辅助应用列表,使用callback异步回调。 441 442> **说明:** 443> 444> 从API version 7开始支持,从API version 9开始废弃。 445> 推荐使用[getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9-1)。 446 447**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 448 449**参数:** 450 451| 参数名 | 类型 | 必填 | 说明 | 452| ----------- | ---------------------------------------- | ---- | ---------------- | 453| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 454| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 455| callback | AsyncCallback<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | 是 | 回调函数,返回辅助应用信息列表。 | 456 457**示例:** 458 459```ts 460import accessibility from '@ohos.accessibility'; 461import { BusinessError } from '@ohos.base'; 462 463let abilityType : accessibility.AbilityType = 'spoken'; 464let abilityState : accessibility.AbilityState = 'enable'; 465let abilityList: accessibility.AccessibilityAbilityInfo[]; 466try { 467 accessibility.getAbilityLists(abilityType, abilityState, 468 (err: BusinessError<void>, data: accessibility.AccessibilityAbilityInfo[]) => { 469 if (err) { 470 console.error('failed to get accessibility extension list because ' + JSON.stringify(err)); 471 return; 472 } 473 for (let item of data) { 474 console.info(item.id); 475 console.info(item.name); 476 console.info(item.description); 477 console.info(item.bundleName); 478 abilityList.push(item); 479 } 480 console.info('get accessibility extension list success'); 481 }) 482} catch (exception) { 483 console.error('failed to get accessibility extension list because ' + JSON.stringify(exception)); 484} 485``` 486 487## accessibility.getAccessibilityExtensionList<sup>9+</sup> 488 489getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState): Promise<Array<AccessibilityAbilityInfo>> 490 491查询辅助应用列表,使用Promise异步回调。 492 493**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 494 495**参数:** 496 497| 参数名 | 类型 | 必填 | 说明 | 498| ----------- | ----------------------------- | ---- | -------- | 499| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 500| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 501 502**返回值:** 503 504| 类型 | 说明 | 505| ---------------------------------------- | --------------------- | 506| Promise<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | Promise对象,返回辅助应用信息列表。 | 507 508**示例:** 509 510```ts 511import accessibility from '@ohos.accessibility'; 512 513let abilityType : accessibility.AbilityType = 'spoken'; 514let abilityState : accessibility.AbilityState = 'enable'; 515let extensionList: accessibility.AccessibilityAbilityInfo[] = []; 516try { 517 accessibility.getAccessibilityExtensionList(abilityType, abilityState) 518 .then((data: accessibility.AccessibilityAbilityInfo[]) => { 519 for (let item of data) { 520 console.info(item.id); 521 console.info(item.name); 522 console.info(item.description); 523 console.info(item.bundleName); 524 extensionList.push(item); 525 } 526 console.info('get accessibility extension list success'); 527 }) 528 .catch((err: object) => { 529 console.error('failed to get accessibility extension list because ' + JSON.stringify(err)); 530 }); 531} catch (exception) { 532 console.error('failed to get accessibility extension list because ' + JSON.stringify(exception)); 533} 534``` 535 536## accessibility.getAccessibilityExtensionList<sup>9+</sup> 537 538getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState, callback: AsyncCallback<Array<AccessibilityAbilityInfo>>): void 539 540查询辅助应用列表,使用callback异步回调。 541 542**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 543 544**参数:** 545 546| 参数名 | 类型 | 必填 | 说明 | 547| ----------- | ---------------------------------------- | ---- | ---------------- | 548| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 549| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 550| callback | AsyncCallback<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | 是 | 回调函数,返回辅助应用信息列表。 | 551 552**示例:** 553 554```ts 555import accessibility from '@ohos.accessibility'; 556import { BusinessError } from '@ohos.base'; 557 558let abilityType : accessibility.AbilityType = 'spoken'; 559let abilityState : accessibility.AbilityState = 'enable'; 560let extensionList: accessibility.AccessibilityAbilityInfo[] = []; 561try { 562 accessibility.getAccessibilityExtensionList(abilityType, abilityState, 563 (err: BusinessError<void>, data: accessibility.AccessibilityAbilityInfo[]) => { 564 if (err) { 565 console.error('failed to get accessibility extension list because ' + JSON.stringify(err)); 566 return; 567 } 568 for (let item of data) { 569 console.info(item.id); 570 console.info(item.name); 571 console.info(item.description); 572 console.info(item.bundleName); 573 extensionList.push(item); 574 } 575 console.info('get accessibility extension list success'); 576 }); 577} catch (exception) { 578 console.error('failed to get accessibility extension list because ' + JSON.stringify(exception)); 579} 580``` 581 582## accessibility.getCaptionsManager<sup>8+</sup> 583 584getCaptionsManager(): CaptionsManager 585 586获取无障碍字幕配置管理实例。 587 588**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 589 590**返回值:** 591 592| 类型 | 说明 | 593| ------------------------------------ | ---------- | 594| [CaptionsManager](#captionsmanager8) | 无障碍字幕配置管理。 | 595 596**示例:** 597 598```ts 599import accessibility from '@ohos.accessibility'; 600 601let captionsManager = accessibility.getCaptionsManager(); 602``` 603 604## accessibility.on('accessibilityStateChange') 605 606on(type: 'accessibilityStateChange', callback: Callback<boolean>): void 607 608监听辅助应用启用状态变化事件,使用callback异步回调。 609 610**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 611 612**参数:** 613 614| 参数名 | 类型 | 必填 | 说明 | 615| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 616| type | string | 是 | 监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 | 617| callback | Callback<boolean> | 是 | 回调函数,在辅助应用启用状态变化时将状态通过此函数进行通知。此状态为全局辅助应用启用状态。 | 618 619**示例:** 620 621```ts 622import accessibility from '@ohos.accessibility'; 623 624try { 625 accessibility.on('accessibilityStateChange', (data: boolean) => { 626 console.info('subscribe accessibility state change, result: ' + JSON.stringify(data)); 627 }); 628} catch (exception) { 629 console.error('failed to subscribe accessibility state change, because ' + JSON.stringify(exception)); 630} 631``` 632 633## accessibility.on('touchGuideStateChange') 634 635on(type: 'touchGuideStateChange', callback: Callback<boolean>): void 636 637监听触摸浏览功能启用状态变化事件,使用callback异步回调。 638 639**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 640 641**参数:** 642 643| 参数名 | 类型 | 必填 | 说明 | 644| -------- | ----------------------- | ---- | ---------------------------------------- | 645| type | string | 是 | 监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 | 646| callback | Callback<boolean> | 是 | 回调函数,在触摸浏览启用状态变化时将状态通过此函数进行通知。 | 647 648**示例:** 649 650```ts 651import accessibility from '@ohos.accessibility'; 652 653try { 654 accessibility.on('touchGuideStateChange', (data: boolean) => { 655 console.info('subscribe touch guide state change, result: ' + JSON.stringify(data)); 656 }); 657} catch (exception) { 658 console.error('failed to subscribe touch guide state change, because ' + JSON.stringify(exception)); 659} 660``` 661 662## accessibility.off('accessibilityStateChange') 663 664off(type: 'accessibilityStateChange', callback?: Callback<boolean>): void 665 666取消监听辅助应用启用状态变化事件,使用callback异步回调。 667 668**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 669 670**参数:** 671 672| 参数名 | 类型 | 必填 | 说明 | 673| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 674| type | string | 是 | 取消监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 | 675| callback | Callback<boolean> | 否 | 回调函数,取消指定callback对象的事件响应。需与accessibility.on('accessibilityStateChange')的callback一致。缺省时,表示注销所有已注册事件。 | 676 677**示例:** 678 679```ts 680import accessibility from '@ohos.accessibility'; 681 682try { 683 accessibility.off('accessibilityStateChange', (data: boolean) => { 684 console.info('Unsubscribe accessibility state change, result: ' + JSON.stringify(data)); 685 }); 686} catch (exception) { 687 console.error('failed to Unsubscribe accessibility state change, because ' + JSON.stringify(exception)); 688} 689``` 690 691## accessibility.off('touchGuideStateChange') 692 693off(type: 'touchGuideStateChange', callback?: Callback<boolean>): void 694 695取消监听触摸浏览启用状态变化事件,使用callback异步回调。 696 697**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 698 699**参数:** 700 701| 参数名 | 类型 | 必填 | 说明 | 702| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 703| type | string | 是 | 取消监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 | 704| callback | Callback<boolean> | 否 | 回调函数,取消指定callback对象的事件响应。需与accessibility.on('touchGuideStateChange')的callback一致。缺省时,表示注销所有已注册事件。 | 705 706**示例:** 707 708```ts 709import accessibility from '@ohos.accessibility'; 710 711try { 712 accessibility.off('touchGuideStateChange', (data: boolean) => { 713 console.info('Unsubscribe touch guide state change, result: ' + JSON.stringify(data)); 714 }); 715} catch (exception) { 716 console.error('failed to Unsubscribe touch guide state change, because ' + JSON.stringify(exception)); 717} 718``` 719 720## accessibility.isOpenAccessibility<sup>(deprecated)</sup> 721 722isOpenAccessibility(): Promise<boolean> 723 724判断是否启用了辅助功能, 使用Promise异步回调。 725 726**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 727 728**返回值:** 729 730| 类型 | 说明 | 731| ---------------------- | ---------------------------------------- | 732| Promise<boolean> | Promise对象,如果辅助功能已启用,则返回 true;否则返回 false。 | 733 734**示例:** 735 736```ts 737import accessibility from '@ohos.accessibility'; 738 739accessibility.isOpenAccessibility().then((data: boolean) => { 740 console.info('success data:isOpenAccessibility : ' + JSON.stringify(data)) 741}).catch((err: object) => { 742 console.error('failed to isOpenAccessibility because ' + JSON.stringify(err)); 743}); 744``` 745 746## accessibility.isOpenAccessibility<sup>(deprecated)</sup> 747 748isOpenAccessibility(callback: AsyncCallback<boolean>): void 749 750判断是否启用了辅助功能,使用callback异步回调。 751 752**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 753 754**参数:** 755 756| 参数名 | 类型 | 必填 | 说明 | 757| -------- | ---------------------------- | ---- | ----------------------------------- | 758| callback | AsyncCallback<boolean> | 是 | 回调函数,如果辅助功能已启用,则返回 true;否则返回 false。 | 759 760**示例:** 761 762```ts 763import accessibility from '@ohos.accessibility'; 764import { BusinessError } from '@ohos.base'; 765 766accessibility.isOpenAccessibility((err: BusinessError<void>, data: boolean) => { 767 if (err) { 768 console.error('failed to isOpenAccessibility because ' + JSON.stringify(err)); 769 return; 770 } 771 console.info('success data:isOpenAccessibility : ' + JSON.stringify(data)) 772}); 773``` 774 775## accessibility.isOpenAccessibilitySync<sup>10+</sup> 776 777isOpenAccessibilitySync(): boolean 778 779是否启用了辅助功能。 780 781**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 782 783**返回值:** 784 785| 类型 | 说明 | 786| ----------- | ------------------------------------- | 787| boolean> | 启用辅助功能返回true,否则返回false。 | 788 789**示例:** 790 791```ts 792import accessibility from '@ohos.accessibility'; 793import { BusinessError } from '@ohos.base'; 794 795try { 796 let status: boolean = accessibility.isOpenAccessibilitySync(); 797} catch (exception) { 798 console.error('failed to isOpenAccessibilitySync because ' + JSON.stringify(exception)); 799} 800``` 801 802## accessibility.isOpenTouchGuide<sup>(deprecated)</sup> 803 804isOpenTouchGuide(): Promise<boolean> 805 806判断触摸浏览模式是否开启, 使用Promise异步回调。 807 808**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 809 810**返回值:** 811 812| 类型 | 说明 | 813| ---------------------- | ---------------------------------------- | 814| Promise<boolean> | Promise对象,如果触摸浏览模式已开启,则返回 true;否则返回 false。 | 815 816**示例:** 817 818```ts 819import accessibility from '@ohos.accessibility'; 820 821accessibility.isOpenTouchGuide().then((data: boolean) => { 822 console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data)) 823}).catch((err: object) => { 824 console.error('failed to isOpenTouchGuide because ' + JSON.stringify(err)); 825}); 826``` 827 828## accessibility.isOpenTouchGuide<sup>(deprecated)</sup> 829 830isOpenTouchGuide(callback: AsyncCallback<boolean>): void 831 832判断触摸浏览模式是否开启, 使用callback异步回调。 833 834**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 835 836**参数:** 837 838| 参数名 | 类型 | 必填 | 说明 | 839| -------- | ---------------------------- | ---- | ------------------------------------- | 840| callback | AsyncCallback<boolean> | 是 | 回调函数,如果触摸浏览模式已开启,则返回 true;否则返回 false。 | 841 842**示例:** 843 844```ts 845import accessibility from '@ohos.accessibility'; 846import { BusinessError } from '@ohos.base'; 847 848accessibility.isOpenTouchGuide((err: BusinessError<void>, data: boolean) => { 849 if (err) { 850 console.error('failed to isOpenTouchGuide because ' + JSON.stringify(err)); 851 return; 852 } 853 console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data)) 854}); 855``` 856 857## accessibility.isOpenTouchGuideSync<sup>10+</sup> 858 859isOpenTouchGuideSync(): boolean 860 861是否开启了触摸浏览模式。 862 863**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 864 865**返回值:** 866 867| 类型 | 说明 | 868| ------- | ------------------------------------- | 869| boolean | 启用辅助功能返回true,否则返回false。 | 870 871**示例:** 872 873```ts 874import accessibility from '@ohos.accessibility'; 875import { BusinessError } from '@ohos.base'; 876 877try { 878 let status: boolean = accessibility.isOpenTouchGuideSync(); 879} catch (exception) { 880 console.error('failed to isOpenTouchGuideSync because ' + JSON.stringify(exception)); 881} 882``` 883 884## accessibility.sendEvent<sup>(deprecated)</sup> 885 886sendEvent(event: EventInfo): Promise<void> 887 888发送无障碍事件, 使用Promise异步回调。 889 890> **说明:** 891> 892> 从API version 7开始支持,从API version 9开始废弃。 893> 推荐使用[sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9)。 894 895**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 896 897**参数:** 898 899| 参数名 | 类型 | 必填 | 说明 | 900| ----- | ----------------------- | ---- | -------- | 901| event | [EventInfo](#eventinfo) | 是 | 无障碍事件对象。 | 902 903**返回值:** 904 905| 类型 | 说明 | 906| ------------------- | ---------------- | 907| Promise<void> | 无返回结果的Promise对象。 | 908 909**示例:** 910 911```ts 912import accessibility from '@ohos.accessibility'; 913 914let eventInfo: accessibility.EventInfo = ({ 915 type: 'click', 916 bundleName: 'com.example.MyApplication', 917 triggerAction: 'click' 918}); 919accessibility.sendEvent(eventInfo).then(() => { 920 console.info('send event success'); 921}).catch((err: object) => { 922 console.error('failed to sendEvent because ' + JSON.stringify(err)); 923}); 924``` 925 926## accessibility.sendEvent<sup>(deprecated)</sup> 927 928sendEvent(event: EventInfo, callback: AsyncCallback<void>): void 929 930发送无障碍事件, 使用callback异步回调。 931 932> **说明:** 933> 934> 从API version 7开始支持,从API version 9开始废弃。 935> 推荐使用[sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9-1)。 936 937**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 938 939**参数:** 940 941| 参数名 | 类型 | 必填 | 说明 | 942| -------- | ------------------------- | ---- | ---------------------------------------- | 943| event | [EventInfo](#eventinfo) | 是 | 辅助事件对象。 | 944| callback | AsyncCallback<void> | 是 | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 | 945 946**示例:** 947 948```ts 949import accessibility from '@ohos.accessibility'; 950import { BusinessError } from '@ohos.base'; 951 952let eventInfo: accessibility.EventInfo = ({ 953 type: 'click', 954 bundleName: 'com.example.MyApplication', 955 triggerAction: 'click' 956}); 957accessibility.sendEvent(eventInfo, (err: BusinessError<void>) => { 958 if (err) { 959 console.error('failed to sendEvent because ' + JSON.stringify(err)); 960 return; 961 } 962 console.info('sendEvent success'); 963}); 964``` 965 966## accessibility.sendAccessibilityEvent<sup>9+</sup> 967 968sendAccessibilityEvent(event: EventInfo): Promise<void> 969 970发送无障碍事件, 使用Promise异步回调。 971 972**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 973 974**参数:** 975 976| 参数名 | 类型 | 必填 | 说明 | 977| ----- | ----------------------- | ---- | -------- | 978| event | [EventInfo](#eventinfo) | 是 | 无障碍事件对象。 | 979 980**返回值:** 981 982| 类型 | 说明 | 983| ------------------- | ---------------- | 984| Promise<void> | 无返回结果的Promise对象。 | 985 986**示例:** 987 988```ts 989import accessibility from '@ohos.accessibility'; 990 991let eventInfo: accessibility.EventInfo = ({ 992 type: 'click', 993 bundleName: 'com.example.MyApplication', 994 triggerAction: 'click' 995}); 996try { 997 accessibility.sendAccessibilityEvent(eventInfo).then(() => { 998 console.info('send event success'); 999 }).catch((err: object) => { 1000 console.error('failed to send event because ' + JSON.stringify(err)); 1001 }); 1002} catch (exception) { 1003 console.error('failed to send event because ' + JSON.stringify(exception)); 1004} 1005``` 1006 1007## accessibility.sendAccessibilityEvent<sup>9+</sup> 1008 1009sendAccessibilityEvent(event: EventInfo, callback: AsyncCallback<void>): void 1010 1011发送无障碍事件, 使用callback异步回调。 1012 1013**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 1014 1015**参数:** 1016 1017| 参数名 | 类型 | 必填 | 说明 | 1018| -------- | ------------------------- | ---- | ---------------------------------------- | 1019| event | [EventInfo](#eventinfo) | 是 | 辅助事件对象。 | 1020| callback | AsyncCallback<void> | 是 | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 | 1021 1022**示例:** 1023 1024```ts 1025import accessibility from '@ohos.accessibility'; 1026import { BusinessError } from '@ohos.base'; 1027 1028let eventInfo: accessibility.EventInfo = ({ 1029 type: 'click', 1030 bundleName: 'com.example.MyApplication', 1031 triggerAction: 'click' 1032}); 1033try { 1034 accessibility.sendAccessibilityEvent(eventInfo, (err: BusinessError<void>) => { 1035 if (err) { 1036 console.error('failed to send event because ' + JSON.stringify(err)); 1037 return; 1038 } 1039 console.info('send event success'); 1040 }); 1041} catch (exception) { 1042 console.error('failed to send event because ' + JSON.stringify(exception)); 1043} 1044``` 1045