=== Wave Access – Accessibility Widget & BFSG/EAA Toolkit ===
Contributors: holgerklopmeyer
Tags: accessibility, bfsg, wcag, barrierefreiheit, a11y
Requires at least: 5.0
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 2.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Wave Access macht WordPress-Websites barrierefrei: Eingabehilfen-Widget, echte Code-Fixes, Prüfberichte, Barrierefreiheitserklärung und KI-Werkzeuge – BFSG/EAA/WCAG 2.1 AA. Ein Produkt von Wave Tools (wavetools.io).

== Description ==

Wave Access liefert ein leichtgewichtiges Eingabehilfen-Widget für die Website-Besucher und stellt im WordPress-Backend Werkzeuge zur Verfügung, um die Barrierefreiheit der Seite gemäß BFSG (Barrierefreiheitsstärkungsgesetz) und WCAG 2.1 Level AA zu prüfen und zu verbessern.

= Frontend-Widget =

Über einen schwebenden Button rechts unten können Besucher folgende Anpassungen vornehmen:

* **Anzeige-Modi:** Farben umkehren, Monochrom, Dunkler Kontrast, Heller Kontrast, Niedrige Sättigung, Hohe Sättigung
* **Hervorhebungen:** Links hervorheben, Überschriften hervorheben
* **Bildschirmleser:** Markierter oder geklickter Text wird per Browser-Sprachsynthese vorgelesen
* **Lesemodus:** Reduzierte Ansicht mit zentriertem Inhalt
* **Schieberegler:** Inhaltsskalierung, Schriftgröße, Zeilenhöhe, Zeichenabstand

Alle Einstellungen werden 30 Tage in Cookies gespeichert.

= Backend =

* BFSG/WCAG-Checkliste mit Fortschrittsanzeige
* Automatische Prüfung auf fehlende Alt-Texte mit Detail-Liste und CSV-Export
* Dashboard-Widget mit Status-Übersicht
* Skip-Links, Fokus-Indikator, ARIA-Labels, Tab-Reihenfolgen-Optimierung
* Konfigurierbare Akzentfarbe des Frontend-Widgets

== Internationalization (i18n) ==

Das Plugin enthält Übersetzungen für **29 europäische Sprachen**:

Bulgarisch, Tschechisch, Dänisch, Deutsch, Griechisch, Englisch (UK/US), Spanisch, Estnisch, Finnisch, Französisch, Irisch, Kroatisch, Ungarisch, Italienisch, Litauisch, Lettisch, Maltesisch, Norwegisch (Bokmål), Niederländisch, Polnisch, Portugiesisch, Rumänisch, Russisch, Slowakisch, Slowenisch, Schwedisch, Türkisch, Ukrainisch.

**Wichtiger Hinweis zur Übersetzungsqualität:**
Die mitgelieferten Übersetzungen wurden maschinell generiert und decken die wichtigsten ca. 45 Frontend-Strings (Widget-UI, Slider, Bildschirmleser-Meldungen, Skip-Links) für alle 29 Sprachen ab. Längere Admin-Texte (Einstellungsbeschreibungen, BFSG-Checkliste, Prüfbericht-Details) fallen über leere `msgstr`-Einträge auf das deutsche Original zurück.

