[Hoch] A11y: Dokumentsprache und Seitentitel der SPA #163

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

Befunde A11Y-002, A11Y-007 (WCAG 3.1.1, 3.1.2, 2.4.2). Bericht: Workspace doku/audit-barrierefreiheit-2026-07.md

apps/web/index.html setzt hart lang=en und die SPA aktualisiert document.documentElement.lang nie, obwohl i18next auf Deutsch umschaltet. Auf Prod live belegt: Landingpage, deutscher Doku-Teich und Rechtstexte melden lang=en. Ausserdem wird document.title nie gesetzt, jede Route heisst Dorfteich.

Umsetzung:

  • Beim i18next-Init und bei jedem Sprachwechsel (auth-context.tsx, dort wird i18n.language bereits umgeschaltet) document.documentElement.lang mitfuehren.
  • Titel-Hook je Route: Seitentitel - Teich - Dorfteich (Vorbild: der Server-Renderpfad html-shell.ts macht beides korrekt).
  • Prod-Betriebspunkt: Instanz-Locale auf Prod steht auf en, gehoert fuer die deutschen Inhalte auf de geprueft/gesetzt.

Akzeptanz: lang wechselt mit der UI-Sprache; Browser-Tab zeigt je Route einen sprechenden Titel.

Befunde A11Y-002, A11Y-007 (WCAG 3.1.1, 3.1.2, 2.4.2). Bericht: Workspace doku/audit-barrierefreiheit-2026-07.md apps/web/index.html setzt hart lang=en und die SPA aktualisiert document.documentElement.lang nie, obwohl i18next auf Deutsch umschaltet. Auf Prod live belegt: Landingpage, deutscher Doku-Teich und Rechtstexte melden lang=en. Ausserdem wird document.title nie gesetzt, jede Route heisst Dorfteich. Umsetzung: - Beim i18next-Init und bei jedem Sprachwechsel (auth-context.tsx, dort wird i18n.language bereits umgeschaltet) document.documentElement.lang mitfuehren. - Titel-Hook je Route: Seitentitel - Teich - Dorfteich (Vorbild: der Server-Renderpfad html-shell.ts macht beides korrekt). - Prod-Betriebspunkt: Instanz-Locale auf Prod steht auf en, gehoert fuer die deutschen Inhalte auf de geprueft/gesetzt. Akzeptanz: lang wechselt mit der UI-Sprache; Browser-Tab zeigt je Route einen sprechenden Titel.
fable-5 added this to the Barrierefreiheit WCAG 2.1 AA milestone 2026-07-21 13:01:18 +02:00
Author
Collaborator

Umgesetzt in PR #172 (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 #172 (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#163
No description provided.