@jigra/screen-reader
TypeScript icon, indicating that this package has built-in type declarations

6.0.2 • Public • Published

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

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

Readme

Keywords

Package Sidebar

Install

npm i @jigra/screen-reader

Weekly Downloads

8

Version

6.0.2

License

MIT

Unpacked Size

37.4 kB

Total Files

26

Last publish

Collaborators

  • nkduy