PHPackages                             mindfulmarkup/mindfula11y - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. mindfulmarkup/mindfula11y

ActiveTypo3-cms-extension

mindfulmarkup/mindfula11y
=========================

Find and fix accessibility issues in TYPO3: viewhelpers for semantic headings and landmarks, missing image alt detection and generation with AI (ChatGPT). Integration of an external axe-core scanner. A backend module for quick remediation.

v0.10.0(1mo ago)3285GPL-2.0-or-laterPHPPHP &gt;=8.2 &lt;=8.4

Since May 30Pushed 1mo agoCompare

[ Source](https://github.com/crinis/mindfula11y)[ Packagist](https://packagist.org/packages/mindfulmarkup/mindfula11y)[ RSS](/packages/mindfulmarkup-mindfula11y/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (19)Used By (0)

Mindful A11y for TYPO3
======================

[](#mindful-a11y-for-typo3)

Mindful A11y helps editors and integrators find and fix common accessibility issues directly in the TYPO3 backend.

What the extension includes
---------------------------

[](#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.
- **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.

Scanner functionality uses the external [MindfulAPI](https://github.com/crinis/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 is installed and reachable from TYPO3
- Page TSconfig sets `mod.mindfula11y_accessibility.scan.enable = 1` (default is `0`)

[![Placeholder: Accessibility module overview in TYPO3 backend with feature selector menu and status callouts for missing alt text, structure checks, and scanner issues](Documentation/Images/readme-accessibility-module-overview.png)](Documentation/Images/readme-accessibility-module-overview.png)[![Placeholder: Missing alternative text workflow showing preview, editable field, generate action, and save action](Documentation/Images/readme-missing-alt-text-workflow.png)](Documentation/Images/readme-missing-alt-text-workflow.png)[![Placeholder: Scanner results panel showing issue severity badges, selector and context details, and HTML/PDF report buttons](Documentation/Images/readme-scanner-results.png)](Documentation/Images/readme-scanner-results.png)

Requirements
------------

[](#requirements)

- TYPO3 `13.4.x`
- PHP `8.2` to `8.4`

Installation
------------

[](#installation)

```
composer require mindfulmarkup/mindfula11y
```

Basic setup
-----------

[](#basic-setup)

1. Install and enable the extension in TYPO3.
2. 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:3000` or `https://scanner.example.com`
    - For scanner support: set up [MindfulAPI](https://github.com/crinis/mindfulapi) with Docker first
3. Enable or disable module sections via Page TSconfig:
    - `mod.mindfula11y_accessibility.missingAltText.enable`
    - `mod.mindfula11y_accessibility.headingStructure.enable`
    - `mod.mindfula11y_accessibility.landmarkStructure.enable`
    - `mod.mindfula11y_accessibility.scan.enable = 1` to use scanner features (off by default)

Full documentation
------------------

[](#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
-------

[](#license)

GPL-2.0-or-later

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance96

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Recently: every ~47 days

Total

16

Last Release

50d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/71df8106ceebb6b342c74fde1f434bbdc807a7e2257a93eb0ad7b99c352016ed?d=identicon)[mindfulmarkup](/maintainers/mindfulmarkup)

---

Top Contributors

[![crinis](https://avatars.githubusercontent.com/u/6907942?v=4)](https://github.com/crinis "crinis (99 commits)")

---

Tags

accessibilitytypo3typo3-extensionextensionaccessibilitytypo3wcagARIAChatGptbackend-moduleAI Generationalt texta11yscreen readerheadingslandmarkssemantic HTML

### Embed Badge

![Health badge](/badges/mindfulmarkup-mindfula11y/health.svg)

```
[![Health](https://phpackages.com/badges/mindfulmarkup-mindfula11y/health.svg)](https://phpackages.com/packages/mindfulmarkup-mindfula11y)
```

###  Alternatives

[typo3/testing-framework

The TYPO3 testing framework provides base classes for unit, functional and acceptance testing.

675.0M774](/packages/typo3-testing-framework)[fluidtypo3/vhs

This is a collection of ViewHelpers for performing rendering tasks that are not natively provided by TYPO3's Fluid templating engine.

1954.1M48](/packages/fluidtypo3-vhs)[pagemachine/typo3-formlog

Form log for TYPO3

23225.3k6](/packages/pagemachine-typo3-formlog)[leuchtfeuer/locate

Locate - The users country, preferred language and other facts will be detected. Depending on configurable rules the user can be redirected to other languages or pages. Locate also provides geo blocking for configurable pages in configurable countries.

1182.8k](/packages/leuchtfeuer-locate)[netresearch/contexts

Multi-channel content visibility for TYPO3 - by Netresearch

1117.4k1](/packages/netresearch-contexts)[leuchtfeuer/secure-downloads

"Secure Download": Apply TYPO3 access rights to ALL file assets (PDFs, TGZs or JPGs etc. - configurable) - protect them from direct access.

22234.7k1](/packages/leuchtfeuer-secure-downloads)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