Wir freuen uns über Korrekturen und Vervollständigungen durch Muttersprachler! Die `.po`-Dateien befinden sich im Ordner `languages/` und lassen sich z. B. mit [Poedit](https://poedit.net) bearbeiten. Nach Änderungen die `.mo`-Datei neu kompilieren (Poedit macht das automatisch beim Speichern).

= Eigene Sprache hinzufügen =

1. `languages/bfsg-helper.pot` als Vorlage öffnen
2. In Poedit "Neu aus POT/PO-Datei" wählen
3. Übersetzungen eintragen und als `bfsg-helper-{locale}.po` speichern (z. B. `bfsg-helper-ca.po` für Katalanisch)
4. Poedit erzeugt automatisch die zugehörige `.mo`-Datei

WordPress lädt die richtige Sprache automatisch entsprechend der Site-Locale (Einstellungen → Allgemein → Sprache der Website).

== Installation ==

1. Plugin-Ordner `bfsg-helper` in `/wp-content/plugins/` hochladen oder als ZIP-Datei im WordPress-Backend installieren
2. Im Menü "Plugins" aktivieren
3. Unter "Barrierefreiheit" die Einstellungen anpassen

== Frequently Asked Questions ==

= Funktioniert der Bildschirmleser mit jeder Sprache? =

Der Bildschirmleser nutzt die im Browser bzw. Betriebssystem installierten Sprachstimmen. Verfügbare Sprachen variieren je nach Plattform. Die Sprache wird automatisch aus dem `lang`-Attribut der HTML-Seite gelesen.

= Kann ich die Akzentfarbe des Widgets ändern? =

Ja, im Backend unter "Barrierefreiheit → Einstellungen → Widget-Akzentfarbe" mit dem Color-Picker.

= Was passiert, wenn ich keine Übersetzung für meine Sprache habe? =

WordPress fällt auf die deutsche Originalsprache zurück (`msgid`). Du kannst eine neue `.po`-Datei anlegen — siehe Abschnitt "Eigene Sprache hinzufügen".

== Changelog ==

= 1.7.2 =
* Neugestaltete, professionelle Einstellungsoberfläche (shadcn-Stil): Karten/Sektionen, Switch-Schalter statt Häkchen, Font-Awesome-Light-Icons.
* Die beiden bisherigen Menüpunkte („Barrierefreiheit" und „Barrierefreiheit KI") sind zu einem zusammengefasst – die KI-Funktionen sind jetzt ein Reiter „KI-Funktionen".
* Pro-Funktionen (KI) sind mit einer „Pro"-Pille gekennzeichnet.

= 1.7.1 =
* SVG-Unterstützung für Alt-Texte: Da die Vision-API kein SVG akzeptiert, wird der SVG-Quelltext an die KI gegeben (gut für Logos/Icons/Illustrationen).
* Stapelverarbeitung robuster: Einzelbild-Fehler (z. B. nicht unterstützter Typ) brechen den Lauf nicht mehr ab, sondern werden übersprungen; nur echte Lizenz-/Kontingentfehler stoppen.
* Proxy-Fehlercodes werden clientseitig erhalten (genauere Meldungen, korrekte Unterscheidung Einzelbild- vs. Kontofehler).

= 1.7.0 =
* Neue (optionale, lizenzpflichtige) KI-Funktion: automatische Alt-Texte für Bilder. Erzeugung über den zentralen KK-AI-Proxy (serv01); Freischaltung pro Lizenz/Add-on samt Monatskontingent.
* Zwei Modi: automatisch beim Upload (asynchron) und Stapelverarbeitung der bestehenden Mediathek (mit Fortschrittsanzeige).
* Frontend-Sicherheitsnetz: leere img-alt werden beim Ausspielen aus den Medien-Metadaten gefüllt – so bekommen auch bereits im Layout platzierte Bilder ihren Alt-Text (löst die WordPress-Trennung zwischen Block-Alt und Medien-Alt).
* Editor-Back-Fill: trägt fehlende Alt-Texte direkt im Block-Editor nach.
* Dekorative Bilder werden erkannt und behalten bewusst einen leeren Alt-Text.
* Neue Einstellungsseite „Barrierefreiheit KI" (Lizenzschlüssel, Aktivierung, Sprache, Status/Kontingent).

= 1.6.2 =
* Editor-Fix: Der Gutenberg-Block lädt nicht mehr die komplette frontend.css in den Editor (das ließ globale Regeln wie *:focus-visible ins Editor-UI durchschlagen). Stattdessen ein schlankes, vollständig unter .bfsg-inline-widget gescoptes editor.css – nur für die Block-Vorschau.

= 1.6.1 =
* Admin-Menü aufgeräumt: „Barrierefreiheit" liegt jetzt unter „Einstellungen" und fasst Einstellungen, Prüfbericht und Tab-Reihenfolge in einer Seite mit drei Reitern zusammen (kein eigener Top-Level-Menüpunkt mehr)

= 1.6.0 =
* Neuer Gutenberg-Block „Barrierefreiheit-Einstellungen": zeigt das Eingabehilfen-Bedienfeld direkt im Inhalt an (ohne schwebenden Button) – z. B. zum Einbetten in Popups, Seiten oder Footer
* Neue Einstellung „Schwebendes Widget anzeigen": das schwebende Widget kann global deaktiviert werden, wenn nur der Block genutzt werden soll
* Block und schwebendes Widget teilen sich dieselbe Logik und bleiben zustandssynchron
* Inline-Panel bleibt bei aktiven Anzeige-Modi (Invertieren/Kontrast/Skalierung) lesbar

= 1.5.0 =
* Komplett neugestaltetes Frontend-Widget mit 10 Anzeige-Modi und 4 Schiebereglern
* 29 europäische Sprachen via `.po`/`.mo`-Dateien
* Bildschirmleser-Funktion mit Markierungs- und Klick-Modus
* Konfigurierbare Akzentfarbe
* Verbesserte Widget-Isolation gegen eigene Filter-Effekte

= 1.4.0 =
* Tab-Reihenfolgen-Optimierung
* Tab-Visualisierer für Admins

= 1.3.x =
* Grauskala-Umschalter
* Sprach- und Richtungsattribute
* Erweiterte ARIA-Unterstützung

== License ==

GPL v2 or later. © Holger Klopmeyer
