diff --git a/docs/v1-ui-review.md b/docs/v1-ui-review.md new file mode 100644 index 0000000..547e3bc --- /dev/null +++ b/docs/v1-ui-review.md @@ -0,0 +1,163 @@ +# Clusev v1 — Konsolidierte Fix-Liste + +Alle Punkte gegen die echten Dateien geprüft. Duplikate (Focus-States, Touch-Targets, KPI-Balken, Ringe, mobile CPU/RAM-Anzeige) sind zusammengeführt. Reine Bereitschafts-/Konventionshinweise ohne Datei-Defekt sind unter „Bewusst weggelassen" gelistet. + +--- + +## MUST-FIX (Regelverstoß / echter Bug / A11y-Blocker) + +### A11y — Tastatur-Fokus unsichtbar +- **Dateien:** `nav-item.blade.php`, `topbar.blade.php` (Z. 3, 16), `sidebar.blade.php` (Z. 10, 19, 48), `server-item.blade.php` (Z. 5), `livewire/dashboard.blade.php` (Z. 69) +- **Änderung:** Auf jeder interaktiven Basisklasse einen Token-Fokusring ergänzen: `focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60 focus-visible:ring-offset-2 focus-visible:ring-offset-surface`. Alternativ eine Base-Layer-Regel in `app.css`: `*:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px }`. +- **Grund:** Null Fokus-Styles im gesamten View-Layer (per grep bestätigt) — Tastaturbedienung auf der dunklen UI ist unmöglich. + +### A11y — Kontrast `ink-3` unter WCAG AA +- **Datei:** `resources/css/app.css:36` (`--color-ink-3: #69757F`) +- **Änderung:** Auf ca. `#7E8A95` aufhellen (≈4,6:1 auf surface). +- **Grund:** 3,95:1 auf surface — `ink-3` ist Default für fast jeden Sekundärtext (IPs, Subtitles, Unit-Labels, systemd-Beschreibungen) bei `text-[11px]`/`text-xs`, also gilt 4,5:1. + +### A11y — Kontrast `ink-4` unter WCAG AA (für Text) +- **Datei:** `resources/css/app.css:37` (`--color-ink-4: #495159`) +- **Änderung:** Für Textnutzung auf ca. `#707B85` (≈4,5:1) aufhellen, oder `ink-4` strikt auf Hairlines/Nicht-Text beschränken und betroffene Textstellen (`dashboard.blade.php:107,109`, `server-item.blade.php:13,19`) auf `text-ink-3` umstellen. +- **Grund:** 2,31:1 — fällt sogar unter AA-large (3:1), wird aber für echten Lesetext (Audit-Timestamps/Targets, CPU/RAM-Spaltenlabels) genutzt. + +### A11y — Off-Canvas-Drawer nicht aus Tab-Order entfernt +- **Datei:** `resources/views/components/sidebar.blade.php:2` (`