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