Text and reading
Content scale, font size, line height, letter and word spacing, readable and dyslexia-friendly fonts, reading guide, reading mask, bionic reading and text magnifier.
One embed gives your visitors text, color, motion, reading and voice controls in 40 languages. Branded as you. Hosted, updated and monitored by Nirvani, so it never becomes another thing to maintain.
The widget is live on this page. Open it from the button in the corner and try it on real content.
<!-- one stylesheet, one script, one call --> <link rel="stylesheet" href="https://cdn.nirvani.dev/access/v1/nirvani-access.css"> <script src="https://cdn.nirvani.dev/access/v1/nirvani-access.js" defer></script> <script> window.addEventListener('DOMContentLoaded', function () { if (window.NirvaniAccess) window.NirvaniAccess.init({ siteId: "your-site", brandName: "Your Brand", accentColor: "#1fa2ff", position: "bottom-right" }); }); </script>
Every tool runs in the visitor's browser and adjusts your live page. Preferences persist for the return visit and never leave their device.
Content scale, font size, line height, letter and word spacing, readable and dyslexia-friendly fonts, reading guide, reading mask, bionic reading and text magnifier.
Dark, light, high contrast, monochrome and saturation modes, custom text, heading and background colors, plus color-blindness filters.
Stop animations, reduce motion, pause autoplay, mute media and hide images. Reduce Motion reaches everything on the page, including the widget itself.
Large cursors, highlighted focus and hover, 44 pixel touch targets, full keyboard support with shortcuts and a command palette for every adjustment.
Read Aloud with browser or studio-quality cloud voices, and opt-in Voice Command Control for hands-free use. The microphone is never on unless a visitor turns it on.
The whole interface in 40 languages, one-tap profiles for reduced motion, vision clarity, focus, reading support, keyboard, screen reader support and comfortable reading, and an accessibility assistant that answers questions in context.
Brand name, colors, position and which tool groups to show. Healthcare and government presets turn on consent-gated storage by default.
We register your site, generate the snippet and an accessibility statement page, and hand you both. The call is guarded, so a blocked network can never break your page.
Updates ship from our CDN with no redeploy on your side. Each installed widget sends a private, aggregate-only health summary, and we re-scan every site weekly.
An error boundary and try/catch wrap every mount path. If anything inside the widget fails, it fails quietly and your page stays exactly as it was.
Preferences live in the visitor's browser only. With requireConsent, nothing is stored until they agree. Health reports carry aggregate counts and no personal data.
Nonce and hash modes for strict Content Security Policies, and sha384 integrity hashes for the bundle, so banks, healthcare and government sites can approve the embed.
The CDN bundle and API are checked every hour in a real browser context. Weekly findings scans and daily health reports surface regressions before anyone reports them.
We say this up front because overlays that overclaim have earned the criticism they get.
Tell us where to install it. We reply from a real inbox with your embed, your accessibility statement page and a short walkthrough. Running many sites? Tell us how many and we will quote the whole fleet.
Nirvani is committed to making access.nirvani.ai usable by everyone. This page is built with semantic HTML, visible focus, a skip link, 44 pixel targets, text that scales to 200 percent, and colors that meet WCAG 2.2 AA contrast. It respects your operating system's reduced motion preference. The Nirvani Access widget in the corner provides additional adjustments; those supplement accessible design and do not replace it.
If you hit a barrier anywhere on this page, describe it in the last field of the request form and we will fix it.
This site sets no advertising or analytics cookies. The widget stores your display preferences in your own browser and sends an aggregate, anonymous health summary (counts only) to Nirvani once a day. The request form sends what you type to Nirvani so we can reply. Nothing else leaves your device.