Zum Hauptinhalt springen
Version: latest
Server-Komponente

Label wird bevorzugt auf dem Server gerendert. Nutze den Standard-Import (z. B. @prokodo/ui/label) — die Library erkennt die Umgebung automatisch.

Label

Label rendert ein semantisches Formular-Label mit optionalem Required-Indikator und konsistenter Typografie für Form Controls.


Übersicht

import { Label } from '@prokodo/ui/label'

<Label htmlFor="email" required>
Email address
</Label>
<input id="email" type="email" />

Import

import { Label } from "@prokodo/ui/label"

CSS:

import "@prokodo/ui/label.css"

Props

PropTypStandardPflichtBeschreibung
childrenReactNodeLabel text.
htmlForstringVerknüpft das Label mit der id eines Formularelements.
requiredbooleanfalseAppend a * indicator to signal the field is required.
disabledbooleanfalseApply disabled visual style.
classNamestringCSS class on <label> element.

Siehe src/components/label/Label.model.ts für den vollständigen LabelProps-Typ.


Design-Tokens

Passe Label über CSS Custom Properties auf :root oder einem übergeordneten Element an.

TokenStandardBeschreibung
--pk-label-gradient-fromvar(--pk-color-brand)Verlauf Start (erstes Wort)
--pk-label-gradient-tovar(--pk-color-accent)Verlauf Ende (erstes Wort)
--pk-label-fgvar(--pk-color-muted)Restliche-Wörter-Farbe
--pk-label-error-fromvar(--pk-color-error)Verlauf Start (Fehlerstatus)
--pk-label-error-to#ff6b6bVerlauf Ende (Fehlerstatus)

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.5Eingabezweck identifizieren (AA)🔍 Manuell prüfenFormularfelder, die persönliche Daten erfassen, müssen ihren Zweck via HTML-autocomplete-Attribut kommunizieren.
2.1.1Tastatur (A)✅ ErfülltAlle Funktionalität muss allein über Tastatur bedienbar sein, ohne Timing-Anforderungen.
2.4.7Fokus sichtbar (AA)🔍 Manuell prüfenAuf jedem interaktiven Element muss ein sichtbarer Tastaturfokus-Indikator vorhanden sein. Prüfung gegen das angewendete Produkt-Theme erforderlich.
2.4.11Fokus nicht verdeckt (Min.) (AA)🔍 Manuell prüfenDie fokussierte Komponente darf nicht vollständig durch Sticky-Header, Overlays oder andere positionierte Seitenelemente verdeckt sein.
3.3.1Fehlererkennung (A)🔍 Manuell prüfenEingabefehler müssen in Textform identifiziert und dem Nutzer beschrieben werden, nicht nur durch Farbe.
3.3.2Bezeichnungen oder Anweisungen (A)✅ ErfülltJedes Formularfeld benötigt ein programmatisch verknüpftes Label oder eine sichtbare Anweisung.
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: 3 jest-axe-Assertion(s) in 1 Testdatei(en) · 1 ARIA-Attribut-Vorkommen im Quellcode-Scan. Kriterien mit 🔍 erfordern manuelle Prüfung im finalen Integrations- und Theme-Kontext.

Storybook

👉 Label in Storybook öffnen


Quellcode

src/components/label/Label.model.ts