frontend: Fokusmarke bekommt einen eigenen Strahlenkranz in Petrol
Der mit der Cursor-Zeile geteilte Ring war zu leise — „das erkennt man zu wenig" (Nutzer). Damit fällt auch die in D32 als Preis notierte Zweideutigkeit weg: Sie war das Zugeständnis für die Sparsamkeit, und wenn die Sparsamkeit nicht funktioniert, ist das Zugeständnis nicht mehr zu rechtfertigen. Gebaut wie der gelbe Kranz aus D28 (Schein nach außen, Füllung bleibt dem Status, kein Blinken, `z-index:2` gegen das Abschneiden durch später gemalte Geschwister) — aber in PETROL, nicht in Gelb. Die Frage stand ausdrücklich im Raum; die Antwort ist nein, weil die beiden Verschiedenes bedeuten und gleichzeitig auftreten: Gelb ist eine stehende Tatsache über den Plan („seit deinem letzten Besuch live gegangen"), Petrol ein Zuruf („schau jetzt hierhin"). Im Pad-Betrieb ist die Kombination der Normalfall — man zeigt auf das, was sich geändert hat. Wären beide gelb, könnte ein Knoten nicht beides sagen. Der Schein ist helles Teal (#14B8A6), der Ring dunkles Petrol. Die erste Fassung nahm für beides `--or` und wirkte trotz identischer Geometrie leiser als das Gelb. Der Grund ist nicht Geschmack: Ein dunkler Schein auf weißem Grund liest sich als Schatten, ein heller als Licht. Gegen die Stationspunkte des günstigsten Pfads (D18) geprüft statt angenommen — zwei Marken gezielt auf Pfad-Endknoten (mit Punkt), eine daneben (ohne): Der Kranz sitzt eng am Knoten und hat einen harten Ring, der Stationspunkt ist ein großer blasser Fleck ohne Rand. Verwechseln kann man das nicht. Kombinationen ausbuchstabiert, weil sie real vorkommen: `focusmark.current` (Tinte innen, Teal außen) und `fresh.focusmark` (Petrol-Ring innen, Gelb außen — zwei Scheine nach außen gehen nicht). Letztere steht nach der ersten: gleiche Spezifität, und bei allen drei sollen Zuruf und Neuheit gewinnen. SPEC §9 und D32 nachgezogen.
This commit is contained in:
+7
-2
@@ -177,8 +177,13 @@ verworfene Elemente. Quelle sind ES-Module unter `src/`; `index.html` ist der
|
||||
Schreibmarke im Pad. **Umhängen im DOM lädt jeden `<iframe>` neu** — wer
|
||||
Container um `#srcArea` herum neu aufbaut, wirft die Pad-Sitzung weg.
|
||||
- Fokusmarke `!!!` (D32, SPEC §1): Parser setzt `focus`, Renderer die Klasse
|
||||
`focusmark`, CSS teilt die Regel mit `.node.current` (ein Begriff „hier
|
||||
schauen"). Erkannt **nur alleinstehend** — `(^|\s)!!!(?=\s|$)`, bewusst ohne
|
||||
`focusmark`, CSS gibt ihr einen **eigenen Strahlenkranz in Petrol** (Nachtrag zu
|
||||
D32; der geteilte Ring mit `.current` war zu leise). Schein in **hellem** Teal
|
||||
`#14B8A6`, Ring in dunklem `--or`: ein dunkler Schein auf Weiß liest sich als
|
||||
Schatten, ein heller als Licht. Wie bei `.fresh` braucht die Regel `z-index:2`,
|
||||
sonst schneidet ein später gemaltes Geschwister den Kranz ab (D28). Die
|
||||
Kombinationen `focusmark.current` und `fresh.focusmark` sind ausbuchstabiert;
|
||||
letztere steht bewusst **danach** (gleiche Spezifität). Erkannt **nur alleinstehend** — `(^|\s)!!!(?=\s|$)`, bewusst ohne
|
||||
Lookbehind (Safari erst ab 16.4), sonst verlöre `Achtung!!!` seine
|
||||
Ausrufezeichen. Extraktion **nach** den Tags; der Kommentar fällt vorher weg,
|
||||
eine Marke hinter `%%` wirkt also nicht. `revealFocusMark()` scrollt **nur bei
|
||||
|
||||
+24
-2
@@ -536,8 +536,24 @@
|
||||
nur einen Begriff „hier schauen", und ein dritter Ring neben Fokusring,
|
||||
Strahlenkranz und Cursor-Ring wäre ein Zeichen zu viel. Der Unterschied
|
||||
steht im `aria-label`. */
|
||||
#out .node.current,
|
||||
#out .node.focusmark{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink)}
|
||||
#out .node.current{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink)}
|
||||
/* Fokusmarke `!!!` (SPEC §1, D32): **Strahlenkranz in Petrol**, nach dem Muster
|
||||
der Neuheiten-Markierung (D28), nur in der Akzentfarbe der App statt in Gelb.
|
||||
Der geteilte Ring mit der Cursor-Zeile war zu leise — „das erkennt man zu
|
||||
wenig" (Nutzer) —, und ein Ring allein wächst beim Zoomen nicht mit dem
|
||||
Blickbedürfnis. Der Kranz löst zugleich die in D32 hingenommene Schwäche:
|
||||
Cursor-Zeile (Tinte, innen) und fremde Marke (Petrol, außen) sind jetzt
|
||||
unterscheidbar. Kein Blinken (WCAG 2.2.2/2.3.1, vgl. D28), und `z-index`,
|
||||
weil der Schein AUSSERHALB der Knotenbox liegt — ohne ihn malt jedes später
|
||||
kommende Geschwister seinen Hintergrund darüber und schneidet ihn ab. */
|
||||
/* Der Schein ist **helles** Teal (#14B8A6), nicht das dunkle Petrol des Rings:
|
||||
Ein dunkler Schein auf weißem Grund liest sich als Schatten, ein heller als
|
||||
Licht — deshalb wirkte die erste Fassung leiser als der gelbe Kranz aus D28,
|
||||
obwohl die Geometrie dieselbe war. Der Ring bleibt dunkles Petrol und ordnet
|
||||
die Marke der Akzentfarbe zu; das Leuchten macht die Reichweite. */
|
||||
#out .node.focusmark{box-shadow:0 0 0 3px var(--or),0 0 20px 7px rgba(20,184,166,.85);z-index:2}
|
||||
/* Beides zugleich: Cursor-Zeile innen (Tinte), fremde Marke außen (Petrol). */
|
||||
#out .node.focusmark.current{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink),0 0 20px 7px rgba(20,184,166,.85)}
|
||||
/* Neu in Produktion seit dem letzten Besuch (D28): gelber Strahlenkranz um den
|
||||
Knoten. Bewusst ein Schein nach AUSSEN statt Farbe im Knoten — die Füllung
|
||||
gehört dem Status (SPEC §4) und bleibt lesbar. Kein Blinken: WCAG 2.2.2/2.3.1
|
||||
@@ -549,6 +565,12 @@
|
||||
#out .node.fresh{box-shadow:0 0 0 2px #FACC15,0 0 16px 5px rgba(234,179,8,.65);z-index:2}
|
||||
/* Beides zugleich: Cursor-Zeile innen (Tinte), Neuheit außen (gelb). */
|
||||
#out .node.fresh.current{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink),0 0 18px 6px rgba(234,179,8,.65)}
|
||||
/* Neu in Produktion UND jemand zeigt darauf: Ring in Petrol (der bewusste
|
||||
Zuruf, innen), Kranz in Gelb (die stehende Nachricht, außen). Zwei Scheine
|
||||
nach außen gingen nicht — einer muss der Ring sein. Steht bewusst **nach**
|
||||
`.node.focusmark.current`: gleiche Spezifität (drei Klassen), und wenn alles
|
||||
drei zutrifft, soll Zuruf + Neuheit gewinnen, nicht die eigene Cursor-Zeile. */
|
||||
#out .node.fresh.focusmark{box-shadow:0 0 0 3px var(--or),0 0 20px 7px rgba(234,179,8,.65);z-index:2}
|
||||
/* Alt gedrückt = Sprung-Geste scharf: Cursor an allen Knoten, Petrol-Ring am
|
||||
Knoten unter dem Zeiger. Auf verlinkten Knoten ist das die einzige
|
||||
Rückmeldung, weil dort der einfache Klick dem Link gehört (D25). */
|
||||
|
||||
Reference in New Issue
Block a user