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 '@ohos.application.AccessibilityExtensionAbility'; 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. This API is not supported yet.| 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. | 36 37 38## AccessibilityElement<sup>10+</sup> 39 40Level-2 module of [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9). 41 42**System capability**: SystemCapability.BarrierFree.Accessibility.Core 43 44**Example** 45 46```ts 47import { AccessibilityElement } from '@ohos.application.AccessibilityExtensionAbility'; 48 49let accessibilityElement: AccessibilityElement; 50``` 51 52## ElementAttributeValues<sup>10+</sup> 53 54Level-2 module of [ElementAttributeValues](js-apis-inner-application-accessibilityExtensionContext.md#elementattributevalues). 55 56**System capability**: SystemCapability.BarrierFree.Accessibility.Core 57 58**Example** 59 60```ts 61import { ElementAttributeValues } from '@ohos.application.AccessibilityExtensionAbility'; 62 63let elementAttributeValues: ElementAttributeValues; 64``` 65 66## FocusDirection<sup>10+</sup> 67 68Enumerates the focus directions. It is a level-2 module of [FocusDirection](js-apis-inner-application-accessibilityExtensionContext.md#focusdirection). 69 70**System capability**: SystemCapability.BarrierFree.Accessibility.Core 71 72**Example** 73 74```ts 75import { FocusDirection } from '@ohos.application.AccessibilityExtensionAbility'; 76 77let focusDirection: FocusDirection; 78``` 79 80## ElementAttributeKeys<sup>10+</sup> 81 82**System capability**: SystemCapability.BarrierFree.Accessibility.Core 83 84| Name | Type | Readable | Writable | Description | 85| ------- |-------------------------------------------------------------------------------------------------------------------| ---- | ---- |----------------------------------------------------| 86| ElementAttributeKeys | keyof [ElementAttributeValues](js-apis-inner-application-accessibilityExtensionContext.md#elementattributevalues) | Yes | No | Key of **ElementAttributeValues**.| 87 88 89**Example** 90 91```ts 92import { ElementAttributeKeys } from '@ohos.application.AccessibilityExtensionAbility'; 93 94let elementAttributeKeys: ElementAttributeKeys; 95``` 96 97## FocusType<sup>10+</sup> 98 99Enumerates the focus types. It is a level-2 module of [FocusType](js-apis-inner-application-accessibilityExtensionContext.md#focustype). 100 101**System capability**: SystemCapability.BarrierFree.Accessibility.Core 102 103**Example** 104 105```ts 106import { FocusType } from '@ohos.application.AccessibilityExtensionAbility'; 107 108let focusType: FocusType; 109``` 110 111## WindowType <sup>10+</sup> 112 113Enumerates the window types. It is a level-2 module of [WindowType](js-apis-inner-application-accessibilityExtensionContext.md#windowtype). 114 115**System capability**: SystemCapability.BarrierFree.Accessibility.Core 116 117**Example** 118 119```ts 120import { WindowType } from '@ohos.application.AccessibilityExtensionAbility'; 121 122let windowType: WindowType; 123``` 124 125## Rect<sup>10+</sup> 126 127Defines a rectangle. It is a level-2 module of [Rect](js-apis-inner-application-accessibilityExtensionContext.md#rect). 128 129**System capability**: SystemCapability.BarrierFree.Accessibility.Core 130 131**Example** 132 133```ts 134import { Rect } from '@ohos.application.AccessibilityExtensionAbility'; 135 136let rect: Rect; 137``` 138 139## GestureType 140 141Enumerates gesture types. 142 143**System capability**: SystemCapability.BarrierFree.Accessibility.Core 144 145| Name | Type | Description | 146| ------------- | ------------- | ------------------- | 147| left | string | Left gesture. | 148| leftThenRight | string | Left-then-right gesture.| 149| leftThenUp | string | Left-then-up gesture.| 150| leftThenDown | string | Left-then-down gesture.| 151| right | string | Right gesture. | 152| rightThenLeft | string | Right-then-left gesture.| 153| rightThenUp | string | Right-then-up gesture.| 154| rightThenDown | string | Right-then-down gesture.| 155| up | string | Up gesture. | 156| upThenLeft | string | Up-then-left gesture.| 157| upThenRight | string | Up-then-right gesture.| 158| upThenDown | string | Up-then-down gesture.| 159| down | string | Down gesture. | 160| downThenLeft | string | Down-then-left gesture.| 161| downThenRight | string | Down-then-right gesture.| 162| downThenUp | string | Down-then-up gesture.| 163| twoFingerSingleTap<sup>11+</sup> | string | Two-finger tap gesture.| 164| twoFingerDoubleTap<sup>11+</sup> | string | Two-finger double-tap gesture.| 165| twoFingerDoubleTapAndHold<sup>11+</sup> | string | Two-finger double-tap and press-and-hold gesture.| 166| twoFingerTripleTap<sup>11+</sup> | string | Two-finger triple-tap gesture.| 167| twoFingerTripleTapAndHold<sup>11+</sup> | string | Two-finger triple-tap and press-and-hold gesture.| 168| threeFingerSingleTap<sup>11+</sup> | string | Three-finger tap gesture.| 169| threeFingerDoubleTap<sup>11+</sup> | string | Three-finger double-tap gesture.| 170| threeFingerDoubleTapAndHold<sup>11+</sup> | string | Three-finger double-tap and press-and-hold gesture.| 171| threeFingerTripleTap<sup>11+</sup> | string | Three-finger triple-tap gesture.| 172| threeFingerTripleTapAndHold<sup>11+</sup> | string | Three-finger triple-tap and press-and-hold gesture.| 173| fourFingerSingleTap<sup>11+</sup> | string | Four-finger tap gesture.| 174| fourFingerDoubleTap<sup>11+</sup> | string | Four-finger double-tap gesture.| 175| fourFingerDoubleTapAndHold<sup>11+</sup> | string | Four-finger double-tap and press-and-hold gesture.| 176| fourFingerTripleTap<sup>11+</sup> | string | Four-finger triple-tap gesture.| 177| fourFingerTripleTapAndHold<sup>11+</sup> | string | Four-finger triple-tap and press-and-hold gesture.| 178| threeFingerSwipeUp<sup>11+</sup> | string | Three-finger swipe-up gesture.| 179| threeFingerSwipeDown<sup>11+</sup> | string | Three-finger swipe-down gesture.| 180| threeFingerSwipeLeft<sup>11+</sup> | string | Three-finger swipe-left gesture.| 181| threeFingerSwipeRight<sup>11+</sup> | string | Three-finger swipe-right gesture.| 182| fourFingerSwipeUp<sup>11+</sup> | string | Four-finger swipe-up gesture.| 183| fourFingerSwipeDown<sup>11+</sup> | string | Four-finger swipe-down gesture.| 184| fourFingerSwipeLeft<sup>11+</sup> | string | Four-finger swipe-left gesture.| 185| fourFingerSwipeRight<sup>11+</sup> | string | Four-finger swipe-right gesture.| 186 187## PageUpdateType 188 189Enumerates the page update types. This API is not supported in the current version. 190 191**System capability**: SystemCapability.BarrierFree.Accessibility.Core 192 193| Name | Type | Description | 194| ----------------- | ----------------- | ---------------- | 195| pageContentUpdate | string | Update of the page content.| 196| pageStateUpdate | string | Update of the page status.| 197 198## TouchGuideType 199 200Enumerates the touch guide event types. 201 202**System capability**: SystemCapability.BarrierFree.Accessibility.Core 203 204| Name | Type | Description | 205| ---------- | ---------- | ------------------- | 206| touchBegin | string | Start of touch in touch guide mode.| 207| touchEnd | string | End of touch in touch guide mode.| 208 209## AccessibilityExtensionAbility.onConnect 210 211onConnect(): void; 212 213Called 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. 214 215**System capability**: SystemCapability.BarrierFree.Accessibility.Core 216 217**Example** 218 219```ts 220import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'; 221 222class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 223 onConnect(): void { 224 console.log('AxExtensionAbility onConnect'); 225 } 226} 227``` 228 229## AccessibilityExtensionAbility.onDisconnect 230 231onDisconnect(): void; 232 233Called 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. 234 235**System capability**: SystemCapability.BarrierFree.Accessibility.Core 236 237**Example** 238 239```ts 240import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'; 241 242class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 243 onDisconnect(): void { 244 console.log('AxExtensionAbility onDisconnect'); 245 } 246} 247``` 248 249## AccessibilityExtensionAbility.onAccessibilityEvent 250 251onAccessibilityEvent(event: AccessibilityEvent): void; 252 253Called 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. 254 255**System capability**: SystemCapability.BarrierFree.Accessibility.Core 256 257**Parameters** 258 259| Name | Type | Mandatory | Description | 260| ----- | ---------------------------------------- | ---- | --------------- | 261| event | [AccessibilityEvent](#accessibilityevent) | Yes | Accessibility event. No value is returned.| 262 263**Example** 264 265```ts 266import AccessibilityExtensionAbility , { AccessibilityEvent } from '@ohos.application.AccessibilityExtensionAbility'; 267 268class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 269 onAccessibilityEvent(event: AccessibilityEvent): void { 270 console.log('AxExtensionAbility onAccessibilityEvent'); 271 if (event.eventType === 'click') { 272 console.log('AxExtensionAbility onAccessibilityEvent: click'); 273 } 274 } 275} 276``` 277 278## AccessibilityExtensionAbility.onKeyEvent 279 280onKeyEvent(keyEvent: KeyEvent): boolean; 281 282Called when a physical key is pressed. In this API, you can determine whether to intercept an event based on the service. 283 284**System capability**: SystemCapability.BarrierFree.Accessibility.Core 285 286**Parameters** 287 288| Name | Type | Mandatory | Description | 289| -------- | ---------------------------------------- | ---- | ----------------------- | 290| keyEvent | [KeyEvent](js-apis-keyevent.md#keyevent) | Yes | Key event. If **true** is returned, the key is intercepted.| 291 292**Example** 293 294```ts 295import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'; 296import { KeyEvent } from '@ohos.multimodalInput.keyEvent'; 297 298class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 299 onKeyEvent(keyEvent: KeyEvent): boolean { 300 console.log('AxExtensionAbility onKeyEvent'); 301 if (keyEvent.key.code === 16) { 302 console.log('AxExtensionAbility onKeyEvent: intercept 16'); 303 return true; 304 } 305 return false; 306 } 307} 308``` 309