147 Zeichen je Zeile -- am Kontrast lag es nicht

Filipe: „nur die kacheln noch viel geiler. so dass ich die texte auch
besser erkenne."

NAHELIEGEND WAERE GEWESEN, die Farben aufzuhellen. Erst gemessen,
dann gebaut -- und die Vermutung war falsch:

    Kontrast .s-karte__text        15,7 : 1   (noetig 4,5)
    Kontrast aller zehn Textarten   7,5 bis 15,7 : 1
    ZEICHEN JE ZEILE                        147   (angenehm 45-75)

Am Kontrast lag es nicht; der ist ueberall ueppig. Es lag an der
ZEILENLAENGE. Auf 1280 px lief der Meldungstext ueber die ganze
Kartenbreite: 1120 px, knapp 150 Zeichen. Beim Zeilenwechsel findet
das Auge die naechste Zeile nicht mehr sicher -- man liest dieselbe
zweimal oder ueberspringt eine. Das ist der groesste Hebel beim
Lesen, und er kostet nichts.

GEAENDERT

    Meldungstext   15,2 -> 17 px,  max-width 72ch,  Zeilenhoehe 1.6
    Verlaufstext   14,4 -> 15,2 px, max-width 70ch
    Kartenrand     16/18/15/22 -> 18/20/16/24 px
    Trennlinie     zwischen Meldung und Verlauf

    147 -> 78 Zeichen je Zeile (PC), 39 auf dem Handy

`ch` UND NICHT PIXEL: `ch` ist die Breite der Null und waechst mit
der Schrift mit. Eine Angabe in Pixeln waere bei der naechsten
Schriftgroesse wieder falsch -- dieselbe Falle wie jede feste Zahl.

MEHR RAND, WEIL DIE SCHRIFT GEWACHSEN IST. Bei unveraendertem Rand
haette sie die Kante beruehrt, und die Karte waere voller gewirkt
statt lesbarer. Links bleibt es breiter: dort laeuft die
Leuchtschiene in der Farbe des Stands.

DIE TRENNLINIE kostet einen Pixel und beantwortet „wo hoert die
Meldung auf und wo faengt die Vorgeschichte an?". Vorher lief beides
ohne Zaesur ineinander.

EIN FEHLER IN MEINER EIGENEN MESSUNG -- und er haette Schaden
angerichtet

Die erste Fassung der Kontrastrechnung meldete fuer drei gut lesbare
Texte einen Kontrast von 1,04. Ich war nah dran, Farben zu
„reparieren", die in Ordnung sind.

Der Grund: `rgb()` zaehlt 0..255, `color(srgb …)` zaehlt 0..1 -- und
genau das liefert Chrome fuer jedes `color-mix()`. 0,77 als 0,77/255
gelesen ist fast Schwarz. Aufgefallen ist es nur, weil die Zahl
nicht zum Bildschirmfoto passte: Dort waren die Texte deutlich
lesbar.

DESHALB STEHT IN DER PRUEFUNG EINE GEGENPROBE IM BROWSER: Ein
absichtlich zu blasser Absatz wird eingehaengt und MUSS auffallen
(gemessen 1,23 : 1). Ohne sie waere „alle ueber 4,5" auch dann
gruen, wenn die Rechnung kaputt ist -- und genau das war sie.

GEPRUEFT -- pruef-support-bilder 56 -> 64 ok

    9 Textarten in der Karte gemessen
    der Meldungstext ist 16.96 px gross (mindestens 16)
    und bricht nach etwa 78 Zeichen um (hoechstens 85, vorher 147)
    der Verlaufstext: 15.2 px, etwa 75 Zeichen
    jeder Text haelt die Kontrastschwelle (0 darunter)
      — schwaechster 7.55 : 1
    Gegenprobe: ein absichtlich blasser Text faellt auf (1.23 : 1)
    auf 390 px ragt mit der groesseren Schrift nichts heraus (0 px)
    und die Zeile bleibt lesbar lang (etwa 39 Zeichen)

