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 | 是 | 否 | 包名。 | 55| targetBundleNames<sup>9+</sup> | Array<string> | 是 | 否 | 关注的目标包名。 | 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 | 是 | 否 | 描述字幕字体缩放系数。 | 141| fontColor | number \| string | 是 | 否 | 描述字幕字体颜色。 | 142| fontEdgeType | [CaptionsFontEdgeType](#captionsfontedgetype8) | 是 | 否 | 描述字幕字体边缘。 | 143| backgroundColor | number \| string | 是 | 否 | 描述字幕背景颜色。 | 144| windowColor | number \| string | 是 | 否 | 描述字幕窗口颜色。 | 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**参数:** 166 167| 参数名 | 类型 | 必填 | 说明 | 168| -------- | -------- | -------- | -------- | 169| type | string | 是 | 监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 | 170| callback | Callback<boolean> | 是 | 回调函数,在启用状态变化时将状态通过此函数进行通知。 | 171 172**示例:** 173 174```ts 175let captionsManager = accessibility.getCaptionsManager(); 176try { 177 captionsManager.on('enableChange', (data) => { 178 console.info('subscribe caption manager enable state change, result: ' + JSON.stringify(data)); 179 }); 180} catch (exception) { 181 console.error('failed to subscribe caption manager enable state change, because ' + JSON.stringify(exception)); 182} 183``` 184 185### on('styleChange') 186 187on(type: 'styleChange', callback: Callback<CaptionsStyle>): void; 188 189监听字幕风格变化事件,使用callback异步回调。 190 191**参数:** 192 193| 参数名 | 类型 | 必填 | 说明 | 194| -------- | -------- | -------- | -------- | 195| type | string | 是 | 监听的事件名,固定为‘styleChange’,即字幕风格变化事件。 | 196| callback | Callback<[CaptionsStyle](#captionsstyle8)> | 是 | 回调函数,在字幕风格变化时通过此函数进行通知。 | 197 198**示例:** 199 200```ts 201let captionStyle; 202let captionsManager = accessibility.getCaptionsManager(); 203try { 204 captionsManager.on('styleChange', (data) => { 205 captionStyle = data; 206 console.info('subscribe caption manager style state change, result: ' + JSON.stringify(data)); 207 }); 208} catch (exception) { 209 console.error('failed to subscribe caption manager style state change, because ' + JSON.stringify(exception)); 210} 211``` 212 213### off('enableChange') 214 215off(type: 'enableChange', callback?: Callback<boolean>): void; 216 217取消监听字幕配置启用状态变化事件,使用callback异步回调。 218 219**参数:** 220 221| 参数名 | 类型 | 必填 | 说明 | 222| -------- | -------- | -------- | -------- | 223| type | string | 是 | 取消监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 | 224| callback | Callback<boolean> | 否 | 回调函数,在字幕配置启用状态变化时将状态通过此函数进行通知。 | 225 226**示例:** 227 228```ts 229let captionsManager = accessibility.getCaptionsManager(); 230try { 231 captionsManager.off('enableChange', (data) => { 232 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``` 238 239### off('styleChange') 240 241off(type: 'styleChange', callback?: Callback<CaptionsStyle>): void; 242 243取消字幕风格变化监听事件,使用callback异步回调。 244 245**参数:** 246 247| 参数名 | 类型 | 必填 | 说明 | 248| -------- | -------- | -------- | -------- | 249| type | string | 是 | 取消监听的事件名,固定为‘styleChange’,即字幕风格变化事件。 | 250| callback | Callback<[CaptionsStyle](#captionsstyle8)> | 否 | 回调函数,在字幕风格变化时通过此函数进行通知。 | 251 252**示例:** 253 254```ts 255let captionStyle; 256let captionsManager = accessibility.getCaptionsManager(); 257try { 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``` 266 267## EventInfo 268 269界面变更事件。 270 271**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 272 273### 属性 274 275| 名称 | 类型 | 可读 | 可写 | 说明 | 276| -------- | -------- | -------- | -------- | -------- | 277| type | [EventType](#eventtype) | 是 | 是 | 无障碍事件类型。 | 278| windowUpdateType | [WindowUpdateType](#windowupdatetype) | 是 | 是 | 窗口变化类型。 | 279| bundleName | string | 是 | 是 | 目标应用名。 | 280| componentType | string | 是 | 是 | 事件源组件类型,如按钮、图表。 | 281| pageId | number | 是 | 是 | 事件源的页面 ID。 | 282| description | string | 是 | 是 | 事件描述。 | 283| triggerAction | [Action](#action) | 是 | 是 | 触发事件的 Action。 | 284| textMoveUnit | [TextMoveUnit](#textmoveunit) | 是 | 是 | 文本移动粒度。 | 285| contents | Array<string> | 是 | 是 | 内容列表。 | 286| lastContent | string | 是 | 是 | 最新内容。 | 287| beginIndex | number | 是 | 是 | 画面显示条目的开始序号。 | 288| currentIndex | number | 是 | 是 | 当前条目序号。 | 289| endIndex | number | 是 | 是 | 画面显示条目的结束序号。 | 290| itemCount | number | 是 | 是 | 条目总数。 | 291 292### constructor 293 294constructor(jsonObject) 295 296构造函数。 297 298**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 299 300**参数:** 301 302| 参数名 | 类型 | 必填 | 说明 | 303| -------- | -------- | -------- | -------- | 304| jsonObject | string | 是 | 创建对象所需要的 JSON 格式字符串。 | 305 306**示例:** 307 308 ```ts 309 let eventInfo = new accessibility.EventInfo({ 310 'type':'click', 311 'bundleName':'com.example.MyApplication', 312 'triggerAction':'click' 313 }); 314 ``` 315 316## EventType 317 318无障碍事件类型。 319 320**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 321 322| 名称 | 描述 | 323| -------- | -------- | 324| click | 描述点击组件的事件。 | 325| longClick | 描述长按组件的事件。 | 326| select | 描述选择组件的事件。 | 327| focus | 描述组件获得焦点的事件。 | 328| textUpdate | 描述组件文本已更改的事件。 | 329| hoverEnter | 描述悬停进入组件的事件。 | 330| hoverExit | 描述悬停离开组件的事件。 | 331| scroll | 描述滚动视图的事件。 | 332| textSelectionUpdate | 描述选定文本已更改的事件。 | 333| accessibilityFocus | 描述获得无障碍焦点的事件。 | 334| accessibilityFocusClear | 描述清除无障碍焦点的事件。 | 335 336## TextMoveUnit 337 338文本无障碍导航移动粒度。 339 340**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 341 342| 名称 | 描述 | 343| -------- | -------- | 344| char | 以字符为移动粒度遍历节点文本。 | 345| word | 以词为移动粒度遍历节点文本。 | 346| line | 以行为移动粒度遍历节点文本。 | 347| page | 以页为移动粒度遍历节点文本。 | 348| paragraph | 以段落为移动粒度遍历节点文本。 | 349 350## WindowUpdateType 351 352窗口变化类型。 353 354**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 355 356| 名称 | 描述 | 357| -------- | -------- | 358| add | 添加窗口的窗口变化事件。 | 359| remove | 一个窗口被删除的窗口变化事件。 | 360| bounds | 窗口边界已更改的窗口变化事件。 | 361| active | 窗口变为活动或不活动的窗口变化事件。 | 362| focus | 窗口焦点发生变化的窗口变化事件。 | 363 364## accessibility.getAbilityLists<sup>(deprecated)</sup> 365 366getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise<Array<AccessibilityAbilityInfo>> 367 368查询辅助应用列表,使用Promise异步回调。 369 370> **说明:** 371> 372> 从API version 7开始支持,从API version 9开始废弃。 373> 推荐使用[getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9)。 374 375**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 376 377**参数:** 378 379| 参数名 | 类型 | 必填 | 说明 | 380| -------- | -------- | -------- | -------- | 381| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 382| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 383 384**返回值:** 385 386| 类型 | 说明 | 387| -------- | -------- | 388| Promise<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | Promise对象,返回辅助应用信息列表。 | 389 390**示例:** 391 392```ts 393let abilityType = 'spoken'; 394let abilityState = 'enable'; 395let abilityList: accessibility.AccessibilityInfo[]; 396try { 397 accessibility.getAbilityLists(abilityType, abilityState).then((data) => { 398 for (let item of data) { 399 console.info(item.id); 400 console.info(item.name); 401 console.info(item.description); 402 console.info(item.bundleName); 403 extensionList.push(item); 404 } 405 console.info('get accessibility extension list success'); 406 }).catch((err) => { 407 console.error('failed to get accessibility extension list because ' + JSON.stringify(err)); 408 }); 409} catch (exception) { 410 console.error('failed to get accessibility extension list because ' + JSON.stringify(exception)); 411} 412``` 413 414## accessibility.getAbilityLists<sup>(deprecated)</sup> 415 416getAbilityLists(abilityType: AbilityType, stateType: AbilityState,callback: AsyncCallback<Array<AccessibilityAbilityInfo>>): void 417 418查询辅助应用列表,使用callback异步回调。 419 420> **说明:** 421> 422> 从API version 7开始支持,从API version 9开始废弃。 423> 推荐使用[getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9-1)。 424 425**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 426 427**参数:** 428 429| 参数名 | 类型 | 必填 | 说明 | 430| -------- | -------- | -------- | -------- | 431| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 432| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 433| callback | AsyncCallback<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | 是 | 回调函数,返回辅助应用信息列表。 | 434 435**示例:** 436 437```ts 438let abilityType = 'spoken'; 439let abilityState = 'enable'; 440let abilityList: accessibility.AccessibilityInfo[]; 441try { 442 accessibility.getAbilityLists(abilityType, abilityState, (err, data) => { 443 if (err) { 444 console.error('failed to get accessibility extension list because ' + JSON.stringify(err)); 445 return; 446 } 447 for (let item of data) { 448 console.info(item.id); 449 console.info(item.name); 450 console.info(item.description); 451 console.info(item.bundleName); 452 abilityList.push(item); 453 } 454 console.info('get accessibility extension list success'); 455 }).catch((err) => { 456 console.error('failed to get accessibility extension list because ' + JSON.stringify(err)); 457 }); 458} catch (exception) { 459 console.error('failed to get accessibility extension list because ' + JSON.stringify(exception)); 460} 461``` 462 463## accessibility.getAccessibilityExtensionList<sup>9+</sup> 464 465getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState): Promise<Array<AccessibilityAbilityInfo>> 466 467查询辅助应用列表,使用Promise异步回调。 468 469**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 470 471**参数:** 472 473| 参数名 | 类型 | 必填 | 说明 | 474| -------- | -------- | -------- | -------- | 475| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 476| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 477 478**返回值:** 479 480| 类型 | 说明 | 481| -------- | -------- | 482| Promise<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | Promise对象,返回辅助应用信息列表。 | 483 484**示例:** 485 486```ts 487let abilityType : accessibility.AbilityType = 'spoken'; 488let abilityState : accessibility.AbilityState = 'enable'; 489let extensionList: accessibility.AccessibilityAbilityInfo[] = []; 490try { 491 accessibility.getAccessibilityExtensionList(abilityType, abilityState).then((data) => { 492 for (let item of data) { 493 console.info(item.id); 494 console.info(item.name); 495 console.info(item.description); 496 console.info(item.bundleName); 497 extensionList.push(item); 498 } 499 console.info('get accessibility extension list success'); 500 }).catch((err) => { 501 console.error('failed to get accessibility extension list because ' + JSON.stringify(err)); 502 }); 503} catch (exception) { 504 console.error('failed to get accessibility extension list because ' + JSON.stringify(exception)); 505} 506``` 507 508## accessibility.getAccessibilityExtensionList<sup>9+</sup> 509 510getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState, callback: AsyncCallback<Array<AccessibilityAbilityInfo>>): void 511 512查询辅助应用列表,使用callback异步回调。 513 514**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 515 516**参数:** 517 518| 参数名 | 类型 | 必填 | 说明 | 519| -------- | -------- | -------- | -------- | 520| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 521| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 522| callback | AsyncCallback<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | 是 | 回调函数,返回辅助应用信息列表。 | 523 524**示例:** 525 526```ts 527let abilityType : accessibility.AbilityType = 'spoken'; 528let abilityState : accessibility.AbilityState = 'enable'; 529let extensionList: accessibility.AccessibilityAbilityInfo[] = []; 530try { 531 accessibility.getAccessibilityExtensionList(abilityType, abilityState, (err, data) => { 532 if (err) { 533 console.error('failed to get accessibility extension list because ' + JSON.stringify(err)); 534 return; 535 } 536 for (let item of data) { 537 console.info(item.id); 538 console.info(item.name); 539 console.info(item.description); 540 console.info(item.bundleName); 541 extensionList.push(item); 542 } 543 console.info('get accessibility extension list success'); 544 }); 545} catch (exception) { 546 console.error('failed to get accessibility extension list because ' + JSON.stringify(exception)); 547} 548``` 549 550## accessibility.getCaptionsManager<sup>8+</sup> 551 552getCaptionsManager(): CaptionsManager 553 554获取无障碍字幕配置管理实例。 555 556**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 557 558**返回值:** 559 560| 类型 | 说明 | 561| -------- | -------- | 562| [CaptionsManager](#captionsmanager8) | 无障碍字幕配置管理。 | 563 564**示例:** 565 566```ts 567let captionsManager = accessibility.getCaptionsManager(); 568``` 569 570## accessibility.on('accessibilityStateChange') 571 572on(type: 'accessibilityStateChange', callback: Callback<boolean>): void 573 574监听辅助应用启用状态变化事件,使用callback异步回调。 575 576**系统能力**:以下各项对应的系统能力有所不同,详见下表。 577 578**参数:** 579 580| 参数名 | 类型 | 必填 | 说明 | 581| -------- | -------- | -------- | -------- | 582| type | string | 是 | 监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 | 583| callback | Callback<boolean> | 是 | 回调函数,在辅助应用启用状态变化时将状态通过此函数进行通知。 | 584 585**示例:** 586 587```ts 588try { 589 accessibility.on('accessibilityStateChange', (data) => { 590 console.info('subscribe accessibility state change, result: ' + JSON.stringify(data)); 591 }); 592} catch (exception) { 593 console.error('failed to subscribe accessibility state change, because ' + JSON.stringify(exception)); 594} 595``` 596 597## accessibility.on('touchGuideStateChange') 598 599on(type: 'touchGuideStateChange', callback: Callback<boolean>): void 600 601监听触摸浏览功能启用状态变化事件,使用callback异步回调。 602 603**系统能力**:以下各项对应的系统能力有所不同,详见下表。 604 605**参数:** 606 607| 参数名 | 类型 | 必填 | 说明 | 608| -------- | -------- | -------- | -------- | 609| type | string | 是 | 监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 | 610| callback | Callback<boolean> | 是 | 回调函数,在触摸浏览启用状态变化时将状态通过此函数进行通知。 | 611 612**示例:** 613 614```ts 615try { 616 accessibility.on('touchGuideStateChange', (data) => { 617 console.info('subscribe touch guide state change, result: ' + JSON.stringify(data)); 618 }); 619} catch (exception) { 620 console.error('failed to subscribe touch guide state change, because ' + JSON.stringify(exception)); 621} 622``` 623 624## accessibility.off('accessibilityStateChange') 625 626off(type: 'accessibilityStateChange', callback?: Callback<boolean>): void 627 628取消监听辅助应用启用状态变化事件,使用callback异步回调。 629 630**系统能力**:以下各项对应的系统能力有所不同,详见下表。 631 632**参数:** 633 634| 参数名 | 类型 | 必填 | 说明 | 635| -------- | -------- | -------- | -------- | 636| type | string | 否 | 取消监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 | 637| callback | Callback<boolean> | 否 | 回调函数,在辅助应用启用状态变化时将状态通过此函数进行通知。 | 638 639**示例:** 640 641```ts 642try { 643 accessibility.off('accessibilityStateChange', (data) => { 644 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} 649``` 650 651## accessibility.off('touchGuideStateChange') 652 653off(type: 'touchGuideStateChange', callback?: Callback<boolean>): void 654 655取消监听触摸浏览启用状态变化事件,使用callback异步回调。 656 657**系统能力**:以下各项对应的系统能力有所不同,详见下表。 658 659**参数:** 660 661| 参数名 | 类型 | 必填 | 说明 | 662| -------- | -------- | -------- | -------- | 663| type | string | 否 | 取消监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 | 664| callback | Callback<boolean> | 否 | 回调函数,在触摸浏览启用状态变化时将状态通过此函数进行通知。 | 665 666**示例:** 667 668```ts 669try { 670 accessibility.off('touchGuideStateChange', (data) => { 671 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} 676``` 677 678## accessibility.isOpenAccessibility 679 680isOpenAccessibility(): Promise<boolean> 681 682判断是否启用了辅助功能, 使用Promise异步回调。 683 684**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 685 686**返回值:** 687 688| 类型 | 说明 | 689| -------- | -------- | 690| Promise<boolean> | Promise对象,如果辅助功能已启用,则返回 true;否则返回 false。 | 691 692**示例:** 693 694```ts 695accessibility.isOpenAccessibility().then((data) => { 696 console.info('success data:isOpenAccessibility : ' + JSON.stringify(data)) 697}).catch((err) => { 698 console.error('failed to isOpenAccessibility because ' + JSON.stringify(err)); 699}); 700``` 701 702## accessibility.isOpenAccessibility 703 704isOpenAccessibility(callback: AsyncCallback<boolean>): void 705 706判断是否启用了辅助功能,使用callback异步回调。 707 708**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 709 710**参数:** 711 712| 参数名 | 类型 | 必填 | 说明 | 713| -------- | -------- | -------- | -------- | 714| callback | AsyncCallback<boolean> | 是 | 回调函数,如果辅助功能已启用,则返回 true;否则返回 false。 | 715 716**示例:** 717 718```ts 719accessibility.isOpenAccessibility((err, data) => { 720 if (err) { 721 console.error('failed to isOpenAccessibility because ' + JSON.stringify(err)); 722 return; 723 } 724 console.info('success data:isOpenAccessibility : ' + JSON.stringify(data)) 725}); 726``` 727 728## accessibility.isOpenTouchGuide 729 730isOpenTouchGuide(): Promise<boolean> 731 732判断触摸浏览模式是否开启, 使用Promise异步回调。 733 734**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 735 736**返回值:** 737 738| 类型 | 说明 | 739| -------- | -------- | 740| Promise<boolean> | Promise对象,如果触摸浏览模式已开启,则返回 true;否则返回 false。 | 741 742**示例:** 743 744```ts 745accessibility.isOpenTouchGuide().then((data) => { 746 console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data)) 747}).catch((err) => { 748 console.error('failed to isOpenTouchGuide because ' + JSON.stringify(err)); 749}); 750``` 751 752## accessibility.isOpenTouchGuide 753 754isOpenTouchGuide(callback: AsyncCallback<boolean>): void 755 756判断触摸浏览模式是否开启, 使用callback异步回调。 757 758**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 759 760**参数:** 761 762| 参数名 | 类型 | 必填 | 说明 | 763| -------- | -------- | -------- | -------- | 764| callback | AsyncCallback<boolean> | 是 | 回调函数,如果触摸浏览模式已开启,则返回 true;否则返回 false。 | 765 766**示例:** 767 768```ts 769accessibility.isOpenTouchGuide((err, data) => { 770 if (err) { 771 console.error('failed to isOpenTouchGuide because ' + JSON.stringify(err)); 772 return; 773 } 774 console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data)) 775}); 776 ``` 777 778## accessibility.sendEvent<sup>(deprecated)</sup> 779 780sendEvent(event: EventInfo): Promise<void> 781 782发送无障碍事件, 使用Promise异步回调。 783 784> **说明:** 785> 786> 从API version 7开始支持,从API version 9开始废弃。 787> 推荐使用[sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9)。 788 789**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 790 791**参数:** 792 793| 参数名 | 类型 | 必填 | 说明 | 794| -------- | -------- | -------- | -------- | 795| event | [EventInfo](#eventinfo) | 是 | 无障碍事件对象。 | 796 797**返回值:** 798 799| 类型 | 说明 | 800| -------- | -------- | 801| Promise<void> | 无返回结果的Promise对象。 | 802 803**示例:** 804 805```ts 806let eventInfo = new accessibility.EventInfo({ 807 'type':'click', 808 'bundleName':'com.example.MyApplication', 809 'triggerAction':'click' 810}); 811accessibility.sendEvent(eventInfo).then(() => { 812 console.info('send event success'); 813}).catch((err) => { 814 console.error('failed to sendEvent because ' + JSON.stringify(err)); 815}); 816``` 817 818## accessibility.sendEvent<sup>(deprecated)</sup> 819 820sendEvent(event: EventInfo, callback: AsyncCallback<void>): void 821 822发送无障碍事件, 使用callback异步回调。 823 824> **说明:** 825> 826> 从API version 7开始支持,从API version 9开始废弃。 827> 推荐使用[sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9-1)。 828 829**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 830 831**参数:** 832 833| 参数名 | 类型 | 必填 | 说明 | 834| -------- | -------- | -------- | -------- | 835| event | [EventInfo](#eventinfo) | 是 | 辅助事件对象。 | 836| callback | AsyncCallback<void> | 是 | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 | 837 838**示例:** 839 840```ts 841let eventInfo = new accessibility.EventInfo({ 842 'type':'click', 843 'bundleName':'com.example.MyApplication', 844 'triggerAction':'click' 845}); 846accessibility.sendEvent(eventInfo, (err, data) => { 847 if (err) { 848 console.error('failed to sendEvent because ' + JSON.stringify(err)); 849 return; 850 } 851 console.info('sendEvent success'); 852}); 853``` 854 855## accessibility.sendAccessibilityEvent<sup>9+</sup> 856 857sendAccessibilityEvent(event: EventInfo): Promise<void> 858 859发送无障碍事件, 使用Promise异步回调。 860 861**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 862 863**参数:** 864 865| 参数名 | 类型 | 必填 | 说明 | 866| -------- | -------- | -------- | -------- | 867| event | [EventInfo](#eventinfo) | 是 | 无障碍事件对象。 | 868 869**返回值:** 870 871| 类型 | 说明 | 872| -------- | -------- | 873| Promise<void> | 无返回结果的Promise对象。 | 874 875**示例:** 876 877```ts 878let eventInfo = new accessibility.EventInfo({ 879 'type':'click', 880 'bundleName':'com.example.MyApplication', 881 'triggerAction':'click' 882}); 883try { 884 accessibility.sendAccessibilityEvent(eventInfo).then(() => { 885 console.info('send event success'); 886 }).catch((err) => { 887 console.error('failed to send event because ' + JSON.stringify(err)); 888 }); 889} catch (exception) { 890 console.error('failed to send event because ' + JSON.stringify(exception)); 891} 892``` 893 894## accessibility.sendAccessibilityEvent<sup>9+</sup> 895 896sendAccessibilityEvent(event: EventInfo, callback: AsyncCallback<void>): void 897 898发送无障碍事件, 使用callback异步回调。 899 900**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 901 902**参数:** 903 904| 参数名 | 类型 | 必填 | 说明 | 905| -------- | -------- | -------- | -------- | 906| event | [EventInfo](#eventinfo) | 是 | 辅助事件对象。 | 907| callback | AsyncCallback<void> | 是 | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 | 908 909**示例:** 910 911```ts 912let eventInfo = new accessibility.EventInfo({ 913 'type':'click', 914 'bundleName':'com.example.MyApplication', 915 'triggerAction':'click' 916}); 917try { 918 accessibility.sendEvent(eventInfo, (err, data) => { 919 if (err) { 920 console.error('failed to send event because ' + JSON.stringify(err)); 921 return; 922 } 923 console.info('send event success'); 924 }); 925} catch (exception) { 926 console.error('failed to send event because ' + JSON.stringify(exception)); 927} 928``` 929