• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)
2
3AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能业务的能力。
4
5> **说明:**
6>
7> - 本模块首批接口从API version 9开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```ts
12import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility';
13```
14
15### 属性
16
17**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
18
19| 名称      | 类型                                                                                          | 可读   | 可写   | 说明           |
20| ------- |---------------------------------------------------------------------------------------------| ---- | ---- | ------------ |
21| context | [AccessibilityExtensionContext](js-apis-inner-application-accessibilityExtensionContext.md) | 是    | 否    | 表示辅助扩展能力上下文。 |
22
23## AccessibilityEvent
24
25辅助事件信息。
26
27**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
28
29### 属性
30
31| 名称      | 类型                                                             | 可读                                                                           | 可写                                 | 说明                                                         |
32| --------- |----------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------| ------------------------------------------------------------ |
33| eventType | [accessibility.EventType](js-apis-accessibility.md#eventtype) \| [accessibility.WindowUpdateType](js-apis-accessibility.md#windowupdatetype) \| [TouchGuideType](#touchguidetype) \| [GestureType](#gesturetype) \| [PageUpdateType](#pageupdatetype) | 是   | 否   | 具体事件类型。<br />EventType:无障碍事件类型;<br />WindowUpdateType:窗口变化类型;TouchGuideType:触摸浏览事件类型;<br />GestureType:手势事件类型;<br />PageUpdateType:页面刷新类型。当前版本暂不支持。 |
34| target    | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | 是                                                                            | 否                                  | 发生事件的目标组件。                                         |
35| timeStamp | number                                                         | 是                                                                            | 否                                  | 事件时间戳,单位是毫秒。                                                 |
36
37
38## AccessibilityElement<sup>10+</sup>
39
40[AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9)二级模块
41
42**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
43
44**示例:**
45
46```ts
47import { AccessibilityElement } from '@ohos.application.AccessibilityExtensionAbility';
48
49let accessibilityElement: AccessibilityElement;
50```
51
52## ElementAttributeValues<sup>10+</sup>
53
54[ElementAttributeValues](js-apis-inner-application-accessibilityExtensionContext.md#elementattributevalues)二级模块
55
56**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
57
58**示例:**
59
60```ts
61import { ElementAttributeValues } from '@ohos.application.AccessibilityExtensionAbility';
62
63let elementAttributeValues: ElementAttributeValues;
64```
65
66## FocusDirection<sup>10+</sup>
67
68[FocusDirection](js-apis-inner-application-accessibilityExtensionContext.md#focusdirection)二级模块,表示查询下一焦点元素的方向。
69
70**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
71
72**示例:**
73
74```ts
75import { FocusDirection } from '@ohos.application.AccessibilityExtensionAbility';
76
77let focusDirection: FocusDirection;
78```
79
80## ElementAttributeKeys<sup>10+</sup>
81
82**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
83
84| 名称      | 类型                                                                                                                   | 可读   | 可写   | 说明                                                 |
85| ------- |----------------------------------------------------------------------------------------------------------------------| ---- | ---- |----------------------------------------------------|
86| ElementAttributeKeys | keyof [ElementAttributeValues](js-apis-inner-application-accessibilityExtensionContext.md#elementattributevalues) | 是    | 否    | 表示ElementAttributeValues的key。 |
87
88
89**示例:**
90
91```ts
92import { ElementAttributeKeys } from '@ohos.application.AccessibilityExtensionAbility';
93
94let elementAttributeKeys: ElementAttributeKeys;
95```
96
97## FocusType<sup>10+</sup>
98
99[FocusType](js-apis-inner-application-accessibilityExtensionContext.md#focustype)二级模块,表示查询焦点元素的类型。
100
101**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
102
103**示例:**
104
105```ts
106import { FocusType } from '@ohos.application.AccessibilityExtensionAbility';
107
108let focusType: FocusType;
109```
110
111## WindowType <sup>10+</sup>
112
113[WindowType](js-apis-inner-application-accessibilityExtensionContext.md#windowtype)二级模块,表示窗口的类型。
114
115**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
116
117**示例:**
118
119```ts
120import { WindowType } from '@ohos.application.AccessibilityExtensionAbility';
121
122let windowType: WindowType;
123```
124
125## Rect<sup>10+</sup>
126
127[Rect](js-apis-inner-application-accessibilityExtensionContext.md#rect)二级模块,表示矩形区域。
128
129**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
130
131**示例:**
132
133```ts
134import { Rect } from '@ohos.application.AccessibilityExtensionAbility';
135
136let rect: Rect;
137```
138
139## GestureType
140
141手势事件类型。
142
143**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
144
145| 名称            | 类型            | 描述                  |
146| ------------- | ------------- | ------------------- |
147| left          | string          | 表示向左的手势。     |
148| leftThenRight | string          | 表示先向左再向右的手势。 |
149| leftThenUp    | string          | 表示先向左再向上的手势。 |
150| leftThenDown  | string          | 表示先向左再向下的手势。 |
151| right         | string          | 表示向右的手势。     |
152| rightThenLeft | string          | 表示先向右再向左的手势。 |
153| rightThenUp   | string          | 表示先向右再向上的手势。 |
154| rightThenDown | string          | 表示先向右再向下的手势。 |
155| up            | string          | 表示向上的手势。     |
156| upThenLeft    | string          | 表示先向上再向左的手势。 |
157| upThenRight   | string          | 表示先向上再向右的手势。 |
158| upThenDown    | string          | 表示先向上再向下的手势。 |
159| down          | string          | 表示向下的手势。     |
160| downThenLeft  | string          | 表示先向下再向左的手势。 |
161| downThenRight | string          | 表示先向下再向右的手势。 |
162| downThenUp    | string          | 表示先向下再向上的手势。 |
163| twoFingerSingleTap<sup>11+</sup>  | string          | 表示双指单击的手势。 |
164| twoFingerDoubleTap<sup>11+</sup>  | string          | 表示双指双击的手势。 |
165| twoFingerDoubleTapAndHold<sup>11+</sup> | string          | 表示双指双击长按的手势。 |
166| twoFingerTripleTap<sup>11+</sup>  | string          | 表示双指三击的手势。 |
167| twoFingerTripleTapAndHold<sup>11+</sup> | string          | 表示双指三击长按的手势。 |
168| threeFingerSingleTap<sup>11+</sup> | string          | 表示三指单击的手势。 |
169| threeFingerDoubleTap<sup>11+</sup> | string          | 表示三指双击的手势。 |
170| threeFingerDoubleTapAndHold<sup>11+</sup> | string          | 表示三指双击长按的手势。 |
171| threeFingerTripleTap<sup>11+</sup> | string          | 表示三指三击的手势。 |
172| threeFingerTripleTapAndHold<sup>11+</sup> | string          | 表示三指三击长按的手势。 |
173| fourFingerSingleTap<sup>11+</sup> | string          | 表示四指单击的手势。 |
174| fourFingerDoubleTap<sup>11+</sup> | string          | 表示四指双击的手势。 |
175| fourFingerDoubleTapAndHold<sup>11+</sup> | string          | 表示四指双击长按的手势。 |
176| fourFingerTripleTap<sup>11+</sup> | string          | 表示四指三击的手势。 |
177| fourFingerTripleTapAndHold<sup>11+</sup> | string          | 表示四指三击长按的手势。 |
178| threeFingerSwipeUp<sup>11+</sup>  | string          | 表示三指向上滑动的手势。 |
179| threeFingerSwipeDown<sup>11+</sup> | string          | 表示三指向下滑动的手势。 |
180| threeFingerSwipeLeft<sup>11+</sup> | string          | 表示三指向左滑动的手势。 |
181| threeFingerSwipeRight<sup>11+</sup> | string          | 表示三指向右滑动的手势。 |
182| fourFingerSwipeUp<sup>11+</sup>   | string          | 表示四指向上滑动的手势。 |
183| fourFingerSwipeDown<sup>11+</sup> | string          | 表示四指向下滑动的手势。 |
184| fourFingerSwipeLeft<sup>11+</sup> | string          | 表示四指向左滑动的手势。 |
185| fourFingerSwipeRight<sup>11+</sup> | string          | 表示四指向右滑动的手势。 |
186
187## PageUpdateType
188
189页面刷新类型。当前版本暂不支持。
190
191**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
192
193| 名称                | 类型                | 描述               |
194| ----------------- | ----------------- | ---------------- |
195| pageContentUpdate | string | 表示页面内容刷新。 |
196| pageStateUpdate   | string | 表示页面状态刷新。 |
197
198## TouchGuideType
199
200触摸浏览事件类型。
201
202**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
203
204| 名称         | 类型                | 描述                  |
205| ---------- | ---------- | ------------------- |
206| touchBegin | string | 表示触摸浏览时开始触摸。 |
207| touchEnd   | string | 表示触摸浏览时结束触摸。 |
208
209## AccessibilityExtensionAbility.onConnect
210
211onConnect(): void;
212
213用户启用AccessibilityExtensionAbility时,系统服务完成连接后,回调此接口,可以该方法中执行初始化业务逻辑操作。该方法可以选择性重写。
214
215**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
216
217**示例:**
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
233用户停用AccessibilityExtensionAbility时,系统服务完成断开连接后,回调此接口,可以该方法中执行资源回收退出业务逻辑操作。该方法可以选择性重写。
234
235**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
236
237**示例:**
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
253在关注的应用及事件类型对应的事件发生时回调此接口,可以在该方法中根据事件信息进行业务逻辑处理。一般情况下需要重写该方法完成业务。
254
255**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
256
257**参数:**
258
259| 参数名   | 类型                                       | 必填   | 说明              |
260| ----- | ---------------------------------------- | ---- | --------------- |
261| event | [AccessibilityEvent](#accessibilityevent) | 是    | 无障碍事件回调函数。无返回值。 |
262
263**示例:**
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
282在物理按键按下时回调此方法,可以在该方法中根据业务判断是否对事件进行拦截。
283
284**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
285
286**参数:**
287
288| 参数名      | 类型                                               | 必填   | 说明                      |
289| -------- |--------------------------------------------------| ---- | ----------------------- |
290| keyEvent | [KeyEvent](../apis-input-kit/js-apis-keyevent.md#keyevent) | 是    | 按键事件回调函数。返回true表示拦截此按键。 |
291
292**示例:**
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