=== Zackii Accessibility Check ===
Contributors: nilsdberlin
Tags: accessibility, wcag, a11y, barrierefreiheit, bfsg
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Finds the most common accessibility barriers on your site. No overlay - real checks against WCAG 2.2 AA.

== Description ==

Since 28 June 2025, commercial websites in Germany must be accessible under the
BFSG, the German implementation of the European Accessibility Act. The technical
benchmark is WCAG 2.2 AA - the same standard that applies across the EU, the UK,
the US and Canada.

This plugin scans your pages and reports every issue it finds in plain language,
together with the element it found and the matching WCAG success criterion.

**No overlay.** Accessibility buttons that float over a page only change what is
displayed. They do not fix the underlying markup, and the barriers remain. This
plugin looks for the actual problems in your HTML instead.

The interface is available in German and English.

= What is checked =

* Images without alternative text (WCAG 1.1.1)

More checks are being added in the coming versions.

= The accessibility statement writes itself =

The accessibility statement is a mandatory page, comparable to a legal notice.
It has to name the shortcomings that are known to you - and that is exactly the
part most site owners cannot write, because they do not know their own
shortcomings.

This plugin does know them, from the scan. Under Accessibility > Statement it
builds a complete draft with the issues found, the date of the scan, the
contact address for reporting barriers and the enforcement body, and it creates
that draft as a WordPress page.

The page is created as a **draft**, never published automatically. You read it,
fill in what is missing and publish it yourself. Required details that are not
available, such as the provider name, are inserted as visible placeholders in
square brackets rather than left blank, so nothing silently goes online empty.

= How it works =

1. **Scan.** One click in the admin area. The plugin requests your pages the way
   a visitor sees them - including navigation, buttons and footer, not just the
   post content.
2. **Contrast.** Colour values almost never appear in the HTML; they result from
   the CSS cascade. This step therefore runs in your browser and reads the
   computed values instead of guessing.
3. **Statement.** The draft is generated from the findings.

= What this plugin does not do =

It does not make your website legally compliant and it is not legal advice. No
automated test can cover every WCAG criterion - whether an alternative text is
actually meaningful can only be judged by a person. This plugin finds and names
the most common technical barriers.

== Frequently Asked Questions ==

= Why is alt="" not reported as an error? =

Because it is correct. An empty alt attribute is the required markup for purely
decorative images, so screen readers skip them cleanly. Only a missing alt
attribute is a violation.

= Some of my pages are not being checked =

The plugin requests your pages the same way a visitor would. If your site cannot
reach itself, your web host is most likely blocking outgoing connections. The
plugin tells you so explicitly rather than falsely reporting that everything is
fine.

= Is any data sent to third parties? =

No. Everything runs on your own server. No account, no API, no external service.

== Screenshots ==

1. The results list: every issue with the element it was found in and the matching WCAG criterion.
2. Different checks side by side - missing alt text, heading structure, unlabelled form fields, empty links and insufficient contrast.
3. The accessibility statement draft, filled in with the issues found during the scan.

== Changelog ==

= 1.0.0 =
* First release: nine checks against WCAG 2.2 AA, contrast measured in the browser, and a generator for the accessibility statement that fills in the issues found during the scan.
