• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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