@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('screenReaderStateChange', ({ 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.
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).
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
value | string | The text to speak. | 1.0.0 |
language | string | The 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
remove | () => Promise<void> |
ScreenReaderState
value | boolean | Whether a Screen Reader is currently active. | 1.0.0 |
Type Aliases
StateChangeListener
(state: ScreenReaderState): void