Accessibility Widget Barrierefreiheitsstärkungsgesetz (BFSG)
This module adds a customizable toolbar to your Drupal site that provides various accessibility tools to users. It includes features like text resizing, contrast modes, a built-in screen reader, and voice navigation to help visitors with disabilities access content and comply with accessibility standards.
The Accessibility Widget adds a customizable toolbar to your Drupal site, helping visitors with disabilities access your content. It provides text resizing, contrast modes, screen reader, and voice navigation - ensuring compliance with BFSG, ADA, and WCAG 2.1 standards.
Features
The Accessibility Widget provides comprehensive accessibility tools through a single button (♿) that appears on your site:
Visual Adjustments:
- Font size scaling (50% - 200%)
- Multiple contrast modes (Dark, Light, High Contrast, Monochrome)
- Color adjustments for text, titles, and backgrounds
- Highlight links and titles for better visibility
- Dyslexia-friendly font option
Reading & Navigation Tools:
- Built-in screen reader with text-to-speech
- Voice navigation commands (German & English)
- Reading guide/ruler for line tracking
- Adjustable letter spacing and line height
- Large cursor option
- Animation pause control
When to use this module:
- Your site needs to comply with accessibility laws (BFSG becomes mandatory June 28, 2025)
- You want to improve user experience for visitors with disabilities
- You need a quick accessibility solution without major code changes
- Your organization requires ADA, Section 508, or WCAG compliance
Post-Installation
Once installed and enabled, the widget works automatically:
1. No configuration needed! A blue wheelchair icon (♿) appears in the bottom-left corner of all public pages
2. Automatic exclusion from admin pages to avoid interference
3. User preferences are saved locally in the browser (GDPR compliant)
Optional customization:
To exclude the widget from specific pages, add this to your theme's .theme file:
function YOURTHEME_page_attachments_alter(array &$attachments) {
if (\Drupal::service('path.matcher')->isFrontPage()) {
unset($attachments['#attached']['library']['accessibility_widget/accessibility-widget']);
}
}
Additional Requirements
None! This module has no dependencies beyond Drupal core.
Technical specifications:
- Drupal 10 or 11
- No external libraries required
- No API keys needed
- No external service calls (100% privacy-compliant)
- All JavaScript bundled with module (no CDN required)
- Lightweight: ~34KB minified JavaScript
Recommended modules/libraries
While this module works standalone, these modules can enhance your site's overall accessibility:
- Automatic Alternative Text - Generates alt text for images
- Block ARIA Landmark Roles - Adds ARIA landmarks to blocks
- CKEditor Accessibility Checker - Checks content accessibility while editing
- HtmLawed - Ensures valid, accessible HTML output
Similar projects
Several accessibility modules exist, but the Accessibility Widget is unique because it:
- Requires zero configuration - Works immediately after installation
- Includes voice navigation - Supports voice commands in German and English
- Provides built-in screen reader - No need for users to have their own
- Focuses on BFSG compliance - Specifically designed for the 2025 German law
- Respects privacy - No external services or data collection
Compare with:
- Accessibility - Focuses on content accessibility checking, not user tools
- Style Switcher - Only provides theme switching, not comprehensive tools
- Text Resize - Limited to font sizing only
Supporting this Module
This module is free and open source (GPL-2.0-or-later).
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.