CD-Konformität: Inline-Styles raus, alle Formatierung über zentral definierte CSS-Klassen #184
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Die Webseite war ursprünglich nach klarem Corporate Design (
v2.css+ Tokens intokens.css) gestylt — Farben, Typografie, Abstände kamen aus zentral definierten Variablen und Klassen. Im Laufe der schnellen Iteration (Score-Hero, Marker-Pills, neue Tabs auf /auswertungen, Modal-Dialoge) sind viele neue Elemente mit Inline-Styles entstanden, die das CD umgehen.Konkrete Stellen, die jetzt schon auffallen:
app/templates/v2/screens/antrag_detail.html: dutzendestyle="..."-Attribute (Modal, Vote-Block, Comment-Form, Aktions-Links, News-Box)app/templates/v2/screens/auswertungen.html: viele Inline-Styles in den vier Tabsapp/templates/v2/screens/aktuelle_themen.html: PM-Modal mit komplettem Inline-Styling#2da44e,#cf222e, …) statt über--ecg-*-Tokens (gerade in Vote-Pills, Heuchelei-Marker, Cluster-Visualisierung)Das hat zwei Konsequenzen:
tokens.css-Variable.Frage / Recherche
Gibt es ein konsequentes Framework, das das erzwingt? Konkret gemeint: ein Mechanismus analog zu "Word-Formatvorlagen" — ein Stylesheet/Tooling, das verhindert, dass irgendwer im Template ein
style="color:#…"schreibt.Kandidaten zur Bewertung:
declaration-no-important/selector-pseudo-class-no-unknown/csstools/no-style-attribute— Linter-Regel, diestyle=""in HTML/Jinja-Templates verbietet (überhtmlhintodereslint-plugin-jinja).style="[^"]+"in Templates → Reject, mit Whitelist für SVG-Icons/Charts (wo Inline-Styles unvermeidbar sind, weil sie dynamisch berechnet werden).Empfohlener Ansatz (zur Diskussion)
style=""-Vorkommen inapp/templates/v2/**zählen + nach Verwendungszweck clustern (Layout, Color, Typography, ad-hoc).tools/lint-no-inline-styles.sh), derstyle=""in Templates verbietet — mit Whitelist (z.B. dynamische Charts.js-Container)./methodik#cdoder eigene/cd), die alle Klassen + Tokens als Living Style Guide zeigt — Bürgerinnen können das ignorieren, Entwickler:innen können dort nachschauen statt erfinden.Aufwand (AI-Zeit)
Nicht-Ziele
Anti-Regression-Wache live (Commit
57e11b3). Statt alle 1322 Inline-Styles in einer Sitzung zu migrieren, ist jetzt eine Wache aktiv:Cluster: 625 layout, 323 typography, 262 color, 112 sonstige.
Top-Brennpunkte: index.html (463 — Classic-UI Legacy), auswertungen.html (125), antrag_detail.html v2 (119), aktuelle-themen.html (82).
Issue bleibt offen für Migration-Wellen. Mit der Wache wächst die Anzahl nicht mehr; pro PR kann sie schrumpfen, indem ein Template umgestellt + Baseline neu eingefroren wird.
Living Style Guide explizit vertagt.