1# @ohos.application.AccessibilityExtensionAbility (AccessibilityExtensionAbility) 2 3The **AccessibilityExtensionAbility** module provides accessibility extension capabilities based on the ExtensionAbility framework. 4 5> **NOTE** 6> 7> - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8 9## Modules to Import 10 11```ts 12import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; 13``` 14 15### Attributes 16 17**System capability**: SystemCapability.BarrierFree.Accessibility.Core 18 19| Name | Type | Readable | Writable | Description | 20| ------- |---------------------------------------------------------------------------------------------| ---- | ---- | ------------ | 21| context | [AccessibilityExtensionContext](js-apis-inner-application-accessibilityExtensionContext.md) | Yes | No | Context of the accessibility extension ability.| 22 23## AccessibilityEvent 24 25Defines an accessibility event. 26 27**System capability**: SystemCapability.BarrierFree.Accessibility.Core 28 29### Attributes 30 31| Name | Type | Readable | Writable | Description | 32| --------- |----------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------| ------------------------------------------------------------ | 33| eventType | [accessibility.EventType](js-apis-accessibility.md#eventtype) \| [accessibility.WindowUpdateType](js-apis-accessibility.md#windowupdatetype) \| [TouchGuideType](#touchguidetype) \| [GestureType](#gesturetype) \| [PageUpdateType](#pageupdatetype) | Yes | No | Event type.<br>**EventType**: accessibility event type.<br>**WindowUpdateType**: Window update type.<br>**TouchGuideType**: touch guide event type.<br>**GestureType**: gesture type.<br>**PageUpdateType**: page update type.| 34| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | Yes | No | Target component where the event occurs. | 35| timeStamp | number | Yes | No | Timestamp of the event, in milliseconds. | 36| elementId<sup>12+</sup> | number | Yes | No | Component ID for auto-focusing. | 37| textAnnouncedForAccessibility<sup>12+</sup> | string | Yes | No | Content for auto-broadcasting. | 38 39 40## AccessibilityElement<sup>10+</sup> 41 42Level-2 Module of [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9). 43 44**System capability**: SystemCapability.BarrierFree.Accessibility.Core 45 46**Example** 47 48```ts 49import { AccessibilityElement } from '@kit.AccessibilityKit'; 50 51let accessibilityElement: AccessibilityElement; 52``` 53 54## ElementAttributeValues<sup>10+</sup> 55 56Level-2 Module of [ElementAttributeValues](js-apis-inner-application-accessibilityExtensionContext.md#elementattributevalues). 57 58**System capability**: SystemCapability.BarrierFree.Accessibility.Core 59 60**Example** 61 62```ts 63import { ElementAttributeValues } from '@kit.AccessibilityKit'; 64 65let elementAttributeValues: ElementAttributeValues; 66``` 67 68## FocusDirection<sup>10+</sup> 69 70Enumerates the focus directions. It is a level-2 module of [FocusDirection](js-apis-inner-application-accessibilityExtensionContext.md#focusdirection). 71 72**System capability**: SystemCapability.BarrierFree.Accessibility.Core 73 74**Example** 75 76```ts 77import { FocusDirection } from '@kit.AccessibilityKit'; 78 79let focusDirection: FocusDirection; 80``` 81 82## ElementAttributeKeys<sup>10+</sup> 83 84**System capability**: SystemCapability.BarrierFree.Accessibility.Core 85 86| Name | Type | Readable | Writable | Description | 87| ------- |----------------------------------------------------------------------------------------------------------------------| ---- | ---- |----------------------------------------------------| 88| ElementAttributeKeys | keyof [ElementAttributeValues](js-apis-inner-application-accessibilityExtensionContext.md#elementattributevalues) | Yes | No | Key of **ElementAttributeValues**.| 89 90 91**Example** 92 93```ts 94import { ElementAttributeKeys } from '@kit.AccessibilityKit'; 95 96let elementAttributeKeys: ElementAttributeKeys; 97``` 98 99## FocusType<sup>10+</sup> 100 101Enumerates the focus types. It is a level-2 module of [FocusType](js-apis-inner-application-accessibilityExtensionContext.md#focustype). 102 103**System capability**: SystemCapability.BarrierFree.Accessibility.Core 104 105**Example** 106 107```ts 108import { FocusType } from '@kit.AccessibilityKit'; 109 110let focusType: FocusType; 111``` 112 113## WindowType <sup>10+</sup> 114 115Enumerates the window types. It is a level-2 module of [WindowType](js-apis-inner-application-accessibilityExtensionContext.md#windowtype). 116 117**System capability**: SystemCapability.BarrierFree.Accessibility.Core 118 119**Example** 120 121```ts 122import { WindowType } from '@kit.AccessibilityKit'; 123 124let windowType: WindowType; 125``` 126 127## Rect<sup>10+</sup> 128 129Defines a rectangle. It is a level-2 module of [Rect](js-apis-inner-application-accessibilityExtensionContext.md#rect). 130 131**System capability**: SystemCapability.BarrierFree.Accessibility.Core 132 133**Example** 134 135```ts 136import { Rect } from '@kit.AccessibilityKit'; 137 138let rect: Rect; 139``` 140 141## GestureType 142 143Enumerates gesture types. 144 145**System capability**: SystemCapability.BarrierFree.Accessibility.Core 146 147| Name | Type | Description | 148| ------------- | ------------- | ------------------- | 149| left | string | Left gesture. | 150| leftThenRight | string | Left-then-right gesture.| 151| leftThenUp | string | Left-then-up gesture.| 152| leftThenDown | string | Left-then-down gesture.| 153| right | string | Right gesture. | 154| rightThenLeft | string | Right-then-left gesture.| 155| rightThenUp | string | Right-then-up gesture.| 156| rightThenDown | string | Right-then-down gesture.| 157| up | string | Up gesture. | 158| upThenLeft | string | Up-then-left gesture.| 159| upThenRight | string | Up-then-right gesture.| 160| upThenDown | string | Up-then-down gesture.| 161| down | string | Down gesture. | 162| downThenLeft | string | Down-then-left gesture.| 163| downThenRight | string | Down-then-right gesture.| 164| downThenUp | string | Down-then-up gesture.| 165| twoFingerSingleTap<sup>11+</sup> | string | Two-finger tap gesture.| 166| twoFingerDoubleTap<sup>11+</sup> | string | Two-finger double-tap gesture.| 167| twoFingerDoubleTapAndHold<sup>11+</sup> | string | Two-finger double-tap and press-and-hold gesture.| 168| twoFingerTripleTap<sup>11+</sup> | string | Two-finger triple-tap gesture.| 169| twoFingerTripleTapAndHold<sup>11+</sup> | string | Two-finger triple-tap and press-and-hold gesture.| 170| threeFingerSingleTap<sup>11+</sup> | string | Three-finger tap gesture.| 171| threeFingerDoubleTap<sup>11+</sup> | string | Three-finger double-tap gesture.| 172| threeFingerDoubleTapAndHold<sup>11+</sup> | string | Three-finger double-tap and press-and-hold gesture.| 173| threeFingerTripleTap<sup>11+</sup> | string | Three-finger triple-tap gesture.| 174| threeFingerTripleTapAndHold<sup>11+</sup> | string | Three-finger triple-tap and press-and-hold gesture.| 175| fourFingerSingleTap<sup>11+</sup> | string | Four-finger tap gesture.| 176| fourFingerDoubleTap<sup>11+</sup> | string | Four-finger double-tap gesture.| 177| fourFingerDoubleTapAndHold<sup>11+</sup> | string | Four-finger double-tap and press-and-hold gesture.| 178| fourFingerTripleTap<sup>11+</sup> | string | Four-finger triple-tap gesture.| 179| fourFingerTripleTapAndHold<sup>11+</sup> | string | Four-finger triple-tap and press-and-hold gesture.| 180| threeFingerSwipeUp<sup>11+</sup> | string | Three-finger swipe-up gesture.| 181| threeFingerSwipeDown<sup>11+</sup> | string | Three-finger swipe-down gesture.| 182| threeFingerSwipeLeft<sup>11+</sup> | string | Three-finger swipe-left gesture.| 183| threeFingerSwipeRight<sup>11+</sup> | string | Three-finger swipe-right gesture.| 184| fourFingerSwipeUp<sup>11+</sup> | string | Four-finger swipe-up gesture.| 185| fourFingerSwipeDown<sup>11+</sup> | string | Four-finger swipe-down gesture.| 186| fourFingerSwipeLeft<sup>11+</sup> | string | Four-finger swipe-left gesture.| 187| fourFingerSwipeRight<sup>11+</sup> | string | Four-finger swipe-right gesture.| 188 189## PageUpdateType 190 191type PageUpdateType = 'pageContentUpdate' | 'pageStateUpdate' 192 193Enumerates the page update types. 194 195**System capability**: SystemCapability.BarrierFree.Accessibility.Core 196 197| Type | Description | 198| ----------------- | ---------------- | 199| 'pageContentUpdate' | Update of the page content.| 200| 'pageStateUpdate' | Update of the page content.| 201 202## TouchGuideType 203 204TouchGuideType = 'touchBegin' | 'touchEnd' 205 206Enumerates the touch guide event types. 207 208**System capability**: SystemCapability.BarrierFree.Accessibility.Core 209 210| Type | Description | 211| ---------- | ------------------- | 212| 'touchBegin' | Start of touch in touch guide mode.| 213| 'touchEnd' | End of touch in touch guide mode.| 214 215## AccessibilityExtensionAbility.onConnect<sup>(deprecated)</sup> 216 217onConnect(): void; 218 219Called when the **AccessibilityExtensionAbility** is enabled and connected to the system service. In this API, you can have the service logic initialized. This API can be overridden as required. 220 221> **NOTE** 222> 223> This API is deprecated since API version 12. 224 225**System capability**: SystemCapability.BarrierFree.Accessibility.Core 226 227**Example** 228 229```ts 230import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; 231 232class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 233 onConnect(): void { 234 console.log('AxExtensionAbility onConnect'); 235 } 236} 237``` 238 239## AccessibilityExtensionAbility.onDisconnect<sup>(deprecated)</sup> 240 241onDisconnect(): void; 242 243Called when the **AccessibilityExtensionAbility** is disabled and disconnected from the system service. In this API, you can implement the service logic of resource release and exit. This API can be overridden as required. 244 245> **NOTE** 246> 247> This API is deprecated since API version 12. 248 249**System capability**: SystemCapability.BarrierFree.Accessibility.Core 250 251**Example** 252 253```ts 254import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; 255 256class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 257 onDisconnect(): void { 258 console.log('AxExtensionAbility onDisconnect'); 259 } 260} 261``` 262 263## AccessibilityExtensionAbility.onAccessibilityEvent<sup>(deprecated)</sup> 264 265onAccessibilityEvent(event: AccessibilityEvent): void; 266 267Called when an event that matches the specified bundle and event type occurs. In this API, you can implement event-specific service logic. Generally, this API needs to be overridden. 268 269> **NOTE** 270> 271> This API is deprecated since API version 12. 272 273**System capability**: SystemCapability.BarrierFree.Accessibility.Core 274 275**Parameters** 276 277| Name | Type | Mandatory | Description | 278| ----- | ---------------------------------------- | ---- | --------------- | 279| event | [AccessibilityEvent](#accessibilityevent) | Yes | Accessibility event. No return value.| 280 281**Example** 282 283```ts 284import { AccessibilityExtensionAbility, AccessibilityEvent } from '@kit.AccessibilityKit'; 285 286class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 287 onAccessibilityEvent(event: AccessibilityEvent): void { 288 console.log('AxExtensionAbility onAccessibilityEvent'); 289 if (event.eventType === 'click') { 290 console.log('AxExtensionAbility onAccessibilityEvent: click'); 291 } 292 } 293} 294``` 295 296## AccessibilityExtensionAbility.onKeyEvent<sup>(deprecated)</sup> 297 298onKeyEvent(keyEvent: KeyEvent): boolean; 299 300Called when a physical key is pressed. In this API, you can determine whether to intercept an event based on the service. 301 302> **NOTE** 303> 304> This API is deprecated since API version 12. 305 306**System capability**: SystemCapability.BarrierFree.Accessibility.Core 307 308**Parameters** 309 310| Name | Type | Mandatory | Description | 311| -------- |--------------------------------------------------| ---- | ----------------------- | 312| keyEvent | [KeyEvent](../apis-input-kit/js-apis-keyevent.md#keyevent) | Yes | Key event. If **true** is returned, the key is intercepted.| 313 314**Example** 315 316```ts 317import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; 318import { KeyEvent } from '@kit.InputKit'; 319 320class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 321 onKeyEvent(keyEvent: KeyEvent): boolean { 322 console.log('AxExtensionAbility onKeyEvent'); 323 if (keyEvent.key.code === 16) { 324 console.log('AxExtensionAbility onKeyEvent: intercept 16'); 325 return true; 326 } 327 return false; 328 } 329} 330``` 331