diff --git a/dms-kanban/tickets/UX-06.md b/dms-kanban/tickets/UX-06.md new file mode 100644 index 00000000..b464b19b --- /dev/null +++ b/dms-kanban/tickets/UX-06.md @@ -0,0 +1,62 @@ +# UX-06 – Restbefunde aus dem Barrierefreiheits-Audit (QA-11) + +**Epic:** 🎨 UX & Barrierefreiheit | **Rolle:** Frontend | **Komplexität:** Mittel | **Aufwand:** 3 Personentage | **Welle:** 12 + +--- + +## Rolle +Du bist erfahrene Entwicklerin im Bereich Backend und baust NEXARCH DMS (Dokumentenkern, Suche & OCR, Metadaten, Versionierung, Integration/API), das sich an paperless-ngx, Alfresco, Docspell und ecoDMS orientiert und bekannte Fehler aus archivdms (siehe known-issues-archivdms.md) bewusst vermeidet. +Oberfläche: semantisch korrekt, tastaturbedienbar, kontrastreich. + +## Auftrag +Das Audit QA-11 (2026-09-19) fand keine automatisch erkennbaren kritischen Verstöße mehr, aber Restbefunde, die nur manuell oder mit weiterem Werkzeug abschließbar sind. Diese Befunde mit Frist abarbeiten. **Fristvorschlag: 2026-10-31, Verantwortliche/r ist zu bestätigen.** + +1. Manueller Bildschirmleser-Durchlauf (NVDA unter Windows, VoiceOver unter macOS/iOS) aller Ansichten; im Audit nur als Accessibility-Tree-Ersatzbefund vorhanden +2. Papierkorb-Ansicht: Spaltenüberschriften und Zellen werden im Accessibility-Tree als lose Texte ausgegeben, nicht als Tabelle; echte Tabellen-Semantik (`table`/`th`/`td` oder `grid`) prüfen und herstellen +3. Sechs von axe als „manuell prüfen" (incomplete) markierte Knoten: 2× `aria-required-children`, 4× `color-contrast` +4. Nicht geprüft: englische Oberfläche, Reflow bei 400 % Zoom bzw. 320 px Breite, Textabstände, Tastaturbedienung des Datei-Dialogs im Upload +5. Automatische Prüfung (`web/a11y-audit/run.sh`) in die CI-Pipeline aufnehmen + +**Technische Grundlage:** NVDA/VoiceOver, axe-core, `web/a11y-audit` + +## Produkt-DNA für diesen Bereich +**Übernehmen:** +- Prüfen heißt messen: jeder Befund hat Messwert, Frist und Nachweis. + +**Bewusst vermeiden:** +- „Automatisch grün" als Freigabe für Barrierefreiheit: axe erkennt nur einen Teil der WCAG-Kriterien. + +## Ausgangslage +Setzt auf folgenden bereits fertigen Kacheln auf: UX-04, UX-05, QA-11. + +## Akzeptanzkriterien +Die Kachel gilt erst als umgesetzt, wenn alle Punkte erfüllt sind: +1. Bildschirmleser-Durchlauf mit NVDA und VoiceOver dokumentiert (Ansicht, Bedienschritte, Ansage, Befund) +2. Papierkorb-Ansicht hat Tabellen-Semantik im Accessibility-Tree +3. Die sechs „incomplete"-Knoten sind einzeln bewertet und behoben oder als unproblematisch begründet +4. Englische Oberfläche, Reflow und Textabstände sind geprüft und dokumentiert +5. `run.sh` läuft in der CI + +## Prüfungen vor der Abnahme +Führe jede Prüfung tatsächlich durch und halte das Ergebnis schriftlich fest. Nicht durchgeführte Prüfungen zählen als offen: +1. Wiederholung des QA-11-Audits ohne kritische oder ernste Befunde +2. Bildschirmleser-Protokoll liegt vor +3. CI-Lauf der Prüfung grün + +## Nicht Bestandteil dieser Kachel +Diese Punkte gehören ausdrücklich in andere Kacheln. Bereite höchstens die Schnittstelle dafür vor: +- `QA-12` Abnahme- & Compliance-Prüfung + +## Arbeitsweise +1. Lies zuerst den bestehenden Code der Vorbedingungen und halte dich an die dort etablierten Muster. +2. Setze die kleinste Lösung um, die alle Akzeptanzkriterien erfüllt. Kein Umbau angrenzender Bereiche. +3. Schreibe zu jedem Akzeptanzkriterium mindestens einen automatisierten Test. +4. Führe alle Prüfungen aus und dokumentiere Zielwert und Ergebnis. +5. Deutschsprachige Oberflächentexte, englischsprachige Bezeichner im Code. +6. Keine Zugangsdaten, Schlüssel oder Verbindungszeichenfolgen im Code – ausschließlich über Umgebungsvariablen. + +## Abschluss +- Commit-Nachricht: `UX-06: restbefunde-aus-dem-barrierefreiheits-audit` +- Branch: `feature/ux-06-restbefunde-aus-dem-barrierefreiheits-audit` +- Schrittweise committen, Branch pushen, dann anhalten. Kein Merge, kein Deploy. +- In der Beschreibung des Pull Request die durchgeführten Prüfungen mit Ergebnis auflisten.