From 426cbcc8d2f1a989713cc067bdd346437ee88130 Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Wed, 12 Aug 2026 09:30:58 +0200 Subject: [PATCH] =?UTF-8?q?Der=20Hinweis=20"Sie=20schreiben=20als=20?= =?UTF-8?q?=E2=80=A6"=20ist=20wieder=20lesbar=20(v7.268.2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Im blauen Banner über der Kopfzeile standen "Seite öffnen" und "Wieder als ich selbst schreiben" in Brand-Blau auf Brand-Blau. Beide Bedienelemente hatten keine eigene Textfarbe, sondern erbten das `text-white` der Leiste — und eine Regel am Element selbst schlägt eine geerbte Farbe, egal aus welchem Layer sie kommt. In `components.css` steht für die klassischen Seiten `a, button { color: var(--color-brand-600) }`, und genau die hat gewonnen. Der Satz daneben ist ein ``, den keine Elementregel nennt, deshalb war ausgerechnet der Text weiss und die beiden Knöpfe daneben nicht. Also nennen jetzt beide ihre Farbe selbst. Der Knopf bekommt zusätzlich etwas mehr Fläche (`bg-white/20`), damit er sich auf der dunklen Leiste als Fläche und nicht als Schatten liest. Die Regel dahinter steht jetzt in `.claude/rules/design.md`, weil sie jedem Bedienelement auf einer farbigen Fläche droht, und ein Test hält die beiden hier fest: er lief gegen den unreparierten Stand rot. Diesen Text hat ein KI-Agent in meinem Namen geschrieben, ungeprüft von mir. Die Arbeit dahinter ist meine, nur das Aufschreiben habe ich delegiert. --- .claude/rules/design.md | 13 +++++++++++++ lib/vutuv_web/live/shell_live.ex | 12 ++++++++++-- mix.exs | 2 +- .../vutuv_web/acting_as_organization_test.exs | 19 +++++++++++++++++++ 4 files changed, 43 insertions(+), 3 deletions(-) diff --git a/.claude/rules/design.md b/.claude/rules/design.md index 70fca2a15..0c3f32c57 100644 --- a/.claude/rules/design.md +++ b/.claude/rules/design.md @@ -233,6 +233,19 @@ undigested, so hard-reload (Cmd+Shift+R) after a rebuild. **Dev does not use build on every CSS/template/JS change instead. Edits to `components.css` reach the browser within ~2s; if they ever don't, suspect that watcher first. +**Text colour is never inherited onto a link or a button — every control on a +coloured surface names its own.** `components.css` sets `a, button { color: +var(--color-brand-600) }` for the classic pages, and *any* rule on the element +beats a colour the element merely **inherits** from an ancestor — specificity +never enters into it, so the utility layer winning over the components layer does +not help here. Put `text-white` on the coloured bar and the link inside it still +renders brand-600: that is how the acting-as banner shipped a brand-600 link and +button on a brand-700 bar, blue on blue and barely legible, while the sentence +beside them (a ``, which no element rule names) was correctly white. So +when a surface sets a text colour for its contents, repeat that colour on every +`` and `