1# @ohos.accessibility.config (System Accessibility Configuration) 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| audioMono<sup>10+</sup>| [Config](#config)\<boolean>| Yes| Yes| Whether to enable mono audio. The value **True** means to enable mono audio, and **False** means the opposite.| 35| audioBalance<sup>10+</sup>| [Config](#config)\<number>| Yes| Yes| Audio balance for the left and right audio channels. The value ranges from -1.0 to 1.0.| 36 37## enableAbility 38 39enableAbility(name: string, capability: Array<accessibility.Capability>): Promise<void>; 40 41Enables an accessibility extension ability. This API uses a promise to return the result. 42 43**System capability**: SystemCapability.BarrierFree.Accessibility.Core 44 45**Parameters** 46 47| Name| Type| Mandatory| Description| 48| -------- | -------- | -------- | -------- | 49| name | string | Yes| Name of the accessibility extension ability. The format is 'bundleName/abilityName'.| 50| capability | Array<[accessibility.Capability](js-apis-accessibility.md#capability)> | Yes| Capability of the accessibility extension ability.| 51 52**Return value** 53 54| Type| Description| 55| -------- | -------- | 56| Promise<void> | Promise that returns no value.| 57 58**Error codes** 59 60For details about the error codes, see [Accessibility Error Codes](../errorcodes/errorcode-accessibility.md). 61 62| ID| Error Message| 63| ------- | -------------------------------- | 64| 9300001 | Invalid bundle name or ability name. | 65| 9300002 | Target ability already enabled. | 66 67**Example** 68 69```ts 70import accessibility from '@ohos.accessibility'; 71import config from '@ohos.accessibility.config'; 72 73let name: string = 'com.ohos.example/axExtension'; 74let capability : accessibility.Capability[] = ['retrieve']; 75try { 76 config.enableAbility(name, capability).then(() => { 77 console.info('enable ability succeed'); 78 }).catch((err: object) => { 79 console.error('failed to enable ability, because ' + JSON.stringify(err)); 80 }); 81} catch (exception) { 82 console.error('failed to enable ability, because ' + JSON.stringify(exception)); 83}; 84``` 85 86## enableAbility 87 88enableAbility(name: string, capability: Array<accessibility.Capability>, callback: AsyncCallback<void>): void; 89 90Enables an accessibility extension ability. This API uses an asynchronous callback to return the result. 91 92**System capability**: SystemCapability.BarrierFree.Accessibility.Core 93 94**Parameters** 95 96| Name| Type| Mandatory| Description| 97| -------- | -------- | -------- | -------- | 98| name | string | Yes| Name of the accessibility extension ability. The format is 'bundleName/abilityName'.| 99| capability | Array<[accessibility.Capability](js-apis-accessibility.md#capability)> | Yes| Capability of the accessibility extension ability.| 100| callback | AsyncCallback<void> | Yes| Callback used to return the result.| 101 102**Error codes** 103 104For details about the error codes, see [Accessibility Error Codes](../errorcodes/errorcode-accessibility.md). 105 106| ID| Error Message| 107| ------- | -------------------------------- | 108| 9300001 | Invalid bundle name or ability name. | 109| 9300002 | Target ability already enabled. | 110 111**Example** 112 113```ts 114import accessibility from '@ohos.accessibility'; 115import config from '@ohos.accessibility.config'; 116import { BusinessError } from '@ohos.base'; 117 118let name: string = 'com.ohos.example/axExtension'; 119let capability: accessibility.Capability[] = ['retrieve']; 120try { 121 config.enableAbility(name, capability, (err: BusinessError<void>) => { 122 if (err) { 123 console.error('failed to enable ability, because ' + JSON.stringify(err)); 124 return; 125 } 126 console.info('enable ability succeed'); 127 }); 128} catch (exception) { 129 console.error('failed to enable ability, because ' + JSON.stringify(exception)); 130}; 131``` 132 133## disableAbility 134 135disableAbility(name: string): Promise<void>; 136 137Disables an accessibility extension ability. This API uses a promise to return the result. 138 139**System capability**: SystemCapability.BarrierFree.Accessibility.Core 140 141**Parameters** 142 143| Name| Type| Mandatory| Description| 144| -------- | -------- | -------- | -------- | 145| name | string | Yes| Name of the accessibility extension ability. The format is 'bundleName/abilityName'.| 146 147**Return value** 148 149| Type| Description| 150| -------- | -------- | 151| Promise<void> | Promise that returns no value.| 152 153**Error codes** 154 155For details about the error codes, see [Accessibility Error Codes](../errorcodes/errorcode-accessibility.md). 156 157| ID| Error Message| 158| ------- | -------------------------------- | 159| 9300001 | Invalid bundle name or ability name. | 160 161**Example** 162 163```ts 164import accessibility from '@ohos.accessibility'; 165import config from '@ohos.accessibility.config'; 166 167let name: string = 'com.ohos.example/axExtension'; 168try { 169 config.disableAbility(name).then(() => { 170 console.info('disable ability succeed'); 171 }).catch((err: object) => { 172 console.error('failed to disable ability, because ' + JSON.stringify(err)); 173 }); 174} catch (exception) { 175 console.error('failed to disable ability, because ' + JSON.stringify(exception)); 176}; 177``` 178 179## disableAbility 180 181disableAbility(name: string, callback: AsyncCallback<void>): void; 182 183Disables an accessibility extension ability. This API uses an asynchronous callback to return the result. 184 185**System capability**: SystemCapability.BarrierFree.Accessibility.Core 186 187**Parameters** 188 189| Name| Type| Mandatory| Description| 190| -------- | -------- | -------- | -------- | 191| name | string | Yes| Name of the accessibility extension ability. The format is 'bundleName/abilityName'.| 192| callback | AsyncCallback<void> | Yes| Callback used to return the result.| 193 194**Error codes** 195 196For details about the error codes, see [Accessibility Error Codes](../errorcodes/errorcode-accessibility.md). 197 198| ID| Error Message| 199| ------- | -------------------------------- | 200| 9300001 | Invalid bundle name or ability name. | 201 202**Example** 203 204```ts 205import accessibility from '@ohos.accessibility'; 206import config from '@ohos.accessibility.config'; 207import { BusinessError } from '@ohos.base'; 208 209let name: string = 'com.ohos.example/axExtension'; 210try { 211 config.disableAbility(name, (err: BusinessError<void>) => { 212 if (err) { 213 console.error('failed to enable ability, because ' + JSON.stringify(err)); 214 return; 215 } 216 console.info('disable succeed'); 217 }); 218} catch (exception) { 219 console.error('failed to enable ability, because ' + JSON.stringify(exception)); 220}; 221``` 222 223## on('enabledAccessibilityExtensionListChange') 224 225on(type: 'enabledAccessibilityExtensionListChange', callback: Callback<void>): void; 226 227Adds a listener for changes in the list of enabled accessibility extension abilities. This API uses an asynchronous callback to return the result. 228 229**System capability**: SystemCapability.BarrierFree.Accessibility.Core 230 231**Parameters** 232 233| Name| Type| Mandatory| Description| 234| -------- | -------- | -------- | -------- | 235| type | string | Yes| Listening type. The value is fixed at **'enabledAccessibilityExtensionListChange'**, indicating listening for changes in the list of enabled accessibility extension abilities.| 236| callback | Callback<void> | Yes| Callback invoked when the list of enabled accessibility extension abilities changes.| 237 238**Example** 239 240```ts 241import config from '@ohos.accessibility.config'; 242 243try { 244 config.on('enabledAccessibilityExtensionListChange', () => { 245 console.info('subscribe enabled accessibility extension list change state success'); 246 }); 247} catch (exception) { 248 console.error('failed to subscribe enabled accessibility extension list change state, because ' + 249 JSON.stringify(exception)); 250}; 251``` 252 253## off('enabledAccessibilityExtensionListChange') 254 255off(type: 'enabledAccessibilityExtensionListChange', callback?: Callback<void>): void; 256 257Cancels the listener for changes in the list of enabled accessibility extension abilities. This API uses an asynchronous callback to return the result. 258 259**System capability**: SystemCapability.BarrierFree.Accessibility.Core 260 261**Parameters** 262 263| Name| Type| Mandatory| Description| 264| -------- | -------- | -------- | -------- | 265| type | string | Yes| Listening type. The value is fixed at **'enabledAccessibilityExtensionListChange'**, indicating listening for changes in the list of enabled accessibility extension abilities.| 266| callback | Callback<void> | No| Callback for the event.| 267 268**Example** 269 270```ts 271import config from '@ohos.accessibility.config'; 272 273try { 274 config.off('enabledAccessibilityExtensionListChange', () => { 275 console.info('Unsubscribe enabled accessibility extension list change state success'); 276 }); 277} catch (exception) { 278 console.error('failed to Unsubscribe enabled accessibility extension list change state, because ' + 279 JSON.stringify(exception)); 280}; 281``` 282 283## Config 284 285Implements configuration, acquisition, and listening for attributes. 286 287### set 288 289set(value: T): Promise<void>; 290 291Sets the attribute value. This API uses a promise to return the result. 292 293**System capability**: SystemCapability.BarrierFree.Accessibility.Core 294 295**Parameters** 296 297| Name| Type| Mandatory| Description| 298| -------- | -------- | -------- | -------- | 299| value | T | Yes| Attribute value to set.| 300 301**Return value** 302 303| Type| Description| 304| -------- | -------- | 305| Promise<void> | Promise that returns no value.| 306 307**Example** 308 309```ts 310import config from '@ohos.accessibility.config'; 311 312let value: boolean = true; 313try { 314 config.highContrastText.set(value).then(() => { 315 console.info('set highContrastText succeed'); 316 }).catch((err: object) => { 317 console.error('failed to set highContrastText, because ' + JSON.stringify(err)); 318 }); 319} catch (exception) { 320 console.error('failed to set config, because ' + JSON.stringify(exception)); 321}; 322``` 323 324### set 325 326set(value: T, callback: AsyncCallback<void>): void; 327 328Sets the attribute value. This API uses an asynchronous callback to return the result. 329 330**System capability**: SystemCapability.BarrierFree.Accessibility.Core 331 332**Parameters** 333 334| Name| Type| Mandatory| Description| 335| -------- | -------- | -------- | -------- | 336| value | T | Yes| Attribute value to set.| 337| callback | AsyncCallback<void> | Yes| Callback used to return the result.| 338 339**Example** 340 341```ts 342import config from '@ohos.accessibility.config'; 343import { BusinessError } from '@ohos.base'; 344 345let value: boolean = true; 346try { 347 config.highContrastText.set(value, (err: BusinessError<void>) => { 348 if (err) { 349 console.error('failed to set highContrastText, because ' + JSON.stringify(err)); 350 return; 351 } 352 console.info('set highContrastText succeed'); 353 }); 354} catch (exception) { 355 console.error('failed to set config, because ' + JSON.stringify(exception)); 356}; 357``` 358 359### get 360 361get(): Promise<T>; 362 363Obtains the attribute value. This API uses a promise to return the result. 364 365**System capability**: SystemCapability.BarrierFree.Accessibility.Core 366 367**Return value** 368 369| Type| Description| 370| -------- | -------- | 371| Promise<T> | Promise used to return the value obtained.| 372 373**Example** 374 375```ts 376import config from '@ohos.accessibility.config'; 377import { BusinessError } from '@ohos.base'; 378 379let value: boolean; 380config.highContrastText.get().then((data: boolean) => { 381 value = data; 382 console.info('get highContrastText success'); 383}).catch((err: object) => { 384 console.error('failed to get highContrastText, because ' + JSON.stringify(err)); 385}); 386``` 387 388### get 389 390get(callback: AsyncCallback<T>): void; 391 392Obtains the attribute value. This API uses an asynchronous callback to return the result. 393 394**System capability**: SystemCapability.BarrierFree.Accessibility.Core 395 396**Parameters** 397 398| Name| Type| Mandatory| Description| 399| -------- | -------- | -------- | -------- | 400| callback | AsyncCallback<T> | Yes| Callback used to return the attribute value.| 401 402**Example** 403 404```ts 405import config from '@ohos.accessibility.config'; 406import { BusinessError } from '@ohos.base'; 407 408let value: boolean; 409config.highContrastText.get((err: BusinessError<void>, data: boolean) => { 410 if (err) { 411 console.error('failed to get highContrastText, because ' + JSON.stringify(err)); 412 return; 413 } 414 value = data; 415 console.info('get highContrastText success'); 416}); 417``` 418 419### on 420 421on(callback: Callback<T>): void; 422 423Adds a listener for attribute changes. This API uses an asynchronous callback to return the result. 424 425**System capability**: SystemCapability.BarrierFree.Accessibility.Core 426 427**Parameters** 428 429| Name| Type| Mandatory| Description| 430| -------- | -------- | -------- | -------- | 431| callback | Callback<T> | Yes| Callback invoked when the attribute changes.| 432 433**Example** 434 435```ts 436import config from '@ohos.accessibility.config'; 437 438try { 439 config.highContrastText.on((data: boolean) => { 440 console.info('subscribe highContrastText success, result: ' + JSON.stringify(data)); 441 }); 442} catch (exception) { 443 console.error('failed subscribe highContrastText, because ' + JSON.stringify(exception)); 444} 445``` 446 447### off 448 449off(callback?: Callback<T>): void; 450 451Cancels the listener for attribute changes. This API uses an asynchronous callback to return the result. 452 453**System capability**: SystemCapability.BarrierFree.Accessibility.Core 454 455**Parameters** 456 457| Name| Type| Mandatory| Description| 458| -------- | -------- | -------- | -------- | 459| callback | Callback<T> | No| Callback for the event.| 460 461**Example** 462 463```ts 464import config from '@ohos.accessibility.config'; 465 466config.highContrastText.off((data: boolean) => { 467 console.info('Unsubscribe highContrastText success, result: ' + JSON.stringify(data)); 468}); 469``` 470 471## DaltonizationColorFilter 472 473Enumerates the daltonization filters. 474 475**System capability**: SystemCapability.BarrierFree.Accessibility.Core 476 477| Name| Description| 478| -------- | -------- | 479| Normal | Filter for normal users.| 480| Protanomaly | Filter for protanomaly.| 481| Deuteranomaly | Filter for deuteranomaly.| 482| Tritanomaly | Filter for tritanomaly.| 483