@a.nemreen/a11y
v0.1.3
Published
Framework-agnostic accessibility tools widget — profiles, readable experience, visual filters. Works with Angular, React, Vue, and plain HTML.
Maintainers
Readme
Install
npm install @a.nemreen/a11yUsage
import { Accessibility } from '@a.nemreen/a11y';
import '@a.nemreen/a11y/styles.css';
const a11y = Accessibility.mount({
position: 'end', // end | start | left | right
stack: 0,
locale: 'auto', // auto | ar | en
// syncDocumentLocale: true, // also flip <html lang/dir> when toggling locale
});
Accessibility.createSkipLink({ href: '#main' });
a11y.open();
a11y.toggleMode('reduce-motion');
a11y.setVisualFilter('deuteranopia');
a11y.reset();Headless (controller only)
const a11y = Accessibility.mount({ headless: true });
a11y.setMode('high-contrast', true);Frameworks
Mount once at the application root — same API everywhere:
// Angular main.ts / React App / Vue main.js
Accessibility.mount();Features
- Profiles: epilepsy-safe, visually-impaired, cognitive-disability, motor-impaired, colorblind, dyslexia-friendly, adhd-friendly
- Adjust: font size, dyslexia font, highlight titles/links, reading mask, pause motion, text align, line/letter/word spacing
- Filters: boost contrast, monochrome, high contrast, high/low saturation, deuteranopia
- AR / EN UI, RTL-aware panel,
localStoragepersistence, live region announcements
Demo
License
MIT © Ahmed Nemreen
