Zum Hauptinhalt springen
Version: latest
Universell einsetzbar

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

CheckboxGroup

CheckboxGroup manages a set of related Checkbox inputs as a multi-select group. Handles selection state, accessible grouping, and error display for the group as a whole.


Übersicht

import { CheckboxGroup } from "@prokodo/ui/checkbox-group"
;<CheckboxGroup
legend="Interessen"
options={[
{ value: "design", title: "Design" },
{ value: "dev", title: "Entwicklung" },
{ value: "marketing", title: "Marketing" },
]}
values={selected}
onChange={setSelected}
/>

Import

import { CheckboxGroup } from "@prokodo/ui/checkbox-group"

CSS:

import "@prokodo/ui/checkbox-group.css"

Props

PropTypStandardPflichtBeschreibung
legendReactNodeFieldset-Legendentext.
hideLegendbooleanfalseLegende visuell ausblenden (bleibt barrierefrei).
legendPropsobjectProps an das Legendenelement weitergeben.
ariaLabelstringBarrierefreie Bezeichnung des Fieldsets.
optionsCheckboxGroupOption[]Array von Checkbox-Einträgen.
valuesT[]Gesteuerte ausgewählte Werte.
defaultValuesT[]Unkontrollierte Ausgangswerte.
hiddenInputNamestringVersteckter Input-Name für die Formular-Übermittlung.
disabledbooleanfalseAlle Checkboxen deaktivieren.
requiredbooleanfalseFeld als Pflichtfeld markieren.
layout"stack" | "grid""stack"Layout der Checkbox-Einträge.
variant"plain" | "card""plain"Visuelle Variante für alle Checkboxen.
colorVariantsFarbakzent-Variante.
onChange(values: T[]) => voidWird bei Auswahlwechsel aufgerufen.
classNamestringCSS-Klasse am Root-Element.

Siehe src/components/checkbox-group/CheckboxGroup.model.ts für den vollständigen CheckboxGroupProps-Typ.


Design-Tokens

CheckboxGroup erbt dieselben Tokens wie Checkbox. Vollständige Liste: Checkbox — Design-Tokens.

AIC-Hinweis

Verwende im Anwendungscode immer den Standard-Importpfad:

import { CheckboxGroup } from "@prokodo/ui/checkbox-group"

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.4.1Verwendung von Farbe (A)🔍 Manuell prüfenFarbe darf nicht das einzige Mittel zur Informationsvermittlung sein (z. B. Fehlerhinweise, Pflichtfeldmarkierungen).
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.
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: 1 jest-axe-Assertion(s) in 5 Testdatei(en) · 3 ARIA-Attribut-Vorkommen im Quellcode-Scan. Kriterien mit 🔍 erfordern manuelle Prüfung im finalen Integrations- und Theme-Kontext.

Storybook

👉 CheckboxGroup in Storybook öffnen


Quellcode

src/components/checkbox-group/CheckboxGroup.model.ts