1# @ohos.accessibility.config 2 3The System Accessibility Configuration module allows you to configure system accessibility features, including accessibility extension, high-contrast text, mouse buttons, and captions. 4 5> **NOTE** 6> 7> - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8> - The APIs provided by this module are system APIs. 9 10## Modules to Import 11 12```ts 13import config from '@ohos.accessibility.config'; 14``` 15 16## Attributes 17 18**System capability**: SystemCapability.BarrierFree.Accessibility.Core 19 20| Name| Type| Readable| Writable| Description| 21| -------- | -------- | -------- | -------- | -------- | 22| highContrastText | [Config](#config)\<boolean>| Yes| Yes| Whether to enable high-contrast text.| 23| invertColor | [Config](#config)\<boolean>| Yes| Yes| Whether to enable color inversion.| 24| daltonizationColorFilter | [Config](#config)<[DaltonizationColorFilter](#daltonizationcolorfilter)>| Yes| Yes| Configuration of the daltonization filter.| 25| contentTimeout | [Config](#config)\<number>| Yes| Yes| Recommended duration for content display. The value ranges from 0 to 5000, in milliseconds.| 26| animationOff | [Config](#config)\<boolean>| Yes| Yes| Whether to disable animation.| 27| brightnessDiscount | [Config](#config)\<number>| Yes| Yes| Brightness discount. The value ranges from 0 to 1.0.| 28| mouseKey | [Config](#config)\<boolean>| Yes| Yes| Whether to enable the mouse button feature.| 29| mouseAutoClick | [Config](#config)\<number>| Yes| Yes| Interval for automatic mouse clicks. The value ranges from 0 to 5000, in milliseconds.| 30| shortkey | [Config](#config)\<boolean>| Yes| Yes| Whether to enable the accessibility extension shortcut key.| 31| shortkeyTarget | [Config](#config)\<string>| Yes| Yes| Target application for the accessibility extension shortcut key. The value format is 'bundleName/abilityName'.| 32| captions | [Config](#config)\<boolean>| Yes| Yes| Whether to enable captions.| 33| captionsStyle | [Config](#config)\<[accessibility.CaptionsStyle](js-apis-accessibility.md#captionsstyle8)>| Yes| Yes| Captions style.| 34 35## enableAbility 36 37enableAbility(name: string, capability: Array<accessibility.Capability>): Promise<void>; 38 39Enables an accessibility extension ability. This API uses a promise to return the result. 40 41**System capability**: SystemCapability.BarrierFree.Accessibility.Core 42 43**Parameters** 44 45| Name| Type| Mandatory| Description| 46| -------- | -------- | -------- | -------- | 47| name | string | Yes| Name of the accessibility extension ability. The format is 'bundleName/abilityName'.| 48| capability | Array<[accessibility.Capability](js-apis-accessibility.md#capability)> | Yes| Capability of the accessibility extension ability.| 49 50**Return value** 51 52| Type| Description| 53| -------- | -------- | 54| Promise<void> | Promise that returns no value.| 55 56**Error codes** 57 58For details about the error codes, see [Accessibility Error Codes](../errorcodes/errorcode-accessibility.md). 59 60| ID| Error Message| 61| ------- | -------------------------------- | 62| 9300001 | Invalid bundle name or ability name. | 63| 9300002 | Target ability already enabled. | 64 65**Example** 66 67```ts 68import accessibility from '@ohos.accessibility'; 69let name = 'com.ohos.example/axExtension'; 70let capability : accessibility.Capability[] = ['retrieve']; 71try { 72 config.enableAbility(name, capability).then(() => { 73 console.info('enable ability succeed'); 74 }).catch((err) => { 75 console.error('failed to enable ability, because ' + JSON.stringify(err)); 76 }); 77} catch (exception) { 78 console.error('failed to enable ability, because ' + JSON.stringify(exception)); 79}; 80``` 81 82## enableAbility 83 84enableAbility(name: string, capability: Array<accessibility.Capability>, callback: AsyncCallback<void>): void; 85 86Enables an accessibility extension ability. This API uses an asynchronous callback to return the result. 87 88**System capability**: SystemCapability.BarrierFree.Accessibility.Core 89 90**Parameters** 91 92| Name| Type| Mandatory| Description| 93| -------- | -------- | -------- | -------- | 94| name | string | Yes| Name of the accessibility extension ability. The format is 'bundleName/abilityName'.| 95| capability | Array<[accessibility.Capability](js-apis-accessibility.md#capability)> | Yes| Capability of the accessibility extension ability.| 96| callback | AsyncCallback<void> | Yes| Callback used to return the result.| 97 98**Error codes** 99 100For details about the error codes, see [Accessibility Error Codes](../errorcodes/errorcode-accessibility.md). 101 102| ID| Error Message| 103| ------- | -------------------------------- | 104| 9300001 | Invalid bundle name or ability name. | 105| 9300002 | Target ability already enabled. | 106 107**Example** 108 109```ts 110import accessibility from '@ohos.accessibility'; 111let name = 'com.ohos.example/axExtension'; 112let capability : accessibility.Capability[] = ['retrieve']; 113try { 114 config.enableAbility(name, capability, (err) => { 115 if (err) { 116 console.error('failed to enable ability, because ' + JSON.stringify(err)); 117 return; 118 } 119 console.info('enable ability succeed'); 120 }); 121} catch (exception) { 122 console.error('failed to enable ability, because ' + JSON.stringify(exception)); 123}; 124``` 125 126## disableAbility 127 128disableAbility(name: string): Promise<void>; 129 130Disables an accessibility extension ability. This API uses a promise to return the result. 131 132**System capability**: SystemCapability.BarrierFree.Accessibility.Core 133 134**Parameters** 135 136| Name| Type| Mandatory| Description| 137| -------- | -------- | -------- | -------- | 138| name | string | Yes| Name of the accessibility extension ability. The format is 'bundleName/abilityName'.| 139 140**Return value** 141 142| Type| Description| 143| -------- | -------- | 144| Promise<void> | Promise that returns no value.| 145 146**Error codes** 147 148For details about the error codes, see [Accessibility Error Codes](../errorcodes/errorcode-accessibility.md). 149 150| ID| Error Message| 151| ------- | -------------------------------- | 152| 9300001 | Invalid bundle name or ability name. | 153 154**Example** 155 156```ts 157let name = 'com.ohos.example/axExtension'; 158try { 159 config.disableAbility(name).then(() => { 160 console.info('disable ability succeed'); 161 }).catch((err) => { 162 console.error('failed to disable ability, because ' + JSON.stringify(err)); 163 }); 164} catch (exception) { 165 console.error('failed to disable ability, because ' + JSON.stringify(exception)); 166}; 167``` 168 169## disableAbility 170 171disableAbility(name: string, callback: AsyncCallback<void>): void; 172 173Disables an accessibility extension ability. This API uses an asynchronous callback to return the result. 174 175**System capability**: SystemCapability.BarrierFree.Accessibility.Core 176 177**Parameters** 178 179| Name| Type| Mandatory| Description| 180| -------- | -------- | -------- | -------- | 181| name | string | Yes| Name of the accessibility extension ability. The format is 'bundleName/abilityName'.| 182| callback | AsyncCallback<void> | Yes| Callback used to return the result.| 183 184**Error codes** 185 186For details about the error codes, see [Accessibility Error Codes](../errorcodes/errorcode-accessibility.md). 187 188| ID| Error Message| 189| ------- | -------------------------------- | 190| 9300001 | Invalid bundle name or ability name. | 191 192**Example** 193 194```ts 195let name = 'com.ohos.example/axExtension'; 196try { 197 config.disableAbility(name, (err, data) => { 198 if (err) { 199 console.error('failed to enable ability, because ' + JSON.stringify(err)); 200 return; 201 } 202 console.info('disable succeed'); 203 }); 204} catch (exception) { 205 console.error('failed to enable ability, because ' + JSON.stringify(exception)); 206}; 207``` 208 209## on('enabledAccessibilityExtensionListChange') 210 211on(type: 'enabledAccessibilityExtensionListChange', callback: Callback<void>): void; 212 213Adds a listener for changes in the list of enabled accessibility extension abilities. This API uses an asynchronous callback to return the result. 214 215**System capability**: SystemCapability.BarrierFree.Accessibility.Core 216 217**Parameters** 218 219| Name| Type| Mandatory| Description| 220| -------- | -------- | -------- | -------- | 221| type | string | Yes| Listening type. The value is fixed at **'enabledAccessibilityExtensionListChange'**, indicating listening for changes in the list of enabled accessibility extension abilities.| 222| callback | Callback<void> | Yes| Callback invoked when the list of enabled accessibility extension abilities changes.| 223 224**Example** 225 226```ts 227try { 228 config.on('enabledAccessibilityExtensionListChange', () => { 229 console.info('subscribe enabled accessibility extension list change state success'); 230 }); 231} catch (exception) { 232 console.error('failed to subscribe enabled accessibility extension list change state, because ' + 233 JSON.stringify(exception)); 234}; 235``` 236 237## off('enabledAccessibilityExtensionListChange') 238 239off(type: 'enabledAccessibilityExtensionListChange', callback?: Callback<void>): void; 240 241Cancels the listener for changes in the list of enabled accessibility extension abilities. This API uses an asynchronous callback to return the result. 242 243**System capability**: SystemCapability.BarrierFree.Accessibility.Core 244 245**Parameters** 246 247| Name| Type| Mandatory| Description| 248| -------- | -------- | -------- | -------- | 249| type | string | Yes| Listening type. The value is fixed at **'enabledAccessibilityExtensionListChange'**, indicating listening for changes in the list of enabled accessibility extension abilities.| 250| callback | Callback<void> | No| Callback invoked when the list of enabled accessibility extension abilities changes.| 251 252**Example** 253 254```ts 255try { 256 config.off('enabledAccessibilityExtensionListChange', () => { 257 console.info('Unsubscribe enabled accessibility extension list change state success'); 258 }); 259} catch (exception) { 260 console.error('failed to Unsubscribe enabled accessibility extension list change state, because ' + 261 JSON.stringify(exception)); 262}; 263``` 264 265## Config 266 267Implements configuration, acquisition, and listening for attributes. 268 269### set 270 271set(value: T): Promise<void>; 272 273Sets the attribute value. This API uses a promise to return the result. 274 275**System capability**: SystemCapability.BarrierFree.Accessibility.Core 276 277**Parameters** 278 279| Name| Type| Mandatory| Description| 280| -------- | -------- | -------- | -------- | 281| value | T | Yes| Attribute value to set.| 282 283**Return value** 284 285| Type| Description| 286| -------- | -------- | 287| Promise<void> | Promise that returns no value.| 288 289**Example** 290 291```ts 292let value = true; 293try { 294 config.highContrastText.set(value).then(() => { 295 console.info('set highContrastText succeed'); 296 }).catch((err) => { 297 console.error('failed to set highContrastText, because ' + JSON.stringify(err)); 298 }); 299} catch (exception) { 300 console.error('failed to set config, because ' + JSON.stringify(exception)); 301}; 302``` 303 304### set 305 306set(value: T, callback: AsyncCallback<void>): void; 307 308Sets the attribute value. This API uses an asynchronous callback to return the result. 309 310**System capability**: SystemCapability.BarrierFree.Accessibility.Core 311 312**Parameters** 313 314| Name| Type| Mandatory| Description| 315| -------- | -------- | -------- | -------- | 316| value | T | Yes| Attribute value to set.| 317| callback | AsyncCallback<void> | Yes| Callback used to return the result.| 318 319**Example** 320 321```ts 322let value = true; 323try { 324 config.highContrastText.set(value, (err, data) => { 325 if (err) { 326 console.error('failed to set highContrastText, because ' + JSON.stringify(err)); 327 return; 328 } 329 console.info('set highContrastText succeed'); 330 }); 331} catch (exception) { 332 console.error('failed to set config, because ' + JSON.stringify(exception)); 333}; 334``` 335 336### get 337 338get(): Promise<T>; 339 340Obtains the attribute value. This API uses a promise to return the result. 341 342**System capability**: SystemCapability.BarrierFree.Accessibility.Core 343 344**Return value** 345 346| Type| Description| 347| -------- | -------- | 348| Promise<T> | Promise used to return the value obtained.| 349 350**Example** 351 352```ts 353let value; 354config.highContrastText.get().then((data) => { 355 value = data; 356 console.info('get highContrastText success'); 357}).catch((err) => { 358 console.error('failed to get highContrastText, because ' + JSON.stringify(err)); 359}); 360``` 361 362### get 363 364get(callback: AsyncCallback<T>): void; 365 366Obtains the attribute value. This API uses an asynchronous callback to return the result. 367 368**System capability**: SystemCapability.BarrierFree.Accessibility.Core 369 370**Parameters** 371 372| Name| Type| Mandatory| Description| 373| -------- | -------- | -------- | -------- | 374| callback | AsyncCallback<T> | Yes| Callback used to return the attribute value.| 375 376**Example** 377 378```ts 379let value; 380config.highContrastText.get((err, data) => { 381 if (err) { 382 console.error('failed to get highContrastText, because ' + JSON.stringify(err)); 383 return; 384 } 385 value = data; 386 console.info('get highContrastText success'); 387}); 388``` 389 390### on 391 392on(callback: Callback<T>): void; 393 394Adds a listener for attribute changes. This API uses an asynchronous callback to return the result. 395 396**System capability**: SystemCapability.BarrierFree.Accessibility.Core 397 398**Parameters** 399 400| Name| Type| Mandatory| Description| 401| -------- | -------- | -------- | -------- | 402| callback | Callback<T> | Yes| Callback invoked when the attribute changes.| 403 404**Example** 405 406```ts 407try { 408 config.highContrastText.on((data) => { 409 console.info('subscribe highContrastText success, result: ' + JSON.stringify(data)); 410 }); 411} catch (exception) { 412 console.error('failed subscribe highContrastText, because ' + JSON.stringify(exception)); 413} 414``` 415 416### off 417 418off(callback?: Callback<T>): void; 419 420Cancels the listener for attribute changes. This API uses an asynchronous callback to return the result. 421 422**System capability**: SystemCapability.BarrierFree.Accessibility.Core 423 424**Parameters** 425 426| Name| Type| Mandatory| Description| 427| -------- | -------- | -------- | -------- | 428| callback | Callback<T> | No| Callback invoked when the list of enabled accessibility extension abilities changes.| 429 430**Example** 431 432```ts 433config.highContrastText.off((data) => { 434 console.info('Unsubscribe highContrastText success, result: ' + JSON.stringify(data)); 435}); 436``` 437 438## DaltonizationColorFilter 439 440Enumerates the daltonization filters. 441 442**System capability**: SystemCapability.BarrierFree.Accessibility.Core 443 444| Name| Description| 445| -------- | -------- | 446| Normal | Filter for normal users.| 447| Protanomaly | Filter for protanomaly.| 448| Deuteranomaly | Filter for deuteranomaly.| 449| Tritanomaly | Filter for tritanomaly.| 450