feat(carbon): Carbon-Konformität nachprüfbar machen statt behaupten
Recherche an der Quelle statt an der Dokumentation. Zwei Ergebnisse: 1. Carbon regelt Datenvisualisierung nur teilweise. Farben, Gitter, Achsen, Tooltip und Tickanzahl sind verbindlich festgelegt — Paddings, Margins und Dashboard-Raster dagegen NICHT. Die Carbon-Seiten zu Chart-Anatomie und Dashboards tragen ausdrücklich den Hinweis "this guidance is a work in progress" und enthalten keine Zahlenwerte. Unsere Abstandswerte stammen deshalb aus der Carbon-Spacing-Skala und der Planung mit dem Branchenpartner, nicht aus der Data-Viz-Norm. Das steht jetzt so in DESIGN-SYSTEM.md §0. 2. Eine echte Abweichung gefunden: Der Tooltip ist seit Carbon v11 hell (--cds-layer-02 #ffffff auf --cds-text-primary #161616, abgesetzt allein durch den Schatten). Unser Theme führte den dunklen v10-Stand (#393939) und berief sich dabei auf das ausgelieferte Stylesheet — die Angabe war veraltet. Korrigiert. Neu: - docs/carbon-referenz.json — kanonische Werte mit Quelle, Version und Prüfdatum, gezogen aus @carbon/charts 1.23.0 styles.min.css und configuration.ts. Bewusste Abweichungen (Balkenbreite 48 statt 16, feste Kategoriefarben statt n-Serien-Paletten) sind dort begründet. - scripts/verify-carbon.mjs + npm run verify:carbon — gleicht chartTheme.ts gegen die Referenz ab und bricht bei Drift ab. - docs/PRUEFFRAGEN.md — Prüffragen für die Gestaltungsabnahme mit nachprüfbarem Ja/Nein, plus Leseliste (FT Visual Vocabulary, IBCS, Cleveland & McGill, Few, Datawrapper Academy). Die 14er-Palette wurde gegen die CSS-Variablen --cds-charts-14-1-* geprüft und stimmt exakt; ebenso Gitter #e0e0e0, Achse #8d8d8d und Achsentext #525252. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QPeZNwSeU7qG3RRCwaxEZX
This commit is contained in:
1 parent
99be627dad
commit
0875ae2688
8 files changed
+412
-20
No files matched your search
+50
-6
@@ -4,10 +4,48 @@ Grundlage ist **IBM Carbon Data Visualization**, ergänzt um die Spacing- und
|
||||
Zahlenregeln aus der eigenen Planung (`UI_UX_GUIDELINES.md`, Januar 2026).
|
||||
|
||||
Die konkreten Farb- und Linienwerte sind aus dem ausgelieferten Stylesheet von
|
||||
`@carbon/charts` (`dist/styles.css`, Light Theme) übernommen — nicht aus der
|
||||
Dokumentation abgeschrieben. Alles Folgende ist in
|
||||
`@carbon/charts` (Light Theme) übernommen — nicht aus der Dokumentation
|
||||
abgeschrieben. Alles Folgende ist in
|
||||
`features/dashboard/utils/chartTheme.ts` als Code hinterlegt.
|
||||
|
||||
## 0. Was Carbon regelt — und was nicht
|
||||
|
||||
Wichtig für jeden, der hier etwas anzweifelt: **Carbon regelt Datenvisualisierung
|
||||
nur teilweise.** Die Grenze verläuft so:
|
||||
|
||||
| Frage | Regelt Carbon? | Wo steht die Antwort |
|
||||
|---|---|---|
|
||||
| Farbpalette, Reihenfolge, Statusfarben | **ja, verbindlich** | ausgeliefertes Stylesheet, CSS-Variablen `--cds-charts-14-1-*` |
|
||||
| Gitter-, Achsen- und Textfarben | **ja** | dieselben Quellen |
|
||||
| Tooltip-Aufbau | **ja** | `.cds--cc--tooltip` im Stylesheet |
|
||||
| Tickanzahl je Achse | **ja** | `configuration.ts` (y: 5, x: 15) |
|
||||
| Wann welcher Diagrammtyp | teilweise, qualitativ | Carbon „Simple/Complex charts" |
|
||||
| **Padding, Margins, Kartenabstände** | **nein** | siehe unten |
|
||||
| Dashboard-Raster, Kartenhöhen | **nein**, nur Prinzipien | siehe unten |
|
||||
|
||||
Die Carbon-Seiten zu Chart-Anatomie und Dashboards tragen ausdrücklich den
|
||||
Hinweis „this guidance is a work in progress" und enthalten **keine Zahlenwerte**
|
||||
für Abstände. Wer dort nach Paddings sucht, findet Prinzipien („create a clear
|
||||
visual hierarchy", „limit the number of metrics") — richtig, aber nicht
|
||||
nachprüfbar.
|
||||
|
||||
**Die Abstandswerte in diesem Dokument stammen deshalb nicht von Carbon**,
|
||||
sondern aus zwei anderen Quellen:
|
||||
|
||||
1. der **Carbon-Spacing-Skala und dem 2x-Grid** des allgemeinen Design-Systems
|
||||
(4/8/12/16/24/32/48…) — dieselbe Skala, aus der auch Davids
|
||||
`INTERIM-UI-DESIGN-STANDARDS.md` im Zielsystem schöpft;
|
||||
2. der eigenen Planung mit dem Branchenpartner (`UI_UX_GUIDELINES.md`).
|
||||
|
||||
Beides ist konsistent zueinander. Es ist aber ehrlicher zu sagen: Bei Farben und
|
||||
Achsen folgen wir einer Norm, bei Abständen einer begründeten Hauskonvention.
|
||||
|
||||
**Nachprüfbar gemacht:** `npm run verify:carbon` gleicht `chartTheme.ts` gegen
|
||||
`docs/carbon-referenz.json` ab — Palette, neutrale Werte, Tooltip, Achsenraster.
|
||||
Die Referenzdatei nennt Quelle, Version und Prüfdatum. Bewusste Abweichungen
|
||||
(Balkenbreite, feste Kategoriefarben) sind dort begründet hinterlegt und werden
|
||||
als Hinweis ausgegeben, nicht als Fehler.
|
||||
|
||||
---
|
||||
|
||||
## 1. Farben
|
||||
@@ -116,13 +154,19 @@ wechselt mitten im Lesen die Einheit; die Nulllinie trägt gar keine Einheit.
|
||||
|
||||
## 3. Tooltip
|
||||
|
||||
Einheitlich für alle Charts (`components/charts/ChartTooltip.tsx`):
|
||||
Einheitlich für alle Charts (`components/charts/ChartTooltip.tsx`), Werte aus
|
||||
`.cds--cc--tooltip` im ausgelieferten Stylesheet:
|
||||
|
||||
- Fläche `#393939`, Text `#ffffff`
|
||||
- Label 12 px mit 80 % Deckkraft, Wert 13 px fett in Tabellenziffern
|
||||
- kein Rahmen, kein Doppelpunkt zwischen Name und Wert
|
||||
- Fläche `#ffffff` (`--cds-layer-02`), Text `#161616` (`--cds-text-primary`)
|
||||
- abgesetzt allein durch den Schatten `0 1px 6px 0 rgba(0,0,0,.2)` — **kein Rahmen**
|
||||
- Label und Reihenname 12 px in `#525252`, Wert fett in Tabellenziffern
|
||||
- kein Doppelpunkt zwischen Name und Wert, maximal 270 px breit
|
||||
- Farbmarker je Reihe, 10 × 10 px
|
||||
|
||||
**Achtung bei älteren Quellen:** Bis Carbon v10 war der Tooltip dunkel
|
||||
(`#393939` auf weißem Text). Sehr viele Artikel und Screenshots zeigen noch
|
||||
diesen Stand. Maßgeblich ist das ausgelieferte Stylesheet, nicht die Bildersuche.
|
||||
|
||||
Ein gemeinsamer Tooltip verhindert, dass jedes Chart eigene Regeln entwickelt.
|
||||
|
||||
---
|
||||
|
||||
Reference in new issue
Block a user