1e41f4b71Sopenharmony_ci# @ohos.accessibility (Accessibility)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciThe **Accessibility** module implements the accessibility functions, including obtaining the accessibility application list, accessibility application enabled status, and captions configuration.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **NOTE**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> - The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci## Modules to Import
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci```ts
12e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
13e41f4b71Sopenharmony_ci```
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci## AbilityState
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_citype AbilityState = 'enable' | 'disable' | 'install'
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ciEnumerates the states of an accessibility application.
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci| Type     | Description      |
24e41f4b71Sopenharmony_ci| ------- | -------- |
25e41f4b71Sopenharmony_ci| 'enable'  | The accessibility application is enabled.|
26e41f4b71Sopenharmony_ci| 'disable'  | The accessibility application is disabled.|
27e41f4b71Sopenharmony_ci| 'install'  | The accessibility application has been installed.|
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci## AbilityType
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ciEnumerates the types of accessibility applications.
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci| Name              | Description       |
36e41f4b71Sopenharmony_ci| ---------------- | --------- |
37e41f4b71Sopenharmony_ci| audible          | The accessibility application provides audible feedback.|
38e41f4b71Sopenharmony_ci| generic          | The accessibility application provides generic feedback.|
39e41f4b71Sopenharmony_ci| haptic           | The accessibility application provides haptic feedback.|
40e41f4b71Sopenharmony_ci| spoken           | The accessibility application provides spoken feedback.|
41e41f4b71Sopenharmony_ci| visual           | The accessibility application provides visual feedback.|
42e41f4b71Sopenharmony_ci| all<sup>9+</sup> | All the preceding types.|
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci## AccessibilityAbilityInfo
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ciProvides information about an accessibility application.
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_ci### Attributes
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_ci| Name                            | Type                                      | Readable  | Writable  | Description              |
53e41f4b71Sopenharmony_ci| ------------------------------ | ---------------------------------------- | ---- | ---- | ---------------- |
54e41f4b71Sopenharmony_ci| id                             | string                                   | Yes   | No   | Ability ID.|
55e41f4b71Sopenharmony_ci| name                           | string                                   | Yes   | No   | Ability name.      |
56e41f4b71Sopenharmony_ci| bundleName                     | string                                   | Yes   | No   | Bundle name.       |
57e41f4b71Sopenharmony_ci| targetBundleNames<sup>9+</sup> | Array&lt;string&gt;                      | Yes   | No   | Name of the target bundle.  |
58e41f4b71Sopenharmony_ci| abilityTypes                   | Array&lt;[AbilityType](#abilitytype)&gt; | Yes   | No   | Accessibility application type.         |
59e41f4b71Sopenharmony_ci| capabilities                   | Array&lt;[Capability](#capability)&gt;   | Yes   | No   | Capabilities list of the accessibility application.       |
60e41f4b71Sopenharmony_ci| description                    | string                                   | Yes   | No   | Description of the accessibility application.         |
61e41f4b71Sopenharmony_ci| eventTypes                     | Array&lt;[EventType](#eventtype)&gt;     | Yes   | No   | List of events that the accessibility application focuses on. |
62e41f4b71Sopenharmony_ci| needHide<sup>12+</sup>                     | boolean     | Yes   | No   | Whether the auxiliary application is hidden in the list of installed extended services. The value **true** means the auxiliary application is hidden, and the value **false** means the opposite. |
63e41f4b71Sopenharmony_ci| label<sup>12+</sup>                     | string     | Yes   | No   | Name of the application in the extended service list. |
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci## Action
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_citype Action = 'accessibilityFocus' | 'clearAccessibilityFocus' | 'focus' | 'clearFocus' | 'clearSelection' |
68e41f4b71Sopenharmony_ci  'click' | 'longClick' | 'cut' | 'copy' | 'paste' | 'select' | 'setText' | 'delete' |
69e41f4b71Sopenharmony_ci  'scrollForward' | 'scrollBackward' | 'setSelection' | 'setCursorPosition' | 'home' |
70e41f4b71Sopenharmony_ci  'back' | 'recentTask' | 'notificationCenter' | 'controlCenter' | 'common'
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ciTarget actions supported by the application. The target actions for which parameters need to be set have been specified in the description of the following table.
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
75e41f4b71Sopenharmony_ci
76e41f4b71Sopenharmony_ci| Type                     | Description                |
77e41f4b71Sopenharmony_ci| ----------------------- |--------------------|
78e41f4b71Sopenharmony_ci| 'click'                   | Clicking.           |
79e41f4b71Sopenharmony_ci| 'longClick'               | Long pressing.           |
80e41f4b71Sopenharmony_ci| 'scrollForward'           | Scrolling forward.|
81e41f4b71Sopenharmony_ci| 'scrollBackward'          | Scrolling backward.|
82e41f4b71Sopenharmony_ci| 'focus'                   | Obtaining the focus.|
83e41f4b71Sopenharmony_ci| 'clearFocus'              | Clearing focus.|
84e41f4b71Sopenharmony_ci| 'clearSelection'          | Clearing selection. Not supported yet.|
85e41f4b71Sopenharmony_ci| 'accessibilityFocus'      | Obtaining the accessibility focus.      |
86e41f4b71Sopenharmony_ci| 'clearAccessibilityFocus'      | Clearing the accessibility focus.      |
87e41f4b71Sopenharmony_ci| 'cut'                     | Cut.  |
88e41f4b71Sopenharmony_ci| 'copy'                    | Copy.  |
89e41f4b71Sopenharmony_ci| 'paste'                   | Paste.  |
90e41f4b71Sopenharmony_ci| 'select'                  | Select.  |
91e41f4b71Sopenharmony_ci| 'setCursorPosition'                 | Set text. You need to set the **setText** parameter.|
92e41f4b71Sopenharmony_ci| 'delete'                  | Delete. Not supported yet.  |
93e41f4b71Sopenharmony_ci| 'setSelection'            | Select. You need to set the **selectTextBegin**, **selectTextEnd** and **selectTextInForWard** parameters.  |
94e41f4b71Sopenharmony_ci| 'common'            | Common actions used in auto-focusing and auto-broadcasting.  |
95e41f4b71Sopenharmony_ci| 'home'                | Return to the home screen.  |
96e41f4b71Sopenharmony_ci| 'back'                | Return to the previous screen.  |
97e41f4b71Sopenharmony_ci| 'recentTask'          | Open a recent task.  |
98e41f4b71Sopenharmony_ci| 'notificationCenter'      | Open the notification bar.  |
99e41f4b71Sopenharmony_ci| 'controlCenter'       | Open the control center.  |
100e41f4b71Sopenharmony_ci| 'setCursorPosition'     | Set cursor location. You need to set the **offset** parameter.  |
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci## Capability
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_citype Capability = 'retrieve' | 'touchGuide' | 'keyEventObserver' | 'zoom' | 'gesture'
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ciEnumerates the capabilities of an accessibility application.
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci| Type              | Description                   |
111e41f4b71Sopenharmony_ci| ---------------- |-----------------------|
112e41f4b71Sopenharmony_ci| 'retrieve'         | Capability to retrieve the window content.         |
113e41f4b71Sopenharmony_ci| 'touchGuide'       | Capability of touch guide mode.         |
114e41f4b71Sopenharmony_ci| 'keyEventObserver' | Capability to filter key events.         |
115e41f4b71Sopenharmony_ci| 'zoom'             | Capability to control the display zoom level. Not supported currently.|
116e41f4b71Sopenharmony_ci| 'gesture'          | Capability to perform gesture actions.         |
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_ci## CaptionsFontEdgeType<sup>8+</sup>
119e41f4b71Sopenharmony_ci
120e41f4b71Sopenharmony_citype CaptionsFontEdgeType = 'none' | 'raised' | 'depressed' | 'uniform' | 'dropShadow'
121e41f4b71Sopenharmony_ci
122e41f4b71Sopenharmony_ciEnumerates the font edge types of captions.
123e41f4b71Sopenharmony_ci
124e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Hearing
125e41f4b71Sopenharmony_ci
126e41f4b71Sopenharmony_ci| Type        | Description   |
127e41f4b71Sopenharmony_ci| ---------- | ----- |
128e41f4b71Sopenharmony_ci| 'none'       | No effect. |
129e41f4b71Sopenharmony_ci| 'raised'     | Raised effect.|
130e41f4b71Sopenharmony_ci| 'depressed'  | Depressed effect.|
131e41f4b71Sopenharmony_ci| 'uniform'    | Uniform effect.|
132e41f4b71Sopenharmony_ci| 'dropShadow' | Drop shadow effect.|
133e41f4b71Sopenharmony_ci
134e41f4b71Sopenharmony_ci## CaptionsFontFamily<sup>8+</sup>
135e41f4b71Sopenharmony_ci
136e41f4b71Sopenharmony_citype CaptionsFontFamily = 'default' | 'monospacedSerif' | 'serif' | 'monospacedSansSerif' |
137e41f4b71Sopenharmony_ci  'sansSerif' | 'casual' | 'cursive' | 'smallCapitals'
138e41f4b71Sopenharmony_ci
139e41f4b71Sopenharmony_ciEnumerates the font families of captions.
140e41f4b71Sopenharmony_ci
141e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Hearing
142e41f4b71Sopenharmony_ci
143e41f4b71Sopenharmony_ci| Name                 | Description               |
144e41f4b71Sopenharmony_ci| ------------------- | ----------------- |
145e41f4b71Sopenharmony_ci| 'default'             | Default font family.            |
146e41f4b71Sopenharmony_ci| 'monospacedSerif'         | Monospaced Serif fonts, which use the same width for each character.     |
147e41f4b71Sopenharmony_ci| 'serif'               | Serif fonts.        |
148e41f4b71Sopenharmony_ci| 'monospacedSansSerif'        | Monospaced Sans Serif fonts, which use the same width for each character.|
149e41f4b71Sopenharmony_ci| 'sansSerif'           | Sans Serif fonts.   |
150e41f4b71Sopenharmony_ci| 'casual'              | Casual fonts.           |
151e41f4b71Sopenharmony_ci| 'cursive'             | Cursive fonts.            |
152e41f4b71Sopenharmony_ci| 'smallCapitals'       | Small caps fonts.        |
153e41f4b71Sopenharmony_ci
154e41f4b71Sopenharmony_ci## CaptionsStyle<sup>8+</sup>
155e41f4b71Sopenharmony_ci
156e41f4b71Sopenharmony_ciDescribes the style of captions.
157e41f4b71Sopenharmony_ci
158e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Hearing
159e41f4b71Sopenharmony_ci
160e41f4b71Sopenharmony_ci| Name             | Type                                      | Readable  | Writable  | Description         |
161e41f4b71Sopenharmony_ci| --------------- | ---------------------------------------- | ---- | ---- | ----------- |
162e41f4b71Sopenharmony_ci| fontFamily      | [CaptionsFontFamily](#captionsfontfamily8) | Yes   | No   | Font family of captions.    |
163e41f4b71Sopenharmony_ci| fontScale       | number                                   | Yes   | No   | Font scale factor of captions, in percentage. The value ranges from 1 to 200.|
164e41f4b71Sopenharmony_ci| fontColor       | number \| string                         | Yes   | No   | Font color of captions. For example, red corresponds to #FF0000.  |
165e41f4b71Sopenharmony_ci| fontEdgeType    | [CaptionsFontEdgeType](#captionsfontedgetype8) | Yes   | No   | Font edge type of captions.  |
166e41f4b71Sopenharmony_ci| backgroundColor | number \| string                         | Yes   | No   | Background color of captions. For example, red corresponds to #FF0000.  |
167e41f4b71Sopenharmony_ci| windowColor     | number \| string                         | Yes   | No   | Window color of captions. For example, red corresponds to #FF0000.  |
168e41f4b71Sopenharmony_ci
169e41f4b71Sopenharmony_ci## CaptionsManager<sup>8+</sup>
170e41f4b71Sopenharmony_ci
171e41f4b71Sopenharmony_ciImplements configuration management for captions. Before calling any API of **CaptionsManager**, you must use the [accessibility.getCaptionsManager()](#accessibilitygetcaptionsmanagerdeprecated) API to obtain a **CaptionsManager** instance.
172e41f4b71Sopenharmony_ci
173e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Hearing
174e41f4b71Sopenharmony_ci
175e41f4b71Sopenharmony_ci### Attributes
176e41f4b71Sopenharmony_ci
177e41f4b71Sopenharmony_ci| Name     | Type                              | Readable  | Writable  | Description         |
178e41f4b71Sopenharmony_ci| ------- | -------------------------------- | ---- | ---- | ----------- |
179e41f4b71Sopenharmony_ci| enabled | boolean                          | Yes   | No   | Whether to enable captions configuration.|
180e41f4b71Sopenharmony_ci| style   | [CaptionsStyle](#captionsstyle8) | Yes   | No   | Style of captions.    |
181e41f4b71Sopenharmony_ci
182e41f4b71Sopenharmony_ciFor a boolean return value, **True** means that the feature is enabled, and **False** means the opposite.
183e41f4b71Sopenharmony_ci
184e41f4b71Sopenharmony_ci### on('enableChange')<sup>(deprecated)</sup>
185e41f4b71Sopenharmony_ci
186e41f4b71Sopenharmony_cion(type: 'enableChange', callback: Callback&lt;boolean&gt;): void;
187e41f4b71Sopenharmony_ci
188e41f4b71Sopenharmony_ciEnables listening for the enabled status changes of captions configuration. This API uses an asynchronous callback to return the result.
189e41f4b71Sopenharmony_ci
190e41f4b71Sopenharmony_ci> **NOTE**
191e41f4b71Sopenharmony_ci>
192e41f4b71Sopenharmony_ci> This API is deprecated since API version 12.
193e41f4b71Sopenharmony_ci
194e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Hearing
195e41f4b71Sopenharmony_ci
196e41f4b71Sopenharmony_ci**Parameters**
197e41f4b71Sopenharmony_ci
198e41f4b71Sopenharmony_ci| Name     | Type                     | Mandatory  | Description                                     |
199e41f4b71Sopenharmony_ci| -------- | ----------------------- | ---- | --------------------------------------- |
200e41f4b71Sopenharmony_ci| type     | string                  | Yes   | Listening type, which is set to **'enableChange'** in this API.|
201e41f4b71Sopenharmony_ci| callback | Callback&lt;boolean&gt; | Yes   | Callback invoked when the enabled status of captions configuration changes.             |
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_ci**Error codes**
204e41f4b71Sopenharmony_ci
205e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
206e41f4b71Sopenharmony_ci
207e41f4b71Sopenharmony_ci| ID| Error Message|
208e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
209e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ci**Example**
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci```ts
214e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
215e41f4b71Sopenharmony_ci
216e41f4b71Sopenharmony_cilet captionsManager = accessibility.getCaptionsManager();
217e41f4b71Sopenharmony_cicaptionsManager.on('enableChange', (data: boolean) => {
218e41f4b71Sopenharmony_ci  console.info(`subscribe caption manager enable state change, result: ${JSON.stringify(data)}`);
219e41f4b71Sopenharmony_ci})
220e41f4b71Sopenharmony_ci```
221e41f4b71Sopenharmony_ci
222e41f4b71Sopenharmony_ci### on('styleChange')<sup>(deprecated)</sup>
223e41f4b71Sopenharmony_ci
224e41f4b71Sopenharmony_cion(type: 'styleChange', callback: Callback&lt;CaptionsStyle&gt;): void;
225e41f4b71Sopenharmony_ci
226e41f4b71Sopenharmony_ciEnables listening for captions style changes. This API uses an asynchronous callback to return the result.
227e41f4b71Sopenharmony_ci
228e41f4b71Sopenharmony_ci> **NOTE**
229e41f4b71Sopenharmony_ci>
230e41f4b71Sopenharmony_ci> This API is deprecated since API version 12.
231e41f4b71Sopenharmony_ci
232e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Hearing
233e41f4b71Sopenharmony_ci
234e41f4b71Sopenharmony_ci**Parameters**
235e41f4b71Sopenharmony_ci
236e41f4b71Sopenharmony_ci| Name     | Type                                      | Mandatory  | Description                                |
237e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------- |
238e41f4b71Sopenharmony_ci| type     | string                                   | Yes   | Listening type, which is set to **'styleChange'** in this API.|
239e41f4b71Sopenharmony_ci| callback | Callback&lt;[CaptionsStyle](#captionsstyle8)&gt; | Yes   | Callback invoked when the style of captions changes.           |
240e41f4b71Sopenharmony_ci
241e41f4b71Sopenharmony_ci**Error codes**
242e41f4b71Sopenharmony_ci
243e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
244e41f4b71Sopenharmony_ci
245e41f4b71Sopenharmony_ci| ID| Error Message|
246e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
247e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
248e41f4b71Sopenharmony_ci
249e41f4b71Sopenharmony_ci**Example**
250e41f4b71Sopenharmony_ci
251e41f4b71Sopenharmony_ci```ts
252e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
253e41f4b71Sopenharmony_ci
254e41f4b71Sopenharmony_cilet captionsManager = accessibility.getCaptionsManager();
255e41f4b71Sopenharmony_ci
256e41f4b71Sopenharmony_cicaptionsManager.on('styleChange', (data: accessibility.CaptionsStyle) => {
257e41f4b71Sopenharmony_ci  console.info(`subscribe caption manager style state change, result: ${JSON.stringify(data)}`);
258e41f4b71Sopenharmony_ci});
259e41f4b71Sopenharmony_ci```
260e41f4b71Sopenharmony_ci
261e41f4b71Sopenharmony_ci### off('enableChange')<sup>(deprecated)</sup>
262e41f4b71Sopenharmony_ci
263e41f4b71Sopenharmony_cioff(type: 'enableChange', callback?: Callback&lt;boolean&gt;): void;
264e41f4b71Sopenharmony_ci
265e41f4b71Sopenharmony_ciDisables listening for the enabled status changes of captions configuration. This API uses an asynchronous callback to return the result.
266e41f4b71Sopenharmony_ci
267e41f4b71Sopenharmony_ci> **NOTE**
268e41f4b71Sopenharmony_ci>
269e41f4b71Sopenharmony_ci> This API is deprecated since API version 12.
270e41f4b71Sopenharmony_ci
271e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Hearing
272e41f4b71Sopenharmony_ci
273e41f4b71Sopenharmony_ci**Parameters**
274e41f4b71Sopenharmony_ci
275e41f4b71Sopenharmony_ci| Name  | Type                   | Mandatory| Description                                                        |
276e41f4b71Sopenharmony_ci| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
277e41f4b71Sopenharmony_ci| type     | string                  | Yes  | Listening type, which is set to **'enableChange'** in this API.|
278e41f4b71Sopenharmony_ci| callback | Callback&lt;boolean&gt; | No  | Callback used for disable listening. The value must be the same as the value of **callback** in **on('enableChange')**. If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.|
279e41f4b71Sopenharmony_ci
280e41f4b71Sopenharmony_ci**Error codes**
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_ci| ID| Error Message|
285e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
286e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_ci**Example**
289e41f4b71Sopenharmony_ci
290e41f4b71Sopenharmony_ci```ts
291e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
292e41f4b71Sopenharmony_ci
293e41f4b71Sopenharmony_cilet captionsManager = accessibility.getCaptionsManager();
294e41f4b71Sopenharmony_ci
295e41f4b71Sopenharmony_cicaptionsManager.off('enableChange', (data: boolean) => {
296e41f4b71Sopenharmony_ci  console.info(`Unsubscribe caption manager enable state change, result: ${JSON.stringify(data)}`);
297e41f4b71Sopenharmony_ci});
298e41f4b71Sopenharmony_ci```
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_ci### off('styleChange')<sup>(deprecated)</sup>
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_cioff(type: 'styleChange', callback?: Callback&lt;CaptionsStyle&gt;): void;
303e41f4b71Sopenharmony_ci
304e41f4b71Sopenharmony_ciDisables listening for captions style changes. This API uses an asynchronous callback to return the result.
305e41f4b71Sopenharmony_ci
306e41f4b71Sopenharmony_ci> **NOTE**
307e41f4b71Sopenharmony_ci>
308e41f4b71Sopenharmony_ci> This API is deprecated since API version 12.
309e41f4b71Sopenharmony_ci
310e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Hearing
311e41f4b71Sopenharmony_ci
312e41f4b71Sopenharmony_ci**Parameters**
313e41f4b71Sopenharmony_ci
314e41f4b71Sopenharmony_ci| Name  | Type                                            | Mandatory| Description                                                        |
315e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------ | ---- | ------------------------------------------------------------ |
316e41f4b71Sopenharmony_ci| type     | string                                           | Yes  | Listening type, which is set to **'styleChange'** in this API. |
317e41f4b71Sopenharmony_ci| callback | Callback&lt;[CaptionsStyle](#captionsstyle8)&gt; | No  | Callback used for disable listening. The value must be the same as the value of **callback** in **on('styleChange')**. If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.|
318e41f4b71Sopenharmony_ci
319e41f4b71Sopenharmony_ci**Error codes**
320e41f4b71Sopenharmony_ci
321e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
322e41f4b71Sopenharmony_ci
323e41f4b71Sopenharmony_ci| ID| Error Message|
324e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
325e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
326e41f4b71Sopenharmony_ci
327e41f4b71Sopenharmony_ci**Example**
328e41f4b71Sopenharmony_ci
329e41f4b71Sopenharmony_ci```ts
330e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
331e41f4b71Sopenharmony_ci
332e41f4b71Sopenharmony_cilet captionsManager = accessibility.getCaptionsManager();
333e41f4b71Sopenharmony_ci
334e41f4b71Sopenharmony_cicaptionsManager.off('styleChange', (data: accessibility.CaptionsStyle) => {
335e41f4b71Sopenharmony_ci  console.info(`Unsubscribe caption manager style state change, result: ${JSON.stringify(data)}`);
336e41f4b71Sopenharmony_ci});
337e41f4b71Sopenharmony_ci```
338e41f4b71Sopenharmony_ci
339e41f4b71Sopenharmony_ci## EventInfo
340e41f4b71Sopenharmony_ci
341e41f4b71Sopenharmony_ciDescribes a GUI change event.
342e41f4b71Sopenharmony_ci
343e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
344e41f4b71Sopenharmony_ci
345e41f4b71Sopenharmony_ci### Attributes
346e41f4b71Sopenharmony_ci
347e41f4b71Sopenharmony_ci| Name              | Type                                   | Mandatory | Description                   |
348e41f4b71Sopenharmony_ci| ---------------- | ------------------------------------- |-----|-----------------------|
349e41f4b71Sopenharmony_ci| type             | [EventType](#eventtype)               | Yes  | Accessibility event type.        |
350e41f4b71Sopenharmony_ci| windowUpdateType | [WindowUpdateType](#windowupdatetype) | No  | Window update type.              |
351e41f4b71Sopenharmony_ci| bundleName       | string                                | Yes  | Name of the target application.          |
352e41f4b71Sopenharmony_ci| componentType    | string                                | No  | Type of the event source component, for example, button or chart.      |
353e41f4b71Sopenharmony_ci| pageId           | number                                | No  | Page ID of the event source.           |
354e41f4b71Sopenharmony_ci| description      | string                                | No  | Event description.       |
355e41f4b71Sopenharmony_ci| triggerAction    | [Action](#action)                     | Yes  | Action that triggers the event.   |
356e41f4b71Sopenharmony_ci| textMoveUnit     | [TextMoveUnit](#textmoveunit)         | No  | Text move granularity.     |
357e41f4b71Sopenharmony_ci| contents         | Array&lt;string&gt;                   | No  | Array of contents.                |
358e41f4b71Sopenharmony_ci| lastContent      | string                                | No  | Latest content.                |
359e41f4b71Sopenharmony_ci| beginIndex       | number                                | No  | Sequence number of the first item displayed on the page.|
360e41f4b71Sopenharmony_ci| currentIndex     | number                                | No  | Sequence number of the current item.     |
361e41f4b71Sopenharmony_ci| endIndex         | number                                | No  | Sequence number of the last item displayed on the page.|
362e41f4b71Sopenharmony_ci| itemCount        | number                                | No  | Total number of records.       |
363e41f4b71Sopenharmony_ci| elementId<sup>12+</sup>        | number                                | No  | Element ID of the component.       |
364e41f4b71Sopenharmony_ci| textAnnouncedForAccessibility<sup>12+</sup>        | string                                | No  | Content for auto-broadcasting.       |
365e41f4b71Sopenharmony_ci| customId<sup>12+</sup>        | string                                | No  | Component ID for auto-focusing.       |
366e41f4b71Sopenharmony_ci
367e41f4b71Sopenharmony_ci### constructor
368e41f4b71Sopenharmony_ci
369e41f4b71Sopenharmony_ciconstructor(jsonObject)
370e41f4b71Sopenharmony_ci
371e41f4b71Sopenharmony_ciImplements a constructor.
372e41f4b71Sopenharmony_ci
373e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
374e41f4b71Sopenharmony_ci
375e41f4b71Sopenharmony_ci**Parameters**
376e41f4b71Sopenharmony_ci
377e41f4b71Sopenharmony_ci| Name       | Type    | Mandatory  | Description                  |
378e41f4b71Sopenharmony_ci| ---------- | ------ | ---- | -------------------- |
379e41f4b71Sopenharmony_ci| jsonObject | string | Yes   | JSON string required for creating an object.|
380e41f4b71Sopenharmony_ci
381e41f4b71Sopenharmony_ci**Example**
382e41f4b71Sopenharmony_ci
383e41f4b71Sopenharmony_ci  ```ts
384e41f4b71Sopenharmony_ci  import { accessibility } from '@kit.AccessibilityKit';
385e41f4b71Sopenharmony_ci
386e41f4b71Sopenharmony_ci  let eventInfo: accessibility.EventInfo = ({
387e41f4b71Sopenharmony_ci    type: 'click',
388e41f4b71Sopenharmony_ci    bundleName: 'com.example.MyApplication',
389e41f4b71Sopenharmony_ci    triggerAction: 'click',
390e41f4b71Sopenharmony_ci  });
391e41f4b71Sopenharmony_ci  ```
392e41f4b71Sopenharmony_ci
393e41f4b71Sopenharmony_ci### constructor<sup>11+</sup>
394e41f4b71Sopenharmony_ci
395e41f4b71Sopenharmony_ciconstructor(type: EventType, bundleName: string, triggerAction: Action)
396e41f4b71Sopenharmony_ci
397e41f4b71Sopenharmony_ciImplements a constructor.
398e41f4b71Sopenharmony_ci
399e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
400e41f4b71Sopenharmony_ci
401e41f4b71Sopenharmony_ci**Parameters**
402e41f4b71Sopenharmony_ci
403e41f4b71Sopenharmony_ci| Name | Type               | Mandatory| Description           |
404e41f4b71Sopenharmony_ci|------|-------------------|---|---------------|
405e41f4b71Sopenharmony_ci| type | [EventType](#eventtype)          | Yes| Enumerates accessibility event types.     |
406e41f4b71Sopenharmony_ci| bundleName | string | Yes| Target application name.       |
407e41f4b71Sopenharmony_ci| triggerAction | [Action](#action) | Yes| Action that triggers the event.|
408e41f4b71Sopenharmony_ci
409e41f4b71Sopenharmony_ci**Example**
410e41f4b71Sopenharmony_ci
411e41f4b71Sopenharmony_ci  ```ts
412e41f4b71Sopenharmony_ci  import { accessibility } from '@kit.AccessibilityKit';
413e41f4b71Sopenharmony_ci
414e41f4b71Sopenharmony_ci  let eventInfo = new accessibility.EventInfo('click', 'com.example.MyApplication', 'click');
415e41f4b71Sopenharmony_ci  ```
416e41f4b71Sopenharmony_ci
417e41f4b71Sopenharmony_ci## EventType
418e41f4b71Sopenharmony_ci
419e41f4b71Sopenharmony_citype EventType = 'accessibilityFocus' | 'accessibilityFocusClear' |
420e41f4b71Sopenharmony_ci'click' | 'longClick' | 'focus' | 'select' | 'hoverEnter' | 'hoverExit' |
421e41f4b71Sopenharmony_ci'textUpdate' | 'textSelectionUpdate' | 'scroll' | 'requestFocusForAccessibility' |
422e41f4b71Sopenharmony_ci'announceForAccessibility'
423e41f4b71Sopenharmony_ci
424e41f4b71Sopenharmony_ciEnumerates accessibility event types.
425e41f4b71Sopenharmony_ci
426e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
427e41f4b71Sopenharmony_ci
428e41f4b71Sopenharmony_ci| Type                     | Description                    |
429e41f4b71Sopenharmony_ci| ----------------------- |------------------------|
430e41f4b71Sopenharmony_ci| 'accessibilityFocus'      | Represents an event indicating that the accessibility focus is obtained.         |
431e41f4b71Sopenharmony_ci| 'accessibilityFocusClear' | Represents an event indicating that the accessibility focus is cleared.         |
432e41f4b71Sopenharmony_ci| 'click'                   | Event of clicking a component.            |
433e41f4b71Sopenharmony_ci| 'longClick'               | Represents an event indicating that the component is long pressed.            |
434e41f4b71Sopenharmony_ci| 'select'                  | Event of selecting a component.   |
435e41f4b71Sopenharmony_ci| 'hoverEnter'              | Event indicating that the hover enters a component. |
436e41f4b71Sopenharmony_ci| 'hoverExit'               | Event indicating that the hover exits a component. |
437e41f4b71Sopenharmony_ci| 'focus'                   | Event indicating that the component obtains the focus. Not supported currently. |
438e41f4b71Sopenharmony_ci| 'textUpdate'              | Event indicating that the component text has been updated.|
439e41f4b71Sopenharmony_ci| 'textSelectionUpdate'     | Event indicating that the selected text has been updated. Not supported currently.|
440e41f4b71Sopenharmony_ci| 'scroll'                  | Event of the scroll view.   |
441e41f4b71Sopenharmony_ci| 'requestFocusForAccessibility'     | Event of the auto-focusing.|
442e41f4b71Sopenharmony_ci| 'announceForAccessibility'         | Event of the auto-broadcasting.|
443e41f4b71Sopenharmony_ci
444e41f4b71Sopenharmony_ci
445e41f4b71Sopenharmony_ci## TextMoveUnit
446e41f4b71Sopenharmony_ci
447e41f4b71Sopenharmony_citype TextMoveUnit = 'char' | 'word' | 'line' | 'page' | 'paragraph'
448e41f4b71Sopenharmony_ci
449e41f4b71Sopenharmony_ciEnumerates the movement units for traversing the node text.
450e41f4b71Sopenharmony_ci
451e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
452e41f4b71Sopenharmony_ci
453e41f4b71Sopenharmony_ci| Type       | Description             |
454e41f4b71Sopenharmony_ci| --------- | --------------- |
455e41f4b71Sopenharmony_ci| 'char'      | The movement unit for traversing the node text is by character.|
456e41f4b71Sopenharmony_ci| 'word'      | The movement unit for traversing the node text is by word. |
457e41f4b71Sopenharmony_ci| 'line'      | The movement unit for traversing the node text is by line. |
458e41f4b71Sopenharmony_ci| 'page'      | The movement unit for traversing the node text is by page. |
459e41f4b71Sopenharmony_ci| 'paragraph' | The movement unit for traversing the node text is by paragraph.|
460e41f4b71Sopenharmony_ci
461e41f4b71Sopenharmony_ci## WindowUpdateType
462e41f4b71Sopenharmony_ci
463e41f4b71Sopenharmony_citype WindowUpdateType = 'add' | 'remove' | 'bounds' | 'active' | 'focus'
464e41f4b71Sopenharmony_ci
465e41f4b71Sopenharmony_ciEnumerates window update types.
466e41f4b71Sopenharmony_ci
467e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
468e41f4b71Sopenharmony_ci
469e41f4b71Sopenharmony_ci| Type    | Description                |
470e41f4b71Sopenharmony_ci| ------ | ------------------ |
471e41f4b71Sopenharmony_ci| 'add'    | Window adding.      |
472e41f4b71Sopenharmony_ci| 'remove' | Window deletion.   |
473e41f4b71Sopenharmony_ci| 'bounds' | Window boundary change.   |
474e41f4b71Sopenharmony_ci| 'active' | Window activity change.|
475e41f4b71Sopenharmony_ci| 'focus'  | Window focus change.  |
476e41f4b71Sopenharmony_ci
477e41f4b71Sopenharmony_ci## accessibility.getAbilityLists<sup>(deprecated)</sup>
478e41f4b71Sopenharmony_ci
479e41f4b71Sopenharmony_cigetAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;
480e41f4b71Sopenharmony_ci
481e41f4b71Sopenharmony_ciObtains the accessibility application list. This API uses a promise to return the result.
482e41f4b71Sopenharmony_ci
483e41f4b71Sopenharmony_ci> **NOTE**
484e41f4b71Sopenharmony_ci>
485e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9.
486e41f4b71Sopenharmony_ci> You are advised to use [accessibility.getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9) instead.
487e41f4b71Sopenharmony_ci
488e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
489e41f4b71Sopenharmony_ci
490e41f4b71Sopenharmony_ci**Parameters**
491e41f4b71Sopenharmony_ci
492e41f4b71Sopenharmony_ci| Name        | Type                           | Mandatory  | Description      |
493e41f4b71Sopenharmony_ci| ----------- | ----------------------------- | ---- | -------- |
494e41f4b71Sopenharmony_ci| abilityType | [AbilityType](#abilitytype)   | Yes   | Accessibility application type.|
495e41f4b71Sopenharmony_ci| stateType   | [AbilityState](#abilitystate) | Yes   | Accessibility application status.|
496e41f4b71Sopenharmony_ci
497e41f4b71Sopenharmony_ci**Return value**
498e41f4b71Sopenharmony_ci
499e41f4b71Sopenharmony_ci| Type                                      | Description                   |
500e41f4b71Sopenharmony_ci| ---------------------------------------- | --------------------- |
501e41f4b71Sopenharmony_ci| Promise&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | Promise used to return the accessibility application list.|
502e41f4b71Sopenharmony_ci
503e41f4b71Sopenharmony_ci**Example**
504e41f4b71Sopenharmony_ci
505e41f4b71Sopenharmony_ci```ts
506e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
507e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
508e41f4b71Sopenharmony_ci
509e41f4b71Sopenharmony_cilet abilityType: accessibility.AbilityType = 'spoken';
510e41f4b71Sopenharmony_cilet abilityState: accessibility.AbilityState = 'enable';
511e41f4b71Sopenharmony_ci
512e41f4b71Sopenharmony_ciaccessibility.getAbilityLists(abilityType, abilityState).then((data: accessibility.AccessibilityAbilityInfo[]) => {
513e41f4b71Sopenharmony_ci  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
514e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => {
515e41f4b71Sopenharmony_ci  console.error(`failed to get accessibility extension list because ${JSON.stringify(err)}`);
516e41f4b71Sopenharmony_ci});
517e41f4b71Sopenharmony_ci```
518e41f4b71Sopenharmony_ci
519e41f4b71Sopenharmony_ci## accessibility.getAbilityLists<sup>(deprecated)</sup>
520e41f4b71Sopenharmony_ci
521e41f4b71Sopenharmony_cigetAbilityLists(abilityType: AbilityType, stateType: AbilityState,callback: AsyncCallback&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;): void
522e41f4b71Sopenharmony_ci
523e41f4b71Sopenharmony_ciObtains the accessibility application list. This API uses an asynchronous callback to return the result.
524e41f4b71Sopenharmony_ci
525e41f4b71Sopenharmony_ci> **NOTE**
526e41f4b71Sopenharmony_ci>
527e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9.
528e41f4b71Sopenharmony_ci> You are advised to use [accessibility.getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9-1) instead.
529e41f4b71Sopenharmony_ci
530e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
531e41f4b71Sopenharmony_ci
532e41f4b71Sopenharmony_ci**Parameters**
533e41f4b71Sopenharmony_ci
534e41f4b71Sopenharmony_ci| Name        | Type                                      | Mandatory  | Description              |
535e41f4b71Sopenharmony_ci| ----------- | ---------------------------------------- | ---- | ---------------- |
536e41f4b71Sopenharmony_ci| abilityType | [AbilityType](#abilitytype)              | Yes   | Accessibility application type.        |
537e41f4b71Sopenharmony_ci| stateType   | [AbilityState](#abilitystate)            | Yes   | Accessibility application status.        |
538e41f4b71Sopenharmony_ci| callback    | AsyncCallback&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | Yes   | Callback used to return the accessibility application list.|
539e41f4b71Sopenharmony_ci
540e41f4b71Sopenharmony_ci**Example**
541e41f4b71Sopenharmony_ci
542e41f4b71Sopenharmony_ci```ts
543e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
544e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
545e41f4b71Sopenharmony_ci
546e41f4b71Sopenharmony_cilet abilityType: accessibility.AbilityType = 'spoken';
547e41f4b71Sopenharmony_cilet abilityState: accessibility.AbilityState = 'enable';
548e41f4b71Sopenharmony_ci
549e41f4b71Sopenharmony_ciaccessibility.getAbilityLists(abilityType, abilityState, (err: BusinessError, data: accessibility.AccessibilityAbilityInfo[]) => {
550e41f4b71Sopenharmony_ci  if (err) {
551e41f4b71Sopenharmony_ci    console.error(`failed to get accessibility extension list because ${JSON.stringify(err)}`);
552e41f4b71Sopenharmony_ci    return;
553e41f4b71Sopenharmony_ci  }
554e41f4b71Sopenharmony_ci  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
555e41f4b71Sopenharmony_ci})
556e41f4b71Sopenharmony_ci```
557e41f4b71Sopenharmony_ci
558e41f4b71Sopenharmony_ci## accessibility.getAccessibilityExtensionList<sup>9+</sup>
559e41f4b71Sopenharmony_ci
560e41f4b71Sopenharmony_cigetAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState): Promise&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;
561e41f4b71Sopenharmony_ci
562e41f4b71Sopenharmony_ciObtains the accessibility application list. This API uses a promise to return the result.
563e41f4b71Sopenharmony_ci
564e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
565e41f4b71Sopenharmony_ci
566e41f4b71Sopenharmony_ci**Parameters**
567e41f4b71Sopenharmony_ci
568e41f4b71Sopenharmony_ci| Name        | Type                           | Mandatory  | Description      |
569e41f4b71Sopenharmony_ci| ----------- | ----------------------------- | ---- | -------- |
570e41f4b71Sopenharmony_ci| abilityType | [AbilityType](#abilitytype)   | Yes   | Accessibility application type.|
571e41f4b71Sopenharmony_ci| stateType   | [AbilityState](#abilitystate) | Yes   | Accessibility application status.|
572e41f4b71Sopenharmony_ci
573e41f4b71Sopenharmony_ci**Return value**
574e41f4b71Sopenharmony_ci
575e41f4b71Sopenharmony_ci| Type                                      | Description                   |
576e41f4b71Sopenharmony_ci| ---------------------------------------- | --------------------- |
577e41f4b71Sopenharmony_ci| Promise&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | Promise used to return the accessibility application list.|
578e41f4b71Sopenharmony_ci
579e41f4b71Sopenharmony_ci**Error codes**
580e41f4b71Sopenharmony_ci
581e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
582e41f4b71Sopenharmony_ci
583e41f4b71Sopenharmony_ci| ID| Error Message|
584e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
585e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
586e41f4b71Sopenharmony_ci
587e41f4b71Sopenharmony_ci**Example**
588e41f4b71Sopenharmony_ci
589e41f4b71Sopenharmony_ci```ts
590e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
591e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
592e41f4b71Sopenharmony_ci
593e41f4b71Sopenharmony_cilet abilityType: accessibility.AbilityType = 'spoken';
594e41f4b71Sopenharmony_cilet abilityState: accessibility.AbilityState = 'enable';
595e41f4b71Sopenharmony_ci
596e41f4b71Sopenharmony_ciaccessibility.getAccessibilityExtensionList(abilityType, abilityState).then((data: accessibility.AccessibilityAbilityInfo[]) => {
597e41f4b71Sopenharmony_ci  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
598e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => {
599e41f4b71Sopenharmony_ci  console.error(`failed to get accessibility extension list, Code is ${err.code}, message is ${err.message}`);
600e41f4b71Sopenharmony_ci});
601e41f4b71Sopenharmony_ci```
602e41f4b71Sopenharmony_ci
603e41f4b71Sopenharmony_ci## accessibility.getAccessibilityExtensionList<sup>9+</sup>
604e41f4b71Sopenharmony_ci
605e41f4b71Sopenharmony_cigetAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState, callback: AsyncCallback&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;): void
606e41f4b71Sopenharmony_ci
607e41f4b71Sopenharmony_ciObtains the accessibility application list. This API uses an asynchronous callback to return the result.
608e41f4b71Sopenharmony_ci
609e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
610e41f4b71Sopenharmony_ci
611e41f4b71Sopenharmony_ci**Parameters**
612e41f4b71Sopenharmony_ci
613e41f4b71Sopenharmony_ci| Name        | Type                                      | Mandatory  | Description              |
614e41f4b71Sopenharmony_ci| ----------- | ---------------------------------------- | ---- | ---------------- |
615e41f4b71Sopenharmony_ci| abilityType | [AbilityType](#abilitytype)              | Yes   | Accessibility application type.        |
616e41f4b71Sopenharmony_ci| stateType   | [AbilityState](#abilitystate)            | Yes   | Accessibility application status.        |
617e41f4b71Sopenharmony_ci| callback    | AsyncCallback&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | Yes   | Callback used to return the accessibility application list.|
618e41f4b71Sopenharmony_ci
619e41f4b71Sopenharmony_ci**Error codes**
620e41f4b71Sopenharmony_ci
621e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
622e41f4b71Sopenharmony_ci
623e41f4b71Sopenharmony_ci| ID| Error Message|
624e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
625e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
626e41f4b71Sopenharmony_ci
627e41f4b71Sopenharmony_ci**Example**
628e41f4b71Sopenharmony_ci
629e41f4b71Sopenharmony_ci```ts
630e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
631e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
632e41f4b71Sopenharmony_ci
633e41f4b71Sopenharmony_cilet abilityType: accessibility.AbilityType = 'spoken';
634e41f4b71Sopenharmony_cilet abilityState: accessibility.AbilityState = 'enable';
635e41f4b71Sopenharmony_ci
636e41f4b71Sopenharmony_ciaccessibility.getAccessibilityExtensionList(abilityType, abilityState,(err: BusinessError, data: accessibility.AccessibilityAbilityInfo[]) => {
637e41f4b71Sopenharmony_ci  if (err) {
638e41f4b71Sopenharmony_ci    console.error(`failed to get accessibility extension list, Code is ${err.code}, message is ${err.message}`);
639e41f4b71Sopenharmony_ci    return;
640e41f4b71Sopenharmony_ci  }
641e41f4b71Sopenharmony_ci  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
642e41f4b71Sopenharmony_ci});
643e41f4b71Sopenharmony_ci```
644e41f4b71Sopenharmony_ci
645e41f4b71Sopenharmony_ci## accessibility.getAccessibilityExtensionListSync<sup>12+</sup>
646e41f4b71Sopenharmony_ci
647e41f4b71Sopenharmony_cigetAccessibilityExtensionListSync(abilityType: AbilityType, stateType: AbilityState): Array&lt;AccessibilityAbilityInfo&gt;
648e41f4b71Sopenharmony_ci
649e41f4b71Sopenharmony_ciObtains the API for synchronizing the accessibility application list.
650e41f4b71Sopenharmony_ci
651e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
652e41f4b71Sopenharmony_ci
653e41f4b71Sopenharmony_ci**Parameters**
654e41f4b71Sopenharmony_ci
655e41f4b71Sopenharmony_ci| Name        | Type                           | Mandatory  | Description      |
656e41f4b71Sopenharmony_ci| ----------- | ----------------------------- | ---- | -------- |
657e41f4b71Sopenharmony_ci| abilityType | [AbilityType](#abilitytype)   | Yes   | Accessibility application type.|
658e41f4b71Sopenharmony_ci| stateType   | [AbilityState](#abilitystate) | Yes   | Accessibility application status.|
659e41f4b71Sopenharmony_ci
660e41f4b71Sopenharmony_ci**Return value**
661e41f4b71Sopenharmony_ci
662e41f4b71Sopenharmony_ci| Type                                      | Description                   |
663e41f4b71Sopenharmony_ci| ---------------------------------------- | --------------------- |
664e41f4b71Sopenharmony_ci| Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt; | Promise used to return the accessibility application list.|
665e41f4b71Sopenharmony_ci
666e41f4b71Sopenharmony_ci**Example**
667e41f4b71Sopenharmony_ci
668e41f4b71Sopenharmony_ci```ts
669e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
670e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
671e41f4b71Sopenharmony_ci
672e41f4b71Sopenharmony_cilet abilityType: accessibility.AbilityType = 'all';
673e41f4b71Sopenharmony_cilet abilityState: accessibility.AbilityState = 'install';
674e41f4b71Sopenharmony_cilet data: accessibility.AccessibilityAbilityInfo[];
675e41f4b71Sopenharmony_ci
676e41f4b71Sopenharmony_citry {
677e41f4b71Sopenharmony_ci  data = accessibility.getAccessibilityExtensionListSync(abilityType, abilityState);
678e41f4b71Sopenharmony_ci  console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`);
679e41f4b71Sopenharmony_ci} catch (error) {
680e41f4b71Sopenharmony_ci  let err = error as BusinessError;
681e41f4b71Sopenharmony_ci  console.error(`error code: ${err.code}`);
682e41f4b71Sopenharmony_ci}
683e41f4b71Sopenharmony_ci```
684e41f4b71Sopenharmony_ci
685e41f4b71Sopenharmony_ci## accessibility.getCaptionsManager<sup>(deprecated)</sup>
686e41f4b71Sopenharmony_ci
687e41f4b71Sopenharmony_cigetCaptionsManager(): CaptionsManager
688e41f4b71Sopenharmony_ci
689e41f4b71Sopenharmony_ciObtains a **CaptionsManager** instance.
690e41f4b71Sopenharmony_ci
691e41f4b71Sopenharmony_ci> **NOTE**
692e41f4b71Sopenharmony_ci>
693e41f4b71Sopenharmony_ci> This API is deprecated since API version 12.
694e41f4b71Sopenharmony_ci
695e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Hearing
696e41f4b71Sopenharmony_ci
697e41f4b71Sopenharmony_ci**Return value**
698e41f4b71Sopenharmony_ci
699e41f4b71Sopenharmony_ci| Type                                  | Description        |
700e41f4b71Sopenharmony_ci| ------------------------------------ | ---------- |
701e41f4b71Sopenharmony_ci| [CaptionsManager](#captionsmanager8) | Captions configuration.|
702e41f4b71Sopenharmony_ci
703e41f4b71Sopenharmony_ci**Example**
704e41f4b71Sopenharmony_ci
705e41f4b71Sopenharmony_ci```ts
706e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
707e41f4b71Sopenharmony_ci
708e41f4b71Sopenharmony_cilet captionsManager = accessibility.getCaptionsManager();
709e41f4b71Sopenharmony_ci```
710e41f4b71Sopenharmony_ci
711e41f4b71Sopenharmony_ci## accessibility.on('accessibilityStateChange')
712e41f4b71Sopenharmony_ci
713e41f4b71Sopenharmony_cion(type: 'accessibilityStateChange', callback: Callback&lt;boolean&gt;): void
714e41f4b71Sopenharmony_ci
715e41f4b71Sopenharmony_ciEnables listening for the enabled status changes of the accessibility application. This API uses an asynchronous callback to return the result.
716e41f4b71Sopenharmony_ci
717e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
718e41f4b71Sopenharmony_ci
719e41f4b71Sopenharmony_ci**Parameters**
720e41f4b71Sopenharmony_ci
721e41f4b71Sopenharmony_ci| Name  | Type                   | Mandatory| Description                                                        |
722e41f4b71Sopenharmony_ci| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
723e41f4b71Sopenharmony_ci| type     | string                  | Yes  | Listening type, which is set to **'accessibilityStateChange'** in this API.|
724e41f4b71Sopenharmony_ci| callback | Callback&lt;boolean&gt; | Yes  | Callback used to return the result. The returned result indicates the global enabled status of the accessibility application.|
725e41f4b71Sopenharmony_ci
726e41f4b71Sopenharmony_ci**Error codes**
727e41f4b71Sopenharmony_ci
728e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
729e41f4b71Sopenharmony_ci
730e41f4b71Sopenharmony_ci| ID| Error Message|
731e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
732e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
733e41f4b71Sopenharmony_ci
734e41f4b71Sopenharmony_ci**Example**
735e41f4b71Sopenharmony_ci
736e41f4b71Sopenharmony_ci```ts
737e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
738e41f4b71Sopenharmony_ci
739e41f4b71Sopenharmony_ciaccessibility.on('accessibilityStateChange', (data: boolean) => {
740e41f4b71Sopenharmony_ci  console.info(`subscribe accessibility state change, result: ${JSON.stringify(data)}`);
741e41f4b71Sopenharmony_ci});
742e41f4b71Sopenharmony_ci```
743e41f4b71Sopenharmony_ci
744e41f4b71Sopenharmony_ci## accessibility.on('touchGuideStateChange')
745e41f4b71Sopenharmony_ci
746e41f4b71Sopenharmony_cion(type: 'touchGuideStateChange', callback: Callback&lt;boolean&gt;): void
747e41f4b71Sopenharmony_ci
748e41f4b71Sopenharmony_ciEnables listening for the enabled status changes of the touch guide mode. This API uses an asynchronous callback to return the result.
749e41f4b71Sopenharmony_ci
750e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Vision
751e41f4b71Sopenharmony_ci
752e41f4b71Sopenharmony_ci**Parameters**
753e41f4b71Sopenharmony_ci
754e41f4b71Sopenharmony_ci| Name     | Type                     | Mandatory  | Description                                      |
755e41f4b71Sopenharmony_ci| -------- | ----------------------- | ---- | ---------------------------------------- |
756e41f4b71Sopenharmony_ci| type     | string                  | Yes   | Listening type, which is set to **'touchGuideStateChange'** in this API.|
757e41f4b71Sopenharmony_ci| callback | Callback&lt;boolean&gt; | Yes   | Callback used to return the result.          |
758e41f4b71Sopenharmony_ci
759e41f4b71Sopenharmony_ci**Error codes**
760e41f4b71Sopenharmony_ci
761e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
762e41f4b71Sopenharmony_ci
763e41f4b71Sopenharmony_ci| ID| Error Message|
764e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
765e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
766e41f4b71Sopenharmony_ci
767e41f4b71Sopenharmony_ci**Example**
768e41f4b71Sopenharmony_ci
769e41f4b71Sopenharmony_ci```ts
770e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
771e41f4b71Sopenharmony_ci
772e41f4b71Sopenharmony_ciaccessibility.on('touchGuideStateChange', (data: boolean) => {
773e41f4b71Sopenharmony_ci  console.info(`subscribe touch guide state change, result: ${JSON.stringify(data)}`);
774e41f4b71Sopenharmony_ci});
775e41f4b71Sopenharmony_ci```
776e41f4b71Sopenharmony_ci
777e41f4b71Sopenharmony_ci## accessibility.off('accessibilityStateChange')
778e41f4b71Sopenharmony_ci
779e41f4b71Sopenharmony_cioff(type: 'accessibilityStateChange', callback?: Callback&lt;boolean&gt;): void
780e41f4b71Sopenharmony_ci
781e41f4b71Sopenharmony_ciDisables listening for the enabled status changes of the accessibility application. This API uses an asynchronous callback to return the result.
782e41f4b71Sopenharmony_ci
783e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
784e41f4b71Sopenharmony_ci
785e41f4b71Sopenharmony_ci**Parameters**
786e41f4b71Sopenharmony_ci
787e41f4b71Sopenharmony_ci| Name  | Type                   | Mandatory| Description                                                        |
788e41f4b71Sopenharmony_ci| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
789e41f4b71Sopenharmony_ci| type     | string                  | Yes  | Listening type, which is set to **'accessibilityStateChange'** in this API.|
790e41f4b71Sopenharmony_ci| callback | Callback&lt;boolean&gt; | No  | Callback used for disable listening. The value must be the same as the value of **callback** in **accessibility.on('accessibilityStateChange')**. If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.|
791e41f4b71Sopenharmony_ci
792e41f4b71Sopenharmony_ci**Error codes**
793e41f4b71Sopenharmony_ci
794e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
795e41f4b71Sopenharmony_ci
796e41f4b71Sopenharmony_ci| ID| Error Message|
797e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
798e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
799e41f4b71Sopenharmony_ci
800e41f4b71Sopenharmony_ci**Example**
801e41f4b71Sopenharmony_ci
802e41f4b71Sopenharmony_ci```ts
803e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
804e41f4b71Sopenharmony_ci
805e41f4b71Sopenharmony_ciaccessibility.off('accessibilityStateChange', (data: boolean) => {
806e41f4b71Sopenharmony_ci  console.info(`Unsubscribe accessibility state change, result: ${JSON.stringify(data)}`);
807e41f4b71Sopenharmony_ci});
808e41f4b71Sopenharmony_ci```
809e41f4b71Sopenharmony_ci
810e41f4b71Sopenharmony_ci## accessibility.off('touchGuideStateChange')
811e41f4b71Sopenharmony_ci
812e41f4b71Sopenharmony_cioff(type: 'touchGuideStateChange', callback?: Callback&lt;boolean&gt;): void
813e41f4b71Sopenharmony_ci
814e41f4b71Sopenharmony_ciDisables listening for the enabled status changes of the touch guide mode. This API uses an asynchronous callback to return the result.
815e41f4b71Sopenharmony_ci
816e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
817e41f4b71Sopenharmony_ci
818e41f4b71Sopenharmony_ci**Parameters**
819e41f4b71Sopenharmony_ci
820e41f4b71Sopenharmony_ci| Name  | Type                   | Mandatory| Description                                                        |
821e41f4b71Sopenharmony_ci| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
822e41f4b71Sopenharmony_ci| type     | string                  | Yes  | Listening type, which is set to **'touchGuideStateChange'** in this API.|
823e41f4b71Sopenharmony_ci| callback | Callback&lt;boolean&gt; | No  | Callback used for disable listening. The value must be the same as the value of **callback** in **accessibility.on('touchGuideStateChange')**. If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.|
824e41f4b71Sopenharmony_ci
825e41f4b71Sopenharmony_ci**Error codes**
826e41f4b71Sopenharmony_ci
827e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
828e41f4b71Sopenharmony_ci
829e41f4b71Sopenharmony_ci| ID| Error Message|
830e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
831e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
832e41f4b71Sopenharmony_ci
833e41f4b71Sopenharmony_ci**Example**
834e41f4b71Sopenharmony_ci
835e41f4b71Sopenharmony_ci```ts
836e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
837e41f4b71Sopenharmony_ci
838e41f4b71Sopenharmony_ciaccessibility.off('touchGuideStateChange', (data: boolean) => {
839e41f4b71Sopenharmony_ci  console.info(`Unsubscribe touch guide state change, result: ${JSON.stringify(data)}`);
840e41f4b71Sopenharmony_ci});
841e41f4b71Sopenharmony_ci```
842e41f4b71Sopenharmony_ci
843e41f4b71Sopenharmony_ci## accessibility.isOpenAccessibility<sup>(deprecated)</sup>
844e41f4b71Sopenharmony_ci
845e41f4b71Sopenharmony_ciisOpenAccessibility(): Promise&lt;boolean&gt;
846e41f4b71Sopenharmony_ci
847e41f4b71Sopenharmony_ciChecks whether accessibility is enabled. This API uses a promise to return the result.
848e41f4b71Sopenharmony_ci
849e41f4b71Sopenharmony_ci> **NOTE**
850e41f4b71Sopenharmony_ci>
851e41f4b71Sopenharmony_ci> This API is deprecated since API version 10.
852e41f4b71Sopenharmony_ci>
853e41f4b71Sopenharmony_ci> You are advised to use [accessibility.isOpenAccessibilitySync](#accessibilityisopenaccessibilitysync10) instead.
854e41f4b71Sopenharmony_ci
855e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
856e41f4b71Sopenharmony_ci
857e41f4b71Sopenharmony_ci**Return value**
858e41f4b71Sopenharmony_ci
859e41f4b71Sopenharmony_ci| Type                    | Description                                      |
860e41f4b71Sopenharmony_ci| ---------------------- | ---------------------------------------- |
861e41f4b71Sopenharmony_ci| Promise&lt;boolean&gt; | Promise used to return the result. Returns **true** if accessibility is enabled; returns **false** otherwise.|
862e41f4b71Sopenharmony_ci
863e41f4b71Sopenharmony_ci**Example**
864e41f4b71Sopenharmony_ci
865e41f4b71Sopenharmony_ci```ts
866e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
867e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
868e41f4b71Sopenharmony_ci
869e41f4b71Sopenharmony_ciaccessibility.isOpenAccessibility().then((data: boolean) => {
870e41f4b71Sopenharmony_ci  console.info(`success data:isOpenAccessibility : ${JSON.stringify(data)}`)
871e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => {
872e41f4b71Sopenharmony_ci  console.error(`failed to  isOpenAccessibility, Code is ${err.code}, message is ${err.message}`);
873e41f4b71Sopenharmony_ci});
874e41f4b71Sopenharmony_ci```
875e41f4b71Sopenharmony_ci
876e41f4b71Sopenharmony_ci## accessibility.isOpenAccessibility<sup>(deprecated)</sup>
877e41f4b71Sopenharmony_ci
878e41f4b71Sopenharmony_ciisOpenAccessibility(callback: AsyncCallback&lt;boolean&gt;): void
879e41f4b71Sopenharmony_ci
880e41f4b71Sopenharmony_ciChecks whether accessibility is enabled. This API uses an asynchronous callback to return the result.
881e41f4b71Sopenharmony_ci
882e41f4b71Sopenharmony_ci> **NOTE**
883e41f4b71Sopenharmony_ci>
884e41f4b71Sopenharmony_ci> This API is deprecated since API version 10.
885e41f4b71Sopenharmony_ci>
886e41f4b71Sopenharmony_ci> You are advised to use [accessibility.isOpenAccessibilitySync](#accessibilityisopenaccessibilitysync10) instead.
887e41f4b71Sopenharmony_ci
888e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
889e41f4b71Sopenharmony_ci
890e41f4b71Sopenharmony_ci**Parameters**
891e41f4b71Sopenharmony_ci
892e41f4b71Sopenharmony_ci| Name     | Type                          | Mandatory  | Description                                 |
893e41f4b71Sopenharmony_ci| -------- | ---------------------------- | ---- | ----------------------------------- |
894e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;boolean&gt; | Yes   | Callback used to return the result. Returns **true** if accessibility is enabled; returns **false** otherwise.|
895e41f4b71Sopenharmony_ci
896e41f4b71Sopenharmony_ci**Example**
897e41f4b71Sopenharmony_ci
898e41f4b71Sopenharmony_ci```ts
899e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
900e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
901e41f4b71Sopenharmony_ci
902e41f4b71Sopenharmony_ciaccessibility.isOpenAccessibility((err: BusinessError, data: boolean) => {
903e41f4b71Sopenharmony_ci  if (err) {
904e41f4b71Sopenharmony_ci    console.error(`failed to isOpenAccessibility, Code is ${err.code}, message is ${err.message}`);
905e41f4b71Sopenharmony_ci    return;
906e41f4b71Sopenharmony_ci  }
907e41f4b71Sopenharmony_ci  console.info(`success data:isOpenAccessibility : ${JSON.stringify(data)}`);
908e41f4b71Sopenharmony_ci});
909e41f4b71Sopenharmony_ci```
910e41f4b71Sopenharmony_ci
911e41f4b71Sopenharmony_ci## accessibility.isOpenAccessibilitySync<sup>10+</sup>
912e41f4b71Sopenharmony_ci
913e41f4b71Sopenharmony_ciisOpenAccessibilitySync(): boolean
914e41f4b71Sopenharmony_ci
915e41f4b71Sopenharmony_ciChecks whether accessibility is enabled.
916e41f4b71Sopenharmony_ci
917e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11.
918e41f4b71Sopenharmony_ci
919e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
920e41f4b71Sopenharmony_ci
921e41f4b71Sopenharmony_ci**Return value**
922e41f4b71Sopenharmony_ci
923e41f4b71Sopenharmony_ci| Type       | Description                                 |
924e41f4b71Sopenharmony_ci| ----------- | ------------------------------------- |
925e41f4b71Sopenharmony_ci| boolean | Returns **true** if accessibility is enabled; returns **false** otherwise.|
926e41f4b71Sopenharmony_ci
927e41f4b71Sopenharmony_ci**Example**
928e41f4b71Sopenharmony_ci
929e41f4b71Sopenharmony_ci```ts
930e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
931e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
932e41f4b71Sopenharmony_ci
933e41f4b71Sopenharmony_cilet status: boolean = accessibility.isOpenAccessibilitySync();
934e41f4b71Sopenharmony_ci```
935e41f4b71Sopenharmony_ci
936e41f4b71Sopenharmony_ci## accessibility.isOpenTouchGuide<sup>(deprecated)</sup>
937e41f4b71Sopenharmony_ci
938e41f4b71Sopenharmony_ciisOpenTouchGuide(): Promise&lt;boolean&gt;
939e41f4b71Sopenharmony_ci
940e41f4b71Sopenharmony_ciChecks whether touch guide mode is enabled. This API uses a promise to return the result.
941e41f4b71Sopenharmony_ci
942e41f4b71Sopenharmony_ci> **NOTE**
943e41f4b71Sopenharmony_ci>
944e41f4b71Sopenharmony_ci> This API is deprecated since API version 10.
945e41f4b71Sopenharmony_ci>
946e41f4b71Sopenharmony_ci> You are advised to use [accessibility.isOpenTouchGuideSync](#accessibilityisopentouchguidesync10) instead.
947e41f4b71Sopenharmony_ci
948e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Vision
949e41f4b71Sopenharmony_ci
950e41f4b71Sopenharmony_ci**Return value**
951e41f4b71Sopenharmony_ci
952e41f4b71Sopenharmony_ci| Type                    | Description                                      |
953e41f4b71Sopenharmony_ci| ---------------------- | ---------------------------------------- |
954e41f4b71Sopenharmony_ci| Promise&lt;boolean&gt; | Promise used to return the result. Returns **true** if touch guide mode is enabled; returns **false** otherwise.|
955e41f4b71Sopenharmony_ci
956e41f4b71Sopenharmony_ci**Example**
957e41f4b71Sopenharmony_ci
958e41f4b71Sopenharmony_ci```ts
959e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
960e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
961e41f4b71Sopenharmony_ci
962e41f4b71Sopenharmony_ciaccessibility.isOpenTouchGuide().then((data: boolean) => {
963e41f4b71Sopenharmony_ci  console.info(`success data:isOpenTouchGuide : ${JSON.stringify(data)}`);
964e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => {
965e41f4b71Sopenharmony_ci  console.error(`failed to  isOpenTouchGuide, Code is ${err.code}, message is ${err.message}`);
966e41f4b71Sopenharmony_ci});
967e41f4b71Sopenharmony_ci```
968e41f4b71Sopenharmony_ci
969e41f4b71Sopenharmony_ci## accessibility.isOpenTouchGuide<sup>(deprecated)</sup>
970e41f4b71Sopenharmony_ci
971e41f4b71Sopenharmony_ciisOpenTouchGuide(callback: AsyncCallback&lt;boolean&gt;): void
972e41f4b71Sopenharmony_ci
973e41f4b71Sopenharmony_ciChecks whether touch guide mode is enabled. This API uses an asynchronous callback to return the result.
974e41f4b71Sopenharmony_ci
975e41f4b71Sopenharmony_ci> **NOTE**
976e41f4b71Sopenharmony_ci>
977e41f4b71Sopenharmony_ci> This API is deprecated since API version 10.
978e41f4b71Sopenharmony_ci>
979e41f4b71Sopenharmony_ci> You are advised to use [accessibility.isOpenTouchGuideSync](#accessibilityisopentouchguidesync10) instead.
980e41f4b71Sopenharmony_ci
981e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Vision
982e41f4b71Sopenharmony_ci
983e41f4b71Sopenharmony_ci**Parameters**
984e41f4b71Sopenharmony_ci
985e41f4b71Sopenharmony_ci| Name     | Type                          | Mandatory  | Description                                   |
986e41f4b71Sopenharmony_ci| -------- | ---------------------------- | ---- | ------------------------------------- |
987e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;boolean&gt; | Yes   | Callback used to return the result. Returns **true** if touch guide mode is enabled; returns **false** otherwise.|
988e41f4b71Sopenharmony_ci
989e41f4b71Sopenharmony_ci**Example**
990e41f4b71Sopenharmony_ci
991e41f4b71Sopenharmony_ci```ts
992e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
993e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
994e41f4b71Sopenharmony_ci
995e41f4b71Sopenharmony_ciaccessibility.isOpenTouchGuide((err: BusinessError, data: boolean) => {
996e41f4b71Sopenharmony_ci  if (err) {
997e41f4b71Sopenharmony_ci    console.error(`failed to isOpenTouchGuide, Code is ${err.code}, message is ${err.message}`);
998e41f4b71Sopenharmony_ci    return;
999e41f4b71Sopenharmony_ci  }
1000e41f4b71Sopenharmony_ci  console.info(`success data:isOpenTouchGuide : ${JSON.stringify(data)}`);
1001e41f4b71Sopenharmony_ci});
1002e41f4b71Sopenharmony_ci```
1003e41f4b71Sopenharmony_ci
1004e41f4b71Sopenharmony_ci## accessibility.isOpenTouchGuideSync<sup>10+</sup>
1005e41f4b71Sopenharmony_ci
1006e41f4b71Sopenharmony_ciisOpenTouchGuideSync(): boolean
1007e41f4b71Sopenharmony_ci
1008e41f4b71Sopenharmony_ciChecks whether touch guide mode is enabled.
1009e41f4b71Sopenharmony_ci
1010e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11.
1011e41f4b71Sopenharmony_ci
1012e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Vision
1013e41f4b71Sopenharmony_ci
1014e41f4b71Sopenharmony_ci**Return value**
1015e41f4b71Sopenharmony_ci
1016e41f4b71Sopenharmony_ci| Type   | Description                                 |
1017e41f4b71Sopenharmony_ci| ------- | ------------------------------------- |
1018e41f4b71Sopenharmony_ci| boolean | Returns **true** if accessibility is enabled; returns **false** otherwise.|
1019e41f4b71Sopenharmony_ci
1020e41f4b71Sopenharmony_ci**Example**
1021e41f4b71Sopenharmony_ci
1022e41f4b71Sopenharmony_ci```ts
1023e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
1024e41f4b71Sopenharmony_ci
1025e41f4b71Sopenharmony_cilet status: boolean = accessibility.isOpenTouchGuideSync();
1026e41f4b71Sopenharmony_ci```
1027e41f4b71Sopenharmony_ci
1028e41f4b71Sopenharmony_ci## accessibility.sendEvent<sup>(deprecated)</sup>
1029e41f4b71Sopenharmony_ci
1030e41f4b71Sopenharmony_cisendEvent(event: EventInfo): Promise&lt;void&gt;
1031e41f4b71Sopenharmony_ci
1032e41f4b71Sopenharmony_ciSends an accessibility event. This API uses a promise to return the result.
1033e41f4b71Sopenharmony_ci
1034e41f4b71Sopenharmony_ci> **NOTE**
1035e41f4b71Sopenharmony_ci>
1036e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9.
1037e41f4b71Sopenharmony_ci> You are advised to use [accessibility.sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9) instead.
1038e41f4b71Sopenharmony_ci
1039e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
1040e41f4b71Sopenharmony_ci
1041e41f4b71Sopenharmony_ci**Parameters**
1042e41f4b71Sopenharmony_ci
1043e41f4b71Sopenharmony_ci| Name  | Type                     | Mandatory  | Description      |
1044e41f4b71Sopenharmony_ci| ----- | ----------------------- | ---- | -------- |
1045e41f4b71Sopenharmony_ci| event | [EventInfo](#eventinfo) | Yes   | Accessibility event.|
1046e41f4b71Sopenharmony_ci
1047e41f4b71Sopenharmony_ci**Return value**
1048e41f4b71Sopenharmony_ci
1049e41f4b71Sopenharmony_ci| Type                 | Description              |
1050e41f4b71Sopenharmony_ci| ------------------- | ---------------- |
1051e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise that returns no value.|
1052e41f4b71Sopenharmony_ci
1053e41f4b71Sopenharmony_ci**Example**
1054e41f4b71Sopenharmony_ci
1055e41f4b71Sopenharmony_ci```ts
1056e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
1057e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
1058e41f4b71Sopenharmony_ci
1059e41f4b71Sopenharmony_cilet eventInfo: accessibility.EventInfo = ({
1060e41f4b71Sopenharmony_ci  type: 'click',
1061e41f4b71Sopenharmony_ci  bundleName: 'com.example.MyApplication',
1062e41f4b71Sopenharmony_ci  triggerAction: 'click',
1063e41f4b71Sopenharmony_ci});
1064e41f4b71Sopenharmony_ci
1065e41f4b71Sopenharmony_ciaccessibility.sendEvent(eventInfo).then(() => {
1066e41f4b71Sopenharmony_ci  console.info(`Succeeded in send event,eventInfo is ${eventInfo}`);
1067e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => {
1068e41f4b71Sopenharmony_ci  console.error(`failed to sendEvent, Code is ${err.code}, message is ${err.message}`);
1069e41f4b71Sopenharmony_ci});
1070e41f4b71Sopenharmony_ci```
1071e41f4b71Sopenharmony_ci
1072e41f4b71Sopenharmony_ci## accessibility.sendEvent<sup>(deprecated)</sup>
1073e41f4b71Sopenharmony_ci
1074e41f4b71Sopenharmony_cisendEvent(event: EventInfo, callback: AsyncCallback&lt;void&gt;): void
1075e41f4b71Sopenharmony_ci
1076e41f4b71Sopenharmony_ciSends an accessibility event. This API uses an asynchronous callback to return the result.
1077e41f4b71Sopenharmony_ci
1078e41f4b71Sopenharmony_ci> **NOTE**
1079e41f4b71Sopenharmony_ci>
1080e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9.
1081e41f4b71Sopenharmony_ci> You are advised to use [accessibility.sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9-1) instead.
1082e41f4b71Sopenharmony_ci
1083e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
1084e41f4b71Sopenharmony_ci
1085e41f4b71Sopenharmony_ci**Parameters**
1086e41f4b71Sopenharmony_ci
1087e41f4b71Sopenharmony_ci| Name     | Type                       | Mandatory  | Description                                      |
1088e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------------------------------------- |
1089e41f4b71Sopenharmony_ci| event    | [EventInfo](#eventinfo)   | Yes   | Accessibility event.                                 |
1090e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | Yes   | Callback used to return the result. If the operation fails, **err** that contains data is returned.|
1091e41f4b71Sopenharmony_ci
1092e41f4b71Sopenharmony_ci**Example**
1093e41f4b71Sopenharmony_ci
1094e41f4b71Sopenharmony_ci```ts
1095e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
1096e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
1097e41f4b71Sopenharmony_ci
1098e41f4b71Sopenharmony_cilet eventInfo: accessibility.EventInfo = ({
1099e41f4b71Sopenharmony_ci  type: 'click',
1100e41f4b71Sopenharmony_ci  bundleName: 'com.example.MyApplication',
1101e41f4b71Sopenharmony_ci  triggerAction: 'click',
1102e41f4b71Sopenharmony_ci});
1103e41f4b71Sopenharmony_ci
1104e41f4b71Sopenharmony_ciaccessibility.sendEvent(eventInfo, (err: BusinessError) => {
1105e41f4b71Sopenharmony_ci  if (err) {
1106e41f4b71Sopenharmony_ci    console.error(`failed to sendEvent, Code is ${err.code}, message is ${err.message}`);
1107e41f4b71Sopenharmony_ci    return;
1108e41f4b71Sopenharmony_ci  }
1109e41f4b71Sopenharmony_ci  console.info(`Succeeded in sendEvent, eventInfo is ${eventInfo}`);
1110e41f4b71Sopenharmony_ci});
1111e41f4b71Sopenharmony_ci```
1112e41f4b71Sopenharmony_ci
1113e41f4b71Sopenharmony_ci## accessibility.sendAccessibilityEvent<sup>9+</sup>
1114e41f4b71Sopenharmony_ci
1115e41f4b71Sopenharmony_cisendAccessibilityEvent(event: EventInfo): Promise&lt;void&gt;
1116e41f4b71Sopenharmony_ci
1117e41f4b71Sopenharmony_ciSends an accessibility event. This API uses a promise to return the result.
1118e41f4b71Sopenharmony_ci
1119e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
1120e41f4b71Sopenharmony_ci
1121e41f4b71Sopenharmony_ci**Parameters**
1122e41f4b71Sopenharmony_ci
1123e41f4b71Sopenharmony_ci| Name  | Type                     | Mandatory  | Description      |
1124e41f4b71Sopenharmony_ci| ----- | ----------------------- | ---- | -------- |
1125e41f4b71Sopenharmony_ci| event | [EventInfo](#eventinfo) | Yes   | Accessibility event.|
1126e41f4b71Sopenharmony_ci
1127e41f4b71Sopenharmony_ci**Return value**
1128e41f4b71Sopenharmony_ci
1129e41f4b71Sopenharmony_ci| Type                 | Description              |
1130e41f4b71Sopenharmony_ci| ------------------- | ---------------- |
1131e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise that returns no value.|
1132e41f4b71Sopenharmony_ci
1133e41f4b71Sopenharmony_ci**Error codes**
1134e41f4b71Sopenharmony_ci
1135e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
1136e41f4b71Sopenharmony_ci
1137e41f4b71Sopenharmony_ci| ID| Error Message|
1138e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
1139e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1140e41f4b71Sopenharmony_ci
1141e41f4b71Sopenharmony_ci**Example**
1142e41f4b71Sopenharmony_ci
1143e41f4b71Sopenharmony_ci```ts
1144e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
1145e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
1146e41f4b71Sopenharmony_ci
1147e41f4b71Sopenharmony_cilet eventInfo: accessibility.EventInfo = ({
1148e41f4b71Sopenharmony_ci  type: 'click',
1149e41f4b71Sopenharmony_ci  bundleName: 'com.example.MyApplication',
1150e41f4b71Sopenharmony_ci  triggerAction: 'click',
1151e41f4b71Sopenharmony_ci});
1152e41f4b71Sopenharmony_ci
1153e41f4b71Sopenharmony_ciaccessibility.sendAccessibilityEvent(eventInfo).then(() => {
1154e41f4b71Sopenharmony_ci  console.info(`Succeeded in send event,eventInfo is ${eventInfo}`);
1155e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => {
1156e41f4b71Sopenharmony_ci  console.error(`failed to send event , Code is ${err.code}, message is ${err.message}`);
1157e41f4b71Sopenharmony_ci});
1158e41f4b71Sopenharmony_ci```
1159e41f4b71Sopenharmony_ci
1160e41f4b71Sopenharmony_ci## accessibility.sendAccessibilityEvent<sup>9+</sup>
1161e41f4b71Sopenharmony_ci
1162e41f4b71Sopenharmony_cisendAccessibilityEvent(event: EventInfo, callback: AsyncCallback&lt;void&gt;): void
1163e41f4b71Sopenharmony_ci
1164e41f4b71Sopenharmony_ciSends an accessibility event. This API uses an asynchronous callback to return the result.
1165e41f4b71Sopenharmony_ci
1166e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BarrierFree.Accessibility.Core
1167e41f4b71Sopenharmony_ci
1168e41f4b71Sopenharmony_ci**Parameters**
1169e41f4b71Sopenharmony_ci
1170e41f4b71Sopenharmony_ci| Name     | Type                       | Mandatory  | Description                                      |
1171e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------------------------------------- |
1172e41f4b71Sopenharmony_ci| event    | [EventInfo](#eventinfo)   | Yes   | Accessibility event.                                 |
1173e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | Yes   | Callback used to return the result. If the operation fails, **err** that contains data is returned.|
1174e41f4b71Sopenharmony_ci
1175e41f4b71Sopenharmony_ci**Error codes**
1176e41f4b71Sopenharmony_ci
1177e41f4b71Sopenharmony_ciFor details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md).
1178e41f4b71Sopenharmony_ci
1179e41f4b71Sopenharmony_ci| ID| Error Message|
1180e41f4b71Sopenharmony_ci| ------- | -------------------------------- |
1181e41f4b71Sopenharmony_ci| 401  |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1182e41f4b71Sopenharmony_ci
1183e41f4b71Sopenharmony_ci**Example**
1184e41f4b71Sopenharmony_ci
1185e41f4b71Sopenharmony_ci```ts
1186e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
1187e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
1188e41f4b71Sopenharmony_ci
1189e41f4b71Sopenharmony_cilet eventInfo: accessibility.EventInfo = ({
1190e41f4b71Sopenharmony_ci  type: 'click',
1191e41f4b71Sopenharmony_ci  bundleName: 'com.example.MyApplication',
1192e41f4b71Sopenharmony_ci  triggerAction: 'click',
1193e41f4b71Sopenharmony_ci});
1194e41f4b71Sopenharmony_ci
1195e41f4b71Sopenharmony_ciaccessibility.sendAccessibilityEvent(eventInfo, (err: BusinessError) => {
1196e41f4b71Sopenharmony_ci  if (err) {
1197e41f4b71Sopenharmony_ci    console.error(`failed to send event, Code is ${err.code}, message is ${err.message}`);
1198e41f4b71Sopenharmony_ci    return;
1199e41f4b71Sopenharmony_ci  }
1200e41f4b71Sopenharmony_ci  console.info(`Succeeded in send event, eventInfo is ${eventInfo}`);
1201e41f4b71Sopenharmony_ci});
1202e41f4b71Sopenharmony_ci```
1203e41f4b71Sopenharmony_ci
1204e41f4b71Sopenharmony_ci**Example of auto-focusing:**
1205e41f4b71Sopenharmony_ci
1206e41f4b71Sopenharmony_ci```ts
1207e41f4b71Sopenharmony_ci@Entry
1208e41f4b71Sopenharmony_ci@Component
1209e41f4b71Sopenharmony_cistruct Index {
1210e41f4b71Sopenharmony_ci
1211e41f4b71Sopenharmony_ci  build() {
1212e41f4b71Sopenharmony_ci    Column() {
1213e41f4b71Sopenharmony_ci      // Add the ID attribute to the component to be focused. The uniqueness of the ID is ensured by the user.
1214e41f4b71Sopenharmony_ci      Button ('Component to be focused').id ('click')
1215e41f4b71Sopenharmony_ci    }
1216e41f4b71Sopenharmony_ci  }
1217e41f4b71Sopenharmony_ci}
1218e41f4b71Sopenharmony_ci```
1219e41f4b71Sopenharmony_ci```ts
1220e41f4b71Sopenharmony_ciimport { accessibility } from '@kit.AccessibilityKit';
1221e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
1222e41f4b71Sopenharmony_ci
1223e41f4b71Sopenharmony_cilet eventInfo: accessibility.EventInfo = ({
1224e41f4b71Sopenharmony_ci  type: 'requestFocusForAccessibility',
1225e41f4b71Sopenharmony_ci  bundleName: 'com.example.MyApplication',
1226e41f4b71Sopenharmony_ci  triggerAction: 'common',
1227e41f4b71Sopenharmony_ci  customId: 'click' // ID of the component to be focused.
1228e41f4b71Sopenharmony_ci});
1229e41f4b71Sopenharmony_ci
1230e41f4b71Sopenharmony_ciaccessibility.sendAccessibilityEvent(eventInfo, (err: BusinessError) => {
1231e41f4b71Sopenharmony_ci  if (err) {
1232e41f4b71Sopenharmony_ci    console.error(`failed to send event, Code is ${err.code}, message is ${err.message}`);
1233e41f4b71Sopenharmony_ci    return;
1234e41f4b71Sopenharmony_ci  }
1235e41f4b71Sopenharmony_ci  console.info(`Succeeded in send event, eventInfo is ${eventInfo}`);
1236e41f4b71Sopenharmony_ci});
1237e41f4b71Sopenharmony_ci```
1238