Search by

medienbaecker / kirby-editoria11y

medienbaecker

Editoria11y accessibility checker for Kirby editors

Package info

github.com/medienbaecker/kirby-editoria11y

Type:kirby-plugin

pkg:composer/medienbaecker/kirby-editoria11y

Statistics

Installs: 24

Dependents: 0

Suggesters: 0

Stars: 4

Open Issues: 0

1.3.1 2026-10-13 20:13 UTC

This package is auto-updated.

Last update: 2026-10-14 12:51:55 UTC


README

Make accessibility issues visible to editors in the Kirby Panel, powered by Editoria11y.

Installation

composer require medienbaecker/kirby-editoria11y

Or download this repository and put it in site/plugins/kirby-editoria11y.

Requires Kirby 5. No configuration needed. The checker is automatically set to the logged-in account's Panel language.

How it works

The preview button automatically shows the number of alerts for the current page. Opening a page in the Panel checks it in the background:

The header of the "About us" page in the Panel. The preview button has a red badge with a 4.

In the page preview, editors see what to fix. Errors stay until they're fixed. Warnings can be marked OK, which hides them for all editors.

The Panel preview of "About us" with Editoria11y markers on the text and an open alert on an image: "Invalid HTML: image has no alt attribute", with advice on how to fix it.

In the Accessibility view you can check all pages at once:

editoria11y-scan-dark.mp4

Storage

Check results and warnings marked OK are stored in an SQLite database, per page and language: site/logs/editoria11y/editoria11y.sqlite (in Kirby's logs folder). Nothing is written to your content files. When a page is deleted, its entries are deleted too.

Options

'medienbaecker.editoria11y' => [
	// Pages in the overview (default: all pages)
	'pages' => fn () => collection('sitemap'),

	// Passed to Editoria11y, e.g. to ignore alerts caused by templates
	'config' => [
		'ignoreByTest' => [
			'QA_FAKE_HEADING' => ':not(.rich-text *)',
		],
	],

	// Path to the SQLite database
	'database' => fn () => kirby()->root('logs') . '/editoria11y/editoria11y.sqlite',
],

The pages option takes a function that returns a pages collection. I tend to have a sitemap collection in my sites that I also use for, well, the sitemap.

License

GPL-2.0, because it bundles Editoria11y 3.0.2 (source), which is GPL-2.0 and includes parts of Sa11y under the MIT License. Copyright (c) 2026 Thomas Günther.