Skip to main content
Version: v5

@capacitor/screen-reader

The Screen Reader API provides access to TalkBack/VoiceOver/etc. and provides simple text-to-speech capabilities for visual accessibility.

Installโ€‹

npm install @capacitor/screen-reader
npx cap sync

Exampleโ€‹

import { ScreenReader } from '@capacitor/screen-reader';

ScreenReader.addListener('stateChange', ({ value }) => {
console.log(`Screen reader is now ${value ? 'on' : 'off'}`);
});

const checkScreenReaderEnabled = async () => {
const { value } = await ScreenReader.isEnabled();

console.log('Voice over enabled? ' + value);
};

const sayHello = async () => {
await ScreenReader.speak({ value: 'Hello World!' });
};

APIโ€‹

isEnabled()โ€‹

isEnabled() => Promise<{ value: boolean; }>

Whether a Screen Reader is currently active.

This method is not supported on web (it is not possible to detect Screen Readers).

Returns: Promise<{ value: boolean; }>

Since: 1.0.0


speak(...)โ€‹

speak(options: SpeakOptions) => Promise<void>

Text-to-Speech functionality.

This function will only work if a Screen Reader is currently active.

On web, browsers must support the SpeechSynthesis API, or this method will throw an error.

For more text-to-speech capabilities, please see the Capacitor Community Text-to-Speech plugin.

ParamType
options
SpeakOptions

Since: 1.0.0


addListener('stateChange', ...)โ€‹

addListener(eventName: 'stateChange', listener: StateChangeListener) => Promise<PluginListenerHandle> & PluginListenerHandle

Add a listener for when the screen reader is turned on or off.

This event used to be named 'accessibilityScreenReaderStateChange'.

This method is not supported on web (it is not possible to detect Screen Readers).

ParamType
eventName'stateChange'
listener
StateChangeListener

Returns:

Promise<PluginListenerHandle> & PluginListenerHandle

Since: 1.0.0


removeAllListeners()โ€‹

removeAllListeners() => Promise<void>

Remove all the listeners that are attached to this plugin.

Since: 1.0.0


Interfacesโ€‹

SpeakOptionsโ€‹

PropTypeDescriptionSince
valuestringThe text to speak.1.0.0
languagestringThe language to speak the text in, as its ISO 639-1 Code (e.g.: "en"). This option is only supported on Android.1.0.0

PluginListenerHandleโ€‹

PropType
remove() => Promise<void>

ScreenReaderStateโ€‹

PropTypeDescriptionSince
valuebooleanWhether a Screen Reader is currently active.1.0.0

Type Aliasesโ€‹

StateChangeListenerโ€‹

(state: ScreenReaderState): void