UNPKG

wbf

Version:

[![LICENSE](https://img.shields.io/github/license/halodong/web-barrier-free?style=flat-square)](./LICENSE) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/halodong/web-barrier

145 lines (88 loc) 3.45 kB
[![LICENSE](https://img.shields.io/github/license/halodong/web-barrier-free?style=flat-square)](./LICENSE) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/halodong/web-barrier-free) [![NPM Version](https://img.shields.io/npm/v/wbf.svg)][npm-url] [![Build Status](https://app.travis-ci.com/halodong/web-barrier-free.svg?branch=master)](https://www.travis-ci.com) [![codecov](https://codecov.io/gh/halodong/web-barrier-free/branch/master/graph/badge.svg?token=VUFO08431V)](https://codecov.io/gh/halodong/web-barrier-free) [npm-url]: https://npmjs.org/package/wbf # web-barrier-free A JavaScript library that can help you quickly add accessible reading modes. Based on `SpeechSynthesis` API implementation. [简体中文](./README-cn.md) ## Install **Note: In version 2.0, the package name was changed to wbf** Use npm ``` $ npm install wbf ``` or yarn ``` $ yarn add wbf ``` **demo:** - [en-demo](https://codesandbox.io/s/pedantic-stitch-ru1no) - [zh-CN-demo](https://halodong.github.io/) ## Use **Example:** Wbf adopts the singleton design pattern, and it is recommended to use getInstance to create and obtain instances. ```js const options = { language: 'en', rate: 1, pitch: 1, readMode: 'finger' } const instance = Wbf.getInstance(options) openBtn.addEventListener('click', () => { instance.open() }) ``` **Options:** ### opening A boolean value indicating whether the current state is on. defaults:false. ### readMode ```ts type readMode = 'finger' | 'continuous' ``` continuous: Continuous reading `document.body.innerText`. finger: Point to read, read the text of the element pointed by the mouse, the `img` tag will read the text of the `alt` attribute. defaults:'finger'. ### language ```ts type language = 'en' | 'zh-CN' ``` Use language, the default value is'zh-CN'. ### rate Speaking rate, range 0.1 (lowest) ~ 10 (highest), default value: 1. ### pitch Intonation, range 0 (lowest) ~ 2 (highest), default value: 1. ### volume Volume, range 0 (lowest) and 1 (highest), default value: 1. ### externalFn You can provide an external reading text method `externalFn` instead of using the playAudio method provided by `class Wbf`. ### needConsole Whether the default console element is required, the default value is `true`. ## Main JavaScript API ### open open Wbf's function. ```typescript open (): void; ``` ### close close Wbf's function. ```typescript close (): void; ``` ### changeOptions The function of modifying the Wbf attribute cannot modify the non-existing attribute and the `opening` attribute. ```typescript changeOptions (keyName: string, value): void; ``` ### changeMode A function to modify the Wbf reading mode. ```typescript type readMode = 'finger' | 'continuous'; changeMode (readMode: readMode): void; ``` ### playAudio A function to read a string. ```typescript playAudio (str: string): SpeechSynthesisUtterance | undefined ``` ## Compatibility See for details [MDN SpeechSynthesis](https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis#browser_compatibility) ## Problem For bugs or suggestions, you can submit via [create an issue](https://github.com/halodong/web-barrier-free/issues/new). © 2021 GitHub, Inc.