AccessibilityInfo
AccessibilityInfo
Sometimes it's useful to know whether or not the device has a screen reader that is currently active. The AccessibilityInfo API is designed for this purpose. You can use it to query the current state of the screen reader as well as to register to be notified when the state of the screen reader changes.
Vega Support
In order to properly use this module, the target Vega applications needs to include com.amazon.devconf.privilege.accessibility privilege in the manifest.toml file.
Implemented Methods
addEventListener
Use the AccessibilityInfo.addEventListener to listen for accessibility events, such as when a screen reader is turned on or off. This helps developers make their apps more accessible by responding dynamically to user settings.
Supported events
| Event | Description |
|---|---|
screenReaderChanged |
Fires when the state of the screen reader changes. The argument to the event handler is a boolean. The boolean is true when a screen reader is enabled and false otherwise. |
highTextContrastChanged |
Fires when the state of the high text contrast setting changes. The argument to the event handler is a boolean. The boolean is true when high text contrast is enabled and false otherwise. |
Sample usage reference
//Method signature
static addEventListener(
eventName: AccessibilityChangeEventName | AccessibilityAnnouncementEventName,
handler: (
event: AccessibilityChangeEvent | AccessibilityAnnouncementFinishedEvent,
) => void,
): EmitterSubscription;
// Usage
//here enabled is a state variable
const subscription = AccessibilityInfo.addEventListener(
'screenReaderChanged',
(enabled) => {
setIsScreenReaderEnabled(enabled);
}
);
announceForAccessibility
Trigger an accessibility announcement for screen reader. It programmatically announces the specified message to notify users of important changes in the app’s UI, such as status updates or alerts. The announcement does not associate with a specific UI element and is best for general notifications.
Sample usage reference
AccessibilityInfo.announceForAccessibility('Your changes have been saved.');
announceForAccessibilityWithOptions
It extends the functionality of announceForAccessibility by allowing developers to customize the behavior of announcements like waiting for existing announcements to complete before announcing a new message.
Sample usage reference
AccessibilityInfo.announceForAccessibilityWithOptions( 'Form submitted successfully.', { queue: false } /* Interrupt ongoing announcements*/ );
Accepted values
| Name | Type | Description |
|---|---|---|
| announcement | string | The string to be announced |
| options | object | queue - queue the announcement behind existing speech |
Post a string to be announced by the screen reader with modification options. By default, announcements interrupt any existing speech. However, on Vega, they can be queued behind existing speech by setting queue to true in the options object.
isScreenReaderEnabled
Query whether a screen reader is currently enabled. Returns a promise which resolves to a boolean. The result is true when a screen reader is enabled and false otherwise.
Sample usage reference
static isScreenReaderEnabled(): Promise<boolean>;
isHighTextContrastEnabled Android Vega
Query whether high text contrast is currently enabled. Returns a promise which resolves to a boolean. The result is true when high text contrast is enabled and false otherwise.
Sample usage reference
static isHighTextContrastEnabled(): Promise<boolean>
Last updated: May 13, 2026

