Directory / plugin
Midgardsson Accessibility Toolkit
v1.0.9 · by Midgardsson
Comprehensive accessibility toolkit with dyslexia-friendly font, dark mode, high contrast mode, and adjustable font size controls.
About this plugin
Make your WordPress website accessible to all users with this comprehensive accessibility toolkit. Perfect for improving inclusivity and meeting WCAG 2.1 Level AA compliance standards.
Key Features
🔤 Font Size Control
Increase, decrease, or reset font size with easy-to-use buttons. Maximum font size limit prevents layout issues while ensuring readability.
📖 Dyslexia-Friendly Font
Toggle OpenDyslexic font instantly across your entire site. The embedded font improves readability for users with dyslexia without external requests.
🌙 Dark Mode
Material Design standard dark mode (#121212 background) with customizable colors and adjustable opacity. Reduces eye strain during extended reading sessions.
⚫⚪ High Contrast Mode
WCAG AAA compliant high contrast mode with black background and yellow text. Enhances visibility for users with visual impairments.
📍 Flexible Widget Positioning
Choose from four positioning modes:
* Floating: Circular button positioned anywhere (customizable px/%)
* Edge Left: Rectangle button attached to left edge
* Edge Right: Rectangle button attached to right edge
* Edge Bottom: Rectangle button attached to bottom edge
🌍 Translation Ready
Fully internationalized with WordPress i18n standards. English included, easy to add your language.
Accessibility Standards
- WCAG 2.1 Level AA compliant
- Keyboard navigation support
- ARIA labels and roles
- Focus management
- High contrast mode meets WCAG AAA standards
Performance
- Lightweight CSS and JavaScript
- Embedded font files (no external requests)
- LocalStorage with cookie fallback
- Efficient DOM manipulation
- No impact on page load times
User-Friendly
All user preferences are automatically saved and restored on subsequent visits using browser storage.
Configuration
After activation, navigate to Settings Accessibility Toolkit:
Widget Position Settings
* Choose positioning mode (Floating, Edge Left, Edge Right, Edge Bottom)
* Set precise offsets using pixels or percentages
* Configure maximum font size limit
Widget Language
* Automatic (follows the site language, English when there is no translation), English, Hungarian, German, Norwegian (bokmål), Swedish, Danish
* “Other”: write the visitor-facing texts yourself (empty fields use the English text)
* The settings screen itself always stays in English
Widget Colors
* Accent color (button, header, control buttons) and its text color
* Panel background and text color
* Reset button color and its text color
Dark Mode Settings
* Customize background color (default: #121212)
* Set text color (default: #ffffff)
* Adjust background opacity (0.0 – 1.0)
High Contrast Settings
* Choose one of four presets, or pick custom colors
* Customize background color (default: #000000)
* Set text color (default: #ffff00)
* Set link color (default: #00ffff)
Technical Details
Browser Compatibility
* Chrome, Firefox, Safari, Edge (latest versions)
* Mobile browsers (iOS Safari, Chrome Mobile)
* Touch-friendly interface
Requirements
* WordPress 5.0 or higher
* PHP 7.0 or higher
* jQuery (included with WordPress)
Source Code
* Readable sources: assets/js/frontend.js, assets/js/admin.js, assets/css/frontend.css, assets/css/admin.css
* The plugin loads the minified *.min.js / *.min.css files built from them
File Structure
* Clean, organized codebase
* Follows WordPress coding standards
* Security best practices (nonces, escaping, sanitization)
* Translation ready
Support
For support, feature requests, or bug reports:
* GitHub: https://github.com/Midgardsson/wp-accessibility-plugin/issues
* WordPress.org Support Forum
Credits
- OpenDyslexic font by Abelardo Gonzalez
- Material Design color standards by Google
- WCAG guidelines by W3C
- Developed by Midgardsson
Privacy
This plugin stores user accessibility preferences locally in the browser using:
* localStorage (primary method)
* Cookies (fallback method)
No data is sent to external servers. All preferences remain on the user’s device.