Oksigenia Access adds a small floating button to every
Moodle page. The visitor clicks it and gets 15 real controls to adapt the
site to their needs: text size (4 levels), line height, alignment, readable
font, dyslexia font, letter spacing, high contrast, grayscale, hide images,
highlight links, color-blind filters (3 types), reading guide, big cursor,
pause animations, and focus outlines.
Preferences live in the visitor's localStorage only. Nothing
is sent to your server. No cookies, no telemetry, no external CDNs, no
account required.
Honest about what it does and doesn't do
This plugin is not a fake overlay claiming WCAG compliance.
It doesn't rewrite alt text, doesn't ARIA-patch your courses, doesn't push
a "this site is accessible" badge. Those are the tricks paid overlay
vendors have been sued for in the US. They don't work, and they don't
belong in a Moodle plugin.
What this plugin does is give the visitor a familiar, predictable
set of adaptation controls. Real WCAG / EAA 2025 / EU Directive 2016/2102 /
Spanish RD 1112/2018 compliance still requires editorial work on your
courses: alt text, transcripts, contrast, semantic HTML, labelled forms,
keyboard navigation. Nothing of that is fixed by a floating widget.
Theme-agnostic
The panel renders inside a Shadow DOM, so its CSS doesn't collide with
Boost, Boost Union, Classic, or any custom theme. The only thing it
injects into document.head is a single scoped
<style id="oksigenia-access-effects"> for body-level
effects (zoom, contrast, dyslexia font…).
Configuration
The settings page under
Site administration ' Plugins ' Local plugins ' Oksigenia Access
gives you:
- Master enable toggle.
- Scope: all pages, or all pages except login/signup.
- Hide on admin pages toggle (recommended on).
- Excluded course IDs (CSV).
- Trigger z-index, position (desktop and mobile, 6 anchors each),
and icon (Vitruvian, Wheelchair, Eye, Universal Access).
- Five appearance fields (button size + idle/hover background + idle/hover
icon color) for matching your Moodle theme.
- Locale source: auto-follow Moodle's current language, or force a
specific locale.
Visibility is gated by the capability
local/oksigeniaaccess:view, permissive by default for every
archetype. Override it from
Site administration ' Users ' Permissions ' Define roles if you
want to restrict the panel to specific roles.
Eight locales
Spanish, English, Guaraní, French, Italian, German, Dutch and Swedish out
of the box. Regional variants (es-PY, pt-BR…)
normalize to their base language with English as a final fallback.
Three distributions of the same engine
The accessibility panel ships from a shared web component
(@oksigenia/access-panel, MIT) so the
WordPress plugin
(oksigenia-access, GPLv2+), this
Moodle plugin (GPLv3+) and any modern site that imports the npm package
all share the same UI and locales. Whatever you fix or improve in one
variant tends to land in the others.
Sponsorship and professional audit
The plugin is FOSS and stays FOSS without crippleware. If your institution
depends on it for accessibility compliance, you can sponsor its
development at
sponsor.oksigenia.com.
A separate professional audit + signed certificate service is also
available for institutions that need documentary evidence for an official
audit dossier.
Requirements
- Moodle 4.5 LTS or later (uses the Hook API stabilized in 4.5).
- PHP 8.1+.
- Any modern browser with Custom Elements v1 support (all current ones).
License
Plugin code: GPL v3 or later. Bundled web component
under js/web-component.js: MIT (see
LICENSE.web-component.MIT).