Moodle
Note
Requires Moodle 4.1 or later and server access to copy files. Compatible with standard Moodle hosting and self-hosted installations.
The local_angstroma_a11y Moodle plugin adds a floating accessibility toolbar to every page of your Moodle site. Students can enable 20+ accessibility features and their preferences persist across sessions via the Angstroma API.
Features included
- Reading Mask
- Bionic Reading
- Dyslexia Font
- Text Spacing
- High Contrast
- Dark Mode
- Warm Overlay
- Large Text (A+/A-)
- Large Cursor
- Large Targets
- Focus Highlight
- Keyboard Mode
- Reduced Motion
- AI Content Simplification
- AI Hints
- AI Rephrasing
- AI Vocabulary
Installation
- Download the plugin package from the Angstroma Portal under Settings → Integrations → Moodle
- Copy the
local_angstroma_a11yfolder to your Moodle server: - Go to Site Administration → Notifications — Moodle will detect the new plugin and prompt you to install it. Click Upgrade Moodle database now.
- Navigate to Site Administration → Plugins → Local plugins → Angstroma Accessibility
- Enter your API key from the Angstroma Portal and click Save changes
Tip
You can toggle the plugin on/off and change the toolbar position (left/right) from the plugin settings page without editing any files.
Plugin settings
| Setting | Description |
|---|---|
| API Key | Your Angstroma tenant API key |
| API URL | API endpoint. Leave empty to use the production API. |
| Position | Floating button position: left or right (default: right) |
| Enabled | Toggle the widget on or off site-wide |
How the plugin works
The plugin injects the Angstroma widget script into every Moodle page footer using Moodle's local_angstroma_a11y_before_footer() hook. The Moodle user ID is passed as the data-student-id attribute, so the student's accessibility profile is loaded automatically on each page visit.
Requirements
- Moodle 4.1 or later
- PHP 8.1+
- Angstroma API key — any paid plan for higher-ed / corporate; Schools or Enterprise + signed DPA for K–12 deployments
- Moodle server administrator access
Warning
Privacy posture. The plugin passes the Moodle user ID as
data-student-id (e.g. moodle_user_42). Angstroma stores only that opaque identifier — no Moodle name, email, or course metadata is persisted. See our Privacy Policy §12 and FERPA page.Important
Schools / Enterprise plan required for K–12 deployments. When the plugin is installed on a Moodle instance serving K–12 students, the integration is gated to the Schools and Enterprise tiers and activates only after a signed Data Processing Agreement is on file. Higher-ed and corporate Moodle deployments can use any paid plan. See the Schools overview.