Changelog
Format nach „Keep a Changelog“, Versionen nach SemVer. Das Paket hat intern die Version 0.1.0 (package.json). Die Version 1.0.0 wird mit der Bereitstellung (Phase 8, Gate 8) gesetzt.
Unveröffentlicht (Ziel 1.0.0)
Hinzugefügt
- Tokens (Quelle
tokens/tokens.json): Primitive, semantische Tokens für hell und dunkel, Komponenten-Tokens. Ausgabetokens.css,tokens.scoped.css(Vorschau),tokens.resolved.json(native Apps). - Themes ohne JavaScript:
data-theme="light|dark|auto"plusprefers-color-scheme,color-schemeje Theme. - Kontrast-Gate (
tokens/contrast.mjs) mit 98 Paaren und Mandanten-Akzent (tokens/accent.mjs, gesperrtes Gelb). - Basis-CSS für unformatiertes semantisches HTML, Komponenten-CSS (Buttons, Felder, Formular, Karten, Listen, Tabellen, Badges, Rollen, Hinweise, Toast, Dialog, Navigation, Kalender, Einwilligung, Leer- und Fehlerzustände), Druck-CSS.
- Icon-Sprite (46 Lucide-Symbole), Schriften Lexend und Courier Prime (OFL, selbst gehostet).
- React-Bausteine in
apps/web/components/: Shell, Navigation, Klassen-Umschalter, Felder, Buttons, Hinweise, Schalter, Karten, Listen, Kalender, Saldo, Bestätigungsabfrage. - Migrierte Seiten: Login-Strecke, Startseite, Klasse (Eltern, Klassen-Admin, Finanzverwalter), Meine Kinder, Verwaltung, 404 und 500.
- Sprach- und Darstellungsumschalter ohne JavaScript (Cookies),
t()mit Deutsch/Englisch. - E-Mail-Vorlagen (Login, Neuigkeit, Erinnerung), Dokumentvorlagen (Elternbrief, Protokoll), Marketing-Seite, Styleguide-Seiten.
- Tests: Paket-Tests, axe und Stresstests, Tastatur-Durchlauf, End-to-End-Prüfung der App, Bildvergleich (40 Referenzbilder), Schriftwechsel-Test, CI-Workflow.
- Bereitstellung: nginx-Image für Marketing-Seite und Styleguide (ohne Root, Content-Security-Policy), Compose-Dienst
staticmit Traefik-Labels, Versions- und Release-Skript, Release-, Verteilungs- und Rollback-Anleitung. - Dokumentation: Entscheidungen, Microcopy-Leitfaden, Beitrags-Leitfaden, Integrationsanleitung, Performance-Budget, manuelle Prüfliste, Nutzertest-Skript.
Geändert
- Schriften in der App über
next/font/localmit Preload und berechneter Fallback-Schrift. - Kalender als echte Tabelle statt ARIA-Grid.
Behoben (aus Phase 4 und 6)
- Kritisch: Kalender-ARIA. Kontrast der Nachbarmonatstage (2,87:1 → bestanden).
- Zielgrößen unter 24 px, Navigation bei 320 px, klebende Leiste bei 200 % Schrift.
- Überlauf des Darstellungs-Umschalters und der Hinweis-Texte bei 200 % Schrift.
- Skip-Link auf den Login-Seiten, Rückfrage vor „Entfernen“ und „Entziehen“, parallele API-Abfragen auf der Klassenseite.
Bekannte Lücken
- Safari, Firefox, echte Geräte, Screenreader, E-Mail-Programme, Nutzertest, Docker-Build und CI-Lauf sind nicht geprüft.
- Rückmeldung nach Formularaktionen fehlt (
specs/rueckmeldung-formulare), Klassennamen für Nicht-Admins fehlen (specs/klassennamen-anzeige), E-Mail-Versand nutzt die Vorlagen nicht (specs/mail-vorlagen).
0.5.0 (Phase 6) – Test
Prüfung der echten App, Befunde behoben, Bericht, Prüfliste, Nutzertest-Skript, Performance-Budget, next/font/local, Bildvergleich.
0.4.0 (Phase 5) – Umsetzung
Paket @klasu/design, Einbindung in apps/web, Seiten migriert, Medienvorlagen, Tests.
0.3.0 (Phase 4) – Review und Härtung
axe 108 → 4 (Messartefakte), Überläufe 92 → 0, Token-Lint, Tastatur-Durchlauf.
0.2.0 (Phase 3) – Komponenten und Schlüsselscreens
Komponenten-CSS, Icon-Sprite, 14 Schlüsselscreens in Deutsch und Englisch, hell und dunkel.
0.1.0 (Phase 2) – Fundament
Tokens, Kontrast-Gate, Basis-CSS, Marken-Leitfaden.