@jigra/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 @jigra/screen-reader
npx jig sync
Example
import { ScreenReader } from '@jigra/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 Jigra Community
Text-to-Speech
plugin.
Since: 1.0.0
addListener('stateChange', ...)
addListener(eventName: "stateChange", listener: StateChangeListener) => Promise<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>
Since: 1.0.0
removeAllListeners()
removeAllListeners() => Promise<void>
Remove all the listeners that are attached to this plugin.
Since: 1.0.0
Interfaces
SpeakOptions
Prop | Type | Description | Since |
---|
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
Prop | Type |
---|
remove | () => Promise<void> |
ScreenReaderState
Prop | Type | Description | Since |
---|
value | boolean | Whether a Screen Reader is currently active. | 1.0.0 |
Type Aliases
StateChangeListener
(state: ScreenReaderState): void