From de9825cfeaf4fc2737b4e09642014f2cc7229caa Mon Sep 17 00:00:00 2001 From: patrick Date: Wed, 23 Sep 2026 01:10:24 +0200 Subject: [PATCH] UX-07: barrierefreiheit-nach-wcag-2-1-aa Co-Authored-By: Claude Sonnet 5 --- mail/docs/UX-07-PRUEFPROTOKOLL.md | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 mail/docs/UX-07-PRUEFPROTOKOLL.md diff --git a/mail/docs/UX-07-PRUEFPROTOKOLL.md b/mail/docs/UX-07-PRUEFPROTOKOLL.md new file mode 100644 index 00000000..309980aa --- /dev/null +++ b/mail/docs/UX-07-PRUEFPROTOKOLL.md @@ -0,0 +1,36 @@ +# UX-07 – Prüfprotokoll: Barrierefreiheit nach WCAG 2.1 AA (mail-search) + +Stand: 2026-09-23. Entwicklungshost 192.168.1.204, Google Chrome 154.0.8037.57 (Puppeteer), axe-core. Basis: `integration/gesamtprojekt`. Alle Daten synthetisch, erzeugt durch `mail/cmd/mailsearch-a11y-fixture` (3 Nachrichten, Mandant `a11y-tenant`, Manticore-Index `mail_documents`). + +## Ergebnis auf einen Blick + +| Akzeptanzkriterium | Ergebnis | +|---|---| +| AK1: automatisierte Prüfung ohne kritische Verstöße auf allen Kernansichten | erfüllt | +| AK2: vollständige Bedienbarkeit ohne Maus für alle Kernfunktionen | erfüllt (Tab-Erreichbarkeit, Fokusindikator) | +| AK3: Screenreader-Ausgabe für zentrale Elemente sinnvoll/vollständig | teilweise offen (kein Screenreader auf dem Testhost, siehe unten) | + +## Durchgeführte Prüfungen (`web/a11y-audit/mail-search-run.sh`, Exit 0 nach Fix) + +Wiederverwendet `web/a11y-audit/audit.js` (axe WCAG 2.0/2.1 A+AA, Tab-Erreichbarkeit, Fokusindikator-Prüfung, Layout/Kontrast) statt eigener Werkzeuge. + +| # | Prüfung | Messwert | Bewertung | +|---|---|---|---| +| 1 | axe auf 3 Kernansichten (Suchseite leer, Suchseite mit Treffern, Detailseite) x hell/dunkel | 6 Läufe, 0 Verstöße | bestanden | +| 2 | Tastatur-Erreichbarkeit (Tab) je Ansicht | Suchseite 2/2, Detailseite 1/1 interaktive Elemente erreicht, kein fehlender Fokusindikator, keine Falle | bestanden | +| 3 | Vitest (`mail-search`) | 19/19 bestanden | bestanden | +| 4 | `tsc --noEmit` | fehlerfrei | bestanden | + +## Echter Fund (behoben) + +`web/mail-search/app/layout.tsx` band weder `focusVisibleStyles` noch `themeInitScript` von `@nexarch/shl` ein — anders als alle übrigen Web-Apps (dms-browser, dms-upload, pdf-viewer, retention-admin usw.). Dadurch: +- Links (``) hatten keinen themenabhängigen Farbwert und fielen im dunklen Farbschema auf den Browser-Standard zurück (Kontrastverstoß, `color-contrast`, `serious`, auf `/mail/{id}`, Link „← Zurück zur Suche"). +- Es gab keine erzwungene, sichtbare Fokusmarkierung unabhängig von einzelnen Komponenten (UX-05-Muster fehlte hier). + +Behoben durch Übernahme desselben ``-Blocks wie in `dms-browser/app/layout.tsx`. Erneuter Lauf: 0 Verstöße in beiden Farbschemata auf allen drei Ansichten. + +## Nicht Bestandteil / offen + +- **AK3 (Screenreader-Stichprobe):** Wie bereits in `dms/docs/UX-06-PRUEFPROTOKOLL.md` für das DMS dokumentiert, gibt es auf dem Testhost und der Entwicklungsmaschine weder NVDA noch VoiceOver. Die automatisierte axe-Prüfung deckt strukturelle Screenreader-Voraussetzungen (Rollen, Labels, Landmarks) ab; ein manueller Stichprobentest mit echtem Screenreader durch eine zweite Person (Prüfung 3 des Tickets) bleibt offen — dieselbe organisatorische Lücke wie bei UX-06. +- `QA-08` (Barrierefreiheits-Audit als eigenes Prüfgate) ist laut Ticket ausdrücklich nicht Teil dieser Kachel. +- Der neue `mailsearch-a11y-fixture`-Seed-Binary und `mail-search-run.sh` sind reine Testwerkzeuge, kein Produktivpfad.