mindfulmarkup / mindfula11y
Find and fix accessibility issues in TYPO3: missing-alt detection and AI alt-text generation, decorative-image controls, heading/landmark checks, axe-core scans with optional AI audits, semantic Fluid ViewHelpers, and accessible form-validation feedback.
Package info
Type:typo3-cms-extension
pkg:composer/mindfulmarkup/mindfula11y
Requires
- php: >=8.2 <=8.4
- typo3/cms-backend: ^13.4 || ^14.3
- typo3/cms-core: ^13.4 || ^14.3
- typo3/cms-extbase: ^13.4 || ^14.3
- typo3/cms-fluid: ^13.4 || ^14.3
- typo3/cms-frontend: ^13.4 || ^14.3
- typo3/cms-install: ^13.4 || ^14.3
Requires (Dev)
None
Suggests
- typo3/cms-form: Adds the localized page-title error prefix after failed server-side EXT:form validation.
Provides
None
Conflicts
None
Replaces
None
README
Mindful A11y helps editors and integrators find and fix common accessibility issues directly in the TYPO3 backend.
What the extension includes
- Heading and landmark checks in the Accessibility module and the page module. The rendered page is analyzed at mobile and desktop sizes. Findings such as skipped heading levels or ambiguous landmark names show in a structure tree.
- Fixing in place: editors change heading levels and landmark roles right in that tree. Requires templates that use the extension's Fluid ViewHelpers.
- Missing alternative text: find, filter and fix images without alternative text, mark them decorative, and optionally generate suggestions with OpenAI.
- Accessibility fields for content elements: heading type, landmark role and landmark name.
- Scanner (optional): axe-core scans of pages, page trees or whole sites via the external MindfulAPI service, with HTML/PDF reports and an optional AI review.
- Page module info box with the page's accessibility status.
- Form error titles (optional): a localized
Error:page-title prefix after failed EXT:form validation.
Requirements
- TYPO3
13.4 LTS(13.4.18 or later) or14.3 LTS - PHP
8.2to8.4 - Optional, for the scanner: MindfulAPI
v0.7.0or later (v0.7.1or later for the AI review), reachable from TYPO3. Its axe-core checks reliably find technical violations but cover only a subset of accessibility issues. - Optional, for AI alternative text: an OpenAI API key
- Optional, for the form-error title prefix:
typo3/cms-form
Installation
composer require mindfulmarkup/mindfula11y vendor/bin/typo3 extension:setup
extension:setup creates the database fields. Upgrading from a release that stored heading
levels in tx_mindfula11y_headinglevel? Also run the upgrade wizard "Mindful A11y: Migrate
heading type data from old to new field".
Basic setup
- Templates: render content headings with
<mindfula11y:heading>and landmark containers with<mindfula11y:landmark>(see the developer guide). The structure checks work on any page, but only headings and landmarks rendered through the ViewHelpers can be fixed from the backend. - Permissions: grant editor groups access to the Accessibility module and the relevant tables and fields (see the permissions checklist).
- Optional features in Admin Tools → Settings → Extension Configuration:
- OpenAI key and model for AI alternative text
scannerApiUrlandscannerApiTokenfor the scanner, then enable it per page tree withmod.mindfula11y_accessibility.scan.enable = 1(off by default)enableValidationErrorTitlePrefixfor the form-error title prefix (off by default)
The structure checks and the Missing alternative text view are on by default. Switch them off
per page tree via Page TSconfig (mod.mindfula11y_accessibility.headingStructure.enable,
.landmarkStructure.enable, .missingAltText.enable).
Full documentation
See Documentation/Index.md, with separate guides per role:
License
GPL-2.0-or-later


