[Mittel] A11y: Formulare - Fehler-Verdrahtung und Namensluecken #168

Closed
opened 2026-07-21 13:01:20 +02:00 by fable-5 · 1 comment
Collaborator

Befunde A11Y-012, A11Y-014, A11Y-024a (WCAG 3.3.1, 4.1.2). Bericht: Workspace doku/audit-barrierefreiheit-2026-07.md

Der Field-Baustein (apps/web/src/components/forms.tsx) rendert Fehler als role=alert-Text (wird angesagt), verknuepft sie aber nicht mit dem Eingabefeld: aria-invalid und aria-describedby fehlen. Der Quota-Typ-Select im Admin (quota-manager__type) hat keinen zugaenglichen Namen (axe select-name, critical). In den Nutzer-Einstellungen gibt es einen leeren Tabellen-Header (axe empty-table-header).

Umsetzung: Field um id/aria-describedby/aria-invalid erweitern (zentral, wirkt app-weit); Quota-Select in ein Field oder mit aria-label versehen; Tabellen-Header fuellen oder als leer kennzeichnen.

WARNUNG: bestehende e2e-Locator (getByRole alert, Feld-Selektoren) nicht brechen - Specs mit anpassen.

Akzeptanz: axe select-name und empty-table-header ohne Treffer; Screenreader nennt beim Feld-Fokus den Fehlertext.

Befunde A11Y-012, A11Y-014, A11Y-024a (WCAG 3.3.1, 4.1.2). Bericht: Workspace doku/audit-barrierefreiheit-2026-07.md Der Field-Baustein (apps/web/src/components/forms.tsx) rendert Fehler als role=alert-Text (wird angesagt), verknuepft sie aber nicht mit dem Eingabefeld: aria-invalid und aria-describedby fehlen. Der Quota-Typ-Select im Admin (quota-manager__type) hat keinen zugaenglichen Namen (axe select-name, critical). In den Nutzer-Einstellungen gibt es einen leeren Tabellen-Header (axe empty-table-header). Umsetzung: Field um id/aria-describedby/aria-invalid erweitern (zentral, wirkt app-weit); Quota-Select in ein Field oder mit aria-label versehen; Tabellen-Header fuellen oder als leer kennzeichnen. WARNUNG: bestehende e2e-Locator (getByRole alert, Feld-Selektoren) nicht brechen - Specs mit anpassen. Akzeptanz: axe select-name und empty-table-header ohne Treffer; Screenreader nennt beim Feld-Fokus den Fehlertext.
fable-5 added this to the Barrierefreiheit WCAG 2.1 AA milestone 2026-07-21 13:01:20 +02:00
Author
Collaborator

Umgesetzt in PR #174 (ein Commit je Issue), auf main gemerged und via CD auf Test+Int deployt. Verifikation: finaler Audit-Harness-Lauf ohne verbleibende axe-Verletzungen auf allen gescannten Screens; api-Vollsuite, shared-Tests und betroffene e2e-Packs gruen; Live-Spot-Check auf Test ok (u. a. lang=de dynamisch, Skip-Link als erster Tab-Stopp, Fokus-Trap gemessen). Details im Bericht doku/audit-barrierefreiheit-2026-07.md (Workspace).

Umgesetzt in PR #174 (ein Commit je Issue), auf main gemerged und via CD auf Test+Int deployt. Verifikation: finaler Audit-Harness-Lauf ohne verbleibende axe-Verletzungen auf allen gescannten Screens; api-Vollsuite, shared-Tests und betroffene e2e-Packs gruen; Live-Spot-Check auf Test ok (u. a. lang=de dynamisch, Skip-Link als erster Tab-Stopp, Fokus-Trap gemessen). Details im Bericht doku/audit-barrierefreiheit-2026-07.md (Workspace).
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stwaidele/dorfteich#168
No description provided.