feat(editor): Warndreieck als Zeiger über fehlerhaften Zeilennummern

Das `?` von `cursor:help` sagte nur „hier gibt es etwas zu lesen". Über der
orange gefärbten Zahl einer Warn-Zeile steht jetzt dasselbe ⚠, das im
Warnungsbereich vor jeder Meldung steht — der Zeiger sagt dieselbe Sache wie
das Ziel, auf das er zeigt.

Der Pfeil bleibt daneben stehen (sonst zeigte der Zeiger auf nichts), Spitze
auf dem Brennpunkt; als data:-URI im Stylesheet, `help` als Rückfall.

SPEC §9 (Zeilennummern) und D33-Nachtrag 2.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-24 12:20:08 +02:00
co-authored by Claude Opus 5
parent 3fbc772d81
commit 71bfb62b35
3 changed files with 43 additions and 3 deletions
+32
View File
@@ -1895,6 +1895,38 @@ untereinander, `&` und `"` unverfälscht; keine Zahl ohne Warnung trägt einen
mit (Zeile 3 ganz, Zeile 2 von zwei Meldungen auf eine). Im mitgelieferten
Werkbaum-Plan (941 Zeilen, 155 Knoten, 0 Warnungen): 0 Tooltips.
**Nachtrag 2 — der Zeiger trägt ein Warndreieck, kein Fragezeichen.** Der
Nachtrag oben begründete `cursor:help` damit, es sage, „dass es hier etwas zu
lesen gibt" — richtig, aber zu unbestimmt: Das `?` des Systemzeigers heißt
„Hilfe", und Hilfe ist etwas anderes als eine Warnung. Über der orange
gefärbten Zahl einer fehlerhaften Zeile steht jetzt ⚠ — **dasselbe Zeichen,
das im Warnungsbereich vor jeder Meldung steht**. Der Zeiger sagt damit
dieselbe Sache wie das Ziel, auf das er zeigt, und niemand lernt ein neues
Symbol; dieselbe Sparsamkeit wie bei der Diskrepanz-Marke, die die Statusbox
der Notation spiegelt (D39), und bei der ”-Marke der Beschreibungen (D40).
**Der Pfeil bleibt.** Ein Zeiger, der nur aus einem Dreieck besteht, zeigt auf
nichts — man wüsste nicht mehr, welche Zeile getroffen ist, und das Ziel ist
hier keine 18 px hoch. Gebaut ist er deshalb wie der `help`-Zeiger selbst:
Pfeil plus Abzeichen, nur mit dem Dreieck statt dem `?`. Die Spitze liegt auf
dem Brennpunkt (`1 1`), der Pfeil trägt eine weiße Kontur — der Streifen ist
hell, das Diagramm dahinter nicht überall.
**Ein Bild-Zeiger, und `help` als Rückfall.** `cursor:url(…) 1 1, help` — wo
ein Browser das Bild ablehnt (Größenbeschränkungen, restriktive Umgebungen),
gilt wieder das Bisherige, ohne Sonderfall. Als `data:`-URI im Stylesheet, wie
alles andere auch: kein externer Request (D20), und der Build muss nichts
zusätzlich einbetten. 32 × 32 px, weil größere Zeiger auf manchen Plattformen
stillschweigend verworfen werden.
**Nachgemessen** am echten Selektor (`.lineno-inner span.warn` im laufenden
Streifen): Der berechnete Wert endet auf `1 1, help`, das Bild lädt als
32 × 32. Zur Beurteilung der Lesbarkeit auf ein 32-px-`canvas` gezeichnet und
erst **danach** hochskaliert — ein `<img>` mit SVG-Quelle rastert in seiner
Anzeigegröße, die erste Prüfung zeigte deshalb eine glatte Vorschau statt der
Wahrheit. Bei echter 32-px-Rasterung war das Ausrufezeichen zu dünn (1,8 px)
und ging unter; es steht jetzt auf 2,2 px.
## D34 — Abhängigkeiten, IDs, XOR, Falten, Beschreibungen: erst reserviert, dann gebaut
Fünf Erweiterungen auf einmal — Knoten-**IDs** (`#auth`), **Abhängigkeiten**
(`:#auth,#api`) samt effektivem Status, **XOR** (`x`), ein- und ausklappbare
+3
View File
@@ -751,6 +751,9 @@ im Text abzählen.
Für Screenreader ist die Live-Region des Warnungsbereichs die Quelle, der
Tooltip erspart nur den Weg dorthin. Ohne Zeiger gibt es ihn nicht (wie
überall) — die Meldung steht dort ohnehin vollständig. Siehe D33-Nachtrag.
- Über einer Warn-Zeile trägt der **Zeiger ein Warndreieck** — dasselbe ⚠, das
im Warnungsbereich vor jeder Meldung steht. Der Pfeil bleibt daneben stehen,
damit der Zeiger weiter zeigt. Siehe D33-Nachtrag 2.
- Reine Lesehilfe: kein Bestandteil des Notationstexts, nicht im Grafikexport
und nicht im Druck (dort ist ohnehin nur das Diagramm zu sehen).