Zum Hauptinhalt springen
Version: latest
Server-Komponente

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

Table

Table rendert barrierefreie tabellarische Daten mit Unterstützung für sortierbare Spalten, optionalen Sticky-Header, Zebra-Streifen und horizontalen Scroll-Container für responsive Layouts.


Übersicht

import { Table } from "@prokodo/ui/table"
;<Table
columns={[
{ key: "name", label: "Name", sortable: true },
{ key: "email", label: "Email" },
{ key: "role", label: "Role" },
]}
rows={users}
/>

Import

import { Table } from "@prokodo/ui/table"

CSS:

import "@prokodo/ui/table.css"

Props

PropTypStandardPflichtBeschreibung
captionstringZugängliche Tabellenbeschriftung.
ariaLabelstringARIA-Label für das Tabellenelement.
headerTableHeaderCellProps[]Spaltenkopf-Definitionen.
bodyTableRowProps[]Tabellenzeilen-Daten.
titlestringSichtbarer Titel oberhalb der Tabelle.
titlePropsHeadlinePropsProps für die Titel-Headline.
contentstringOptionale Beschreibung unterhalb des Titels.
type"double" | "single""single""double" — alle Rahmen; "single" — nur Zeilen-Rahmen.
containerClassNamestringCSS-Klasse auf dem Tabellen-Container.
classNamestringCSS-Klasse am Root-Element.

Siehe src/components/table/Table.model.ts für den vollständigen TableProps-Typ.


Design-Tokens

Anpassungen über CSS-Custom-Properties auf :root oder einem eingeschränkten Vorfahren-Element.

TokenStandardBeschreibung
--pk-table-border-colorvar(--pk-color-border)Rahmenfarbe der Zeilentrennlinien
--pk-table-header-accent-colorvar(--pk-color-brand)Akzentfarbe der ersten Kopfzeilen-Zelle
--pk-table-row-hover-bgcolor-mix(in srgb, var(--pk-color-brand) 8%, transparent)Zeilen-Hover-/Fokus-Hintergrundton
--pk-table-caption-colorvar(--pk-color-muted)Textfarbe der Caption
--pk-table-cell-fgvar(--pk-color-fg)Standard-Vordergrundfarbe der Zellen
--pk-table-padding-yvar(--pk-space-xl)Vertikaler Innenabstand der Zellen
--pk-table-padding-xvar(--pk-space-sm)Horizontaler Innenabstand der Zellen
--pk-table-container-pbvar(--pk-space-xl)Unterer Innenabstand des Root-Containers

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)✅ ErfülltDie 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.1.1Tastatur (A)🔍 Manuell prüfenAlle Funktionalität muss allein über Tastatur bedienbar sein, ohne Timing-Anforderungen.
2.4.3Fokusreihenfolge (A)🔍 Manuell prüfenDie Tastaturfokus-Reihenfolge muss im vollständigen seitenseitigen Integrationskontext Bedeutung und Bedienbarkeit erhalten.
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 1 Testdatei(en) · 1 ARIA-Attribut-Vorkommen im Quellcode-Scan. Kriterien mit 🔍 erfordern manuelle Prüfung im finalen Integrations- und Theme-Kontext.

Storybook

👉 Table in Storybook öffnen


Quellcode

src/components/table/Table.model.ts