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
Suggests
- typo3/cms-form: Adds the localized page-title error prefix after failed server-side EXT:form validation.
README
Mindful A11y helps editors and integrators find and fix common accessibility issues directly in the TYPO3 backend.
What the extension includes
- Accessibility backend module with:
- General: heading and landmark structure overview with issue hints.
- Missing alternative text: list, filter, and edit image/file references without alt text.
- Scanner (optional): run scans, review findings, and export HTML/PDF reports for single or multiple pages or crawls of the entire page tree.
- Optional AI alt text generation via OpenAI for missing image alt text.
- Per-reference decorative images that render with native
f:image/f:mediaand stay out of missing-alt results. - Accessibility fields for content elements (heading type, landmark, ARIA labels).
- Fluid ViewHelpers for accessible heading and landmark rendering and integration with the backend module.
- Page module info box with quick accessibility status and links.
- CLI cleanup command to cleanup outdated scan results.
- Accessible server-side form errors with a localized
Error:page-title prefix for failed TYPO3 EXT:form validation.
Scanner functionality uses the external MindfulAPI project and is required for scanner features. MindfulAPI runs axe-core based technical scans in a headless browser environment. These automated checks are reliable for technical violations but only cover a subset of accessibility issues.
Scanner features are available only when both requirements are met:
- MindfulAPI v0.7.0 or later is installed and reachable from TYPO3 (v0.7.0 introduces the
/v1API routes and the AI agent audit this extension consumes) - Page TSconfig sets
mod.mindfula11y_accessibility.scan.enable = 1(default is0)
Requirements
- TYPO3
13.4.x LTSor14.3.x LTS - PHP
8.2to8.4 - For scanner features: MindfulAPI
v0.7.0or later
Installation
composer require mindfulmarkup/mindfula11y
Basic setup
- Install and enable the extension in TYPO3.
- In Admin Tools → Settings → Extension Configuration, set:
- OpenAI key/model (only if you want AI alt text generation)
- Scanner API URL/token (only if you want scanner results), for example
http://localhost:3000orhttps://scanner.example.com - For scanner support: set up MindfulAPI with Docker first
- Enable or disable module sections via Page TSconfig:
mod.mindfula11y_accessibility.missingAltText.enablemod.mindfula11y_accessibility.headingStructure.enablemod.mindfula11y_accessibility.landmarkStructure.enablemod.mindfula11y_accessibility.scan.enable = 1to use scanner features (off by default)
The validation-error page-title prefix is enabled globally by default. Disable it with
enableValidationErrorTitlePrefix under Admin Tools → Settings → Extension Configuration.
typo3/cms-form is optional; without it, this integration remains inactive.
Full documentation
See Documentation/Index.md for complete docs with separate guides for editors, integrators, and developers.
- Editors:
Documentation/Editors/Index.md - Integrators:
Documentation/Integrators/Index.md - Developers:
Documentation/Developers/Index.md
License
GPL-2.0-or-later


