Skip to content

Latest commit

 

History

History
 
 

screen-reader

@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.

Param Type
options SpeakOptions

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).

Param Type
eventName 'stateChange'
listener StateChangeListener

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