Dazu gruen: pruef-css-klassen · pruef-fingermass.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-10-03 12:37:05 +02:00
co-authored by Claude Opus 5
parent a1c2d49260
commit db8dd2fbea
48 changed files with 885 additions and 688 deletions
+49 -4
View File
@@ -228,7 +228,12 @@
.s-karte {
--s: var(--text-still);
position: relative;
padding: 16px 18px 15px 22px;
/* ETWAS MEHR LUFT (03.10.2026). Der Meldungstext ist von 15,2 auf
17 px gewachsen; bei unveraendertem Rand haette die Schrift die
Kante beruehrt und die Karte waere voller gewirkt statt
lesbarer. Links bleibt es breiter als rechts -- dort laeuft die
Leuchtschiene. */
padding: 18px 20px 16px 24px;
margin-bottom: 12px;
border: 1px solid var(--rand);
border-radius: 0;
@@ -300,8 +305,37 @@
.s-karte__von { font-size: .88rem; font-weight: 600; color: var(--text); }
.s-karte__zeit { font-size: .78rem; color: var(--text-still); margin-left: auto; }
/* ==== DER WICHTIGSTE TEXT DER KARTE (03.10.2026) ==================
Filipe: „nur die kacheln noch viel geiler. so dass ich die texte
auch besser erkenne."
GEMESSEN, BEVOR ETWAS ANGEFASST WURDE -- und die naheliegende
Vermutung war falsch:
Kontrast .s-karte__text 15,7 : 1 (noetig 4,5)
Kontrast aller zehn Texte 7,5 bis 15,7
ZEICHEN JE ZEILE 147 (angenehm 45-75)
Am Kontrast lag es also nicht -- der ist ueberall ueppig. Es lag
an der ZEILENLAENGE. Auf 1280 px lief der Text ueber die ganze
Kartenbreite: 1120 px, also knapp 150 Zeichen. Beim Zeilenwechsel
findet das Auge die naechste Zeile nicht mehr sicher; man liest
dieselbe Zeile zweimal oder ueberspringt eine. Das ist der
groesste Hebel beim Lesen, und er kostet nichts.
`72ch` SIND ETWA 72 ZEICHEN, weil `ch` die Breite der Null ist --
eine Einheit, die mit der Schrift mitwaechst. Eine Angabe in
Pixeln waere bei der naechsten Schriftgroesse wieder falsch.
UND EIN STUECK GROESSER: 1.06rem statt .95rem (17 statt 15,2 px).
Das ist der Text, um den es auf dieser Seite geht; die Nebensachen
bleiben klein, damit der Unterschied etwas sagt. */
.s-karte__text {
margin: 0; font-size: .95rem; line-height: 1.55; color: var(--text);
margin: 0;
font-size: 1.06rem; line-height: 1.6;
color: var(--text);
max-width: 72ch;
/* Absätze bleiben erhalten. Wer „Schritt 1 … Schritt 2 …"
untereinander schreibt, soll es so wiederfinden. */
white-space: pre-wrap; overflow-wrap: anywhere;
@@ -726,7 +760,13 @@
/* ---- Die Zeitachse ----------------------------------------------- */
.inhalt.support-seite .s-verlauf {
margin: 12px 0 0;
/* EINE FEINE LINIE TRENNT DIE MELDUNG VOM VERLAUF (03.10.2026).
Vorher lief beides ohne Zaesur ineinander: Der Satz, um den es
geht, und die Vorgeschichte sahen aus wie ein Block. Die Linie
kostet einen Pixel und beantwortet „wo hoert die Meldung auf?". */
margin: 16px 0 0;
padding-top: 14px;
border-top: 1px solid rgba(255, 255, 255, .07);
display: grid; gap: 14px;
}
@@ -807,7 +847,12 @@
}
.s-schritt__text {
margin: 4px 0 0;
font-size: .9rem; line-height: 1.5; color: var(--text-leise);
/* .95rem = 15,2 px, und dieselbe Zeilenschranke wie oben. Gemessen
waren es hier 149 Zeichen je Zeile. Eine Stufe kleiner als der
Meldungstext: Der Verlauf ist die Vorgeschichte, nicht die
Hauptsache. */
font-size: .95rem; line-height: 1.6; color: var(--text-leise);
max-width: 70ch;
white-space: pre-wrap;
overflow-wrap: anywhere;
}