UNPKG

@reaktly-js/tone-accessibility

Version:

A vanilla JS Accessability Widget compliant with ADA and WCAG 2.2.

98 lines (62 loc) 3.68 kB
# **Tone Accessibility Widget** A vanilla JavaScript Accessibility Widget designed to be compliant with ADA and WCAG 2.2 standards. Enhance your website's accessibility with a lightweight, easy-to-integrate solution. ## **Features** Tone provides a suite of tools to help users tailor their browsing experience. * **Appearance Changer**: Switch between Light, Dark, and High Contrast modes. * **Font Size Changer**: Increase or decrease the text size on the page. * **Line Height Adjuster**: Modify the spacing between lines of text. * **Text Spacing**: Adjust the spacing between letters and words. * **Image Hider**: Hide all images on the page for a text-only view. * **Highlight Links**: Make all links more prominent. * **Cursor Adjuster**: Enlarge the cursor for better visibility. ## **Installation** You can add Tone to your project either by using a CDN or by installing it from npm. ### **1\. CDN** For the quickest setup, add the following to your HTML file. \<\!-- Load the stylesheet in the \<head\> \--\> \<link rel="stylesheet" href="\[<https://cdn.jsdelivr.net/npm/@reaktly-js/tone-accessibility/dist/tone.css\>](<https://cdn.jsdelivr.net/npm/@reaktly-js/tone-accessibility/dist/tone.css)"\>> \<\!-- Load the script before the closing \</body\> tag. The data-auto-init attribute will automatically start the widget. \--\> \<script src="\[<https://cdn.jsdelivr.net/npm/@reaktly-js/tone-accessibility/dist/tone.js\>](<https://cdn.jsdelivr.net/npm/@reaktly-js/tone-accessibility/dist/tone.js>)" data-auto-init\>\</script\> ### **2\. npm** Install the package using npm or yarn: npm install @reaktly-js/tone-accessibility Then, import it into your project's main JavaScript file: import Tone from '@reaktly-js/tone-accessibility'; import '@reaktly-js/tone-accessibility/dist/tone.css'; // Initialize the widget new Tone(); ## **Usage** To initialize the widget, create a new instance of the Tone class. If you don't pass any options, the widget will initialize with all features enabled. const toneWidget \= new Tone({ // You can disable default features here imageHider: false, // Disable the image hider feature highlightLinks: true, // Ensure the highlight links feature is on }); ### **Configuration Options** You can customize which accessibility tools are available by passing a configuration object to the constructor. | Option | Type | Default | Description | | :---- | :---- | :---- | :---- | | appearanceChanger | boolean | true | Enables light/dark/contrast mode switching. | | fontSizeChanger | boolean | true | Enables text resizing controls. | | lineHeightAdjuster | boolean | true | Enables line height controls. | | textSpacing | boolean | true | Enables text spacing controls. | | imageHider | boolean | true | Enables the tool to hide images. | | highlightLinks | boolean | true | Enables the tool to highlight links. | | cursorAdjuster | boolean | true | Enables the cursor adjustment tools. | ## **Development** Interested in contributing? Follow these steps to set up a local development environment. **1\. Clone the repository:** git clone \[<https://github.com/your-username/tone-accessibility.git\>](<https://github.com/your-username/tone-accessibility.git>) cd tone-accessibility **2\. Install dependencies:** npm install **3\. Run the development server:** npm run dev This will start a Vite dev server and open a browser window to <http://localhost:5173>. 4\. Build the project: To create the final distribution files in the /dist folder, run: npm run build This command bundles the code and gets it ready for production. ## **License** This project is licensed under the MIT License.