Jump to content

Recommended Posts

Posted

Hi everyone,

Accessibility overlays have a bad reputation — mostly because they're sold as SaaS, phone home to third-party servers, and charge monthly fees for something that should be built-in. Ally is different: self-hosted, MIT, no external requests at runtime.

GitHub: https://github.com/mxmsmnv/Ally

What it does

Adds an accessibility panel to your site's frontend, powered by Sienna (MIT). The JS bundle and OpenDyslexic font ship with the module and are served from your own server — nothing loads from external CDNs at runtime.

  • Font size adjustment
  • Dark, light, and high contrast modes
  • High/low saturation, monochrome
  • Dyslexia-friendly font (OpenDyslexic, bundled locally)
  • Highlight links and headings
  • Letter spacing, line height, bold text
  • Reading guide, stop animations, big cursor
  • 53 languages with auto-detection from html[lang] or browser settings
  • Full ProcessWire multi-language support — maps $user->language to the correct locale automatically
  • Configurable position, offset, button size, and accent color
  • Skips admin pages and Chrome Lighthouse by default

No build step — prebuilt JS bundle included.

One caveat: the widget is injected via Page::render hook. If you serve pages through ProCache static HTML, the hook doesn't run on cached pages — exclude those pages from ProCache if you need the widget there.

Overlay widgets supplement, but do not replace, accessible markup. Use Ally alongside good semantic HTML, not instead of it.

Requirements: ProcessWire 3.0.200+, PHP 8.1+

MIT License.

  • Like 4
  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...