accessibility_statement
Provides a structured, config-driven accessibility statement page. Supports public sector bodies (EU Directive 2016/2102 / BITV 2.0) and private sector products/services (European Accessibility Act 2019/882 / BFSG). Enforces completeness through structured fields instead of a free-text node.
Features
- Two statement types: public sector (EU Directive 2016/2102 / BITV 2.0)
and private sector (European Accessibility Act 2019/882 / BFSG) - Structured admin form with conditional fields per statement type
- Configurable page path (e.g.,
/barrierefreiheitserklaerung) - Conformance status against EN 301 549, WCAG 2.1 AA, or WCAG 2.2 AA
- Non-accessible content items with categories (non-compliance,
disproportionate burden, out of scope), grouped in the output - Contact section with name, email, phone, and postal address
- Enforcement/arbitration body with full contact details (public
sector) - Market surveillance authority (private sector / BFSG)
- Accessible: semantic HTML, ARIA attributes, sanitized tel: links,
aria-live for AJAX - Multilingual: config translation support, German translation
included - Themeable: override
accessibility-statement.html.twigin
your theme - Footer menu link automatically added on installation
- No dependencies beyond Drupal core
Post-Installation
- Navigate to Administration > Configuration > System > Accessibility
Statement - Select the statement type (public sector or private sector)
- Fill in the required fields for your organization
- Optionally change the page path (default:
/accessibility-statement) - Visit the configured path to view the published statement
A link is automatically added to the footer menu. Until the form is saved, the public page shows a notice that the statement has not been configured yet.
Additional Requirements
Drupal 10.3 or 11. No additional modules required.
Similar projects
There is currently no Drupal module that generates a structured, schema-validated accessibility statement from configuration. Existing solutions typically rely on free-text nodes, which lack structure, cannot enforce completeness of legally required sections, and are hard to keep consistent across multiple sites.