Zum Hauptinhalt springen
Version: latest
Universell einsetzbar

RichText funktioniert sowohl auf dem Server als auch im Browser. Nutze immer den Standard-Import (z. B. @prokodo/ui/rich-text) — die Library erkennt die Umgebung automatisch.

RichText

RichText rendert aufbereiteten Rich-Text/HTML-Content mit prokodo-Typografie, semantischen Elementen und sicheren Standard-Styles.


Übersicht

import { RichText } from "@prokodo/ui/rich-text"
;<RichText html={article.content} />

Import

import { RichText } from "@prokodo/ui/rich-text"

CSS:

import "@prokodo/ui/rich-text.css"

Props

PropTypStandardPflichtBeschreibung
htmlstringSanitised HTML string to render.
childrenReactNodeStructured React content alternative to html.
prosebooleantrueApply prose typography class.
classNamestringCSS class on root <div>.

Siehe src/components/rich-text/RichText.model.ts für den vollständigen RichTextProps-Typ.


Design-Tokens

RichText definiert keine komponentenspezifischen CSS Custom Properties. Passe das Erscheinungsbild an, indem du folgende globale Design-System-Tokens auf :root oder einem übergeordneten Element überschreibst:

TokenBeschreibung
--pk-color-brandLinkfarbe und Listenmarkierung (geordnete Liste)
--pk-color-mutedText- und Code-Farbe
--pk-color-fgListenelement-Textfarbe
--pk-color-borderRahmen bei Codeblock und Blockquote
--pk-color-surface-raisedHintergrund von Codeblock und Blockquote
--pk-space-lgHorizontales Padding des Blockquote
--pk-space-smRechter Abstand des Listen-Icons
--pk-space-xsUnterer Abstand zwischen Listenelementen
--pk-radius-smEckenradius des Codeblocks
--pk-radius-mdEckenradius von Inline-Bildern
--pk-palette-whiteTextfarbe der Listenmarkierung (geordnete Liste)

AIC-Hinweis

Verwende im Anwendungscode immer den Standard-Importpfad:

import { RichText } from "@prokodo/ui/rich-text"

Eine separate Auswahl von /client oder /lazy ist im Consumer-Code nicht erforderlich.

AIC-Komponenten unterstützen außerdem ein priority-Flag für kritische Above-the-fold-Elemente. Am sichtbarsten ist das bei Image (natives Preloading via <link rel="preload"> für Above-the-fold-Inhalte).


WCAG-2.2-Status

KriteriumBezeichnungStatusHinweis
1.3.1Info und Beziehungen (A)✅ ErfülltSemantische Struktur (Überschriften, Listen, Labels, Landmarks) muss programmatisch via HTML oder ARIA vermittelt werden.
1.3.2Bedeutungsvolle Reihenfolge (A)🔍 Manuell prüfenDie Lesereihenfolge im DOM muss der beabsichtigten visuellen Darstellungsreihenfolge entsprechen.
1.4.3Kontrast (Minimum) (AA)🔍 Manuell prüfenText benötigt ein Kontrastverhältnis von mindestens 4,5:1 (3:1 für großen Text). Prüfung im finalen Produkt-Theme erforderlich.
2.4.6Überschriften und Bezeichnungen (AA)🔍 Manuell prüfenÜberschriften und Labels müssen das Thema oder den Zweck des zugehörigen Inhalts beschreiben.
4.1.2Name, Rolle, Wert (A)✅ ErfülltName, Rolle und Zustand aller interaktiven UI-Komponenten müssen via nativer HTML-Semantik oder ARIA programmatisch bestimmbar sein.

Testabdeckung: 2 jest-axe-Assertion(s) in 4 Testdatei(en) · 1 ARIA-Attribut-Vorkommen im Quellcode-Scan. Kriterien mit 🔍 erfordern manuelle Prüfung im finalen Integrations- und Theme-Kontext.

Storybook

👉 RichText in Storybook öffnen


Quellcode

src/components/rich-text/RichText.model.ts