StructuredList

Tabular row list for scannable data, optionally single-selectable

Category: display · WCAG 2.2-AA · display, list, table, data

Variants

States

Props

PropTypeDefaultDescription
ariaLabelstringInvisible accessible name. The catalog convention; the DOM spelling `aria-label` is accepted as an alias so either guess compiles.
aria-labelstringAccessible label for the list table.
items{ id: string; cells: ReactNode[]; selected?: boolean }[]The items to render.
headersReactNode[]The column header cells.
selectablebooleanfalseWhen true, rows can be selected.
valuestringThe controlled value.
defaultValuestringThe initial value when uncontrolled.
onSelect(id: string) => voidCalled with the selected value.

Design tokens

When to use

When not to use

How to build an accessible StructuredList in React →

Examples

Static

<StructuredList headers={["Name", "Role"]} items={[{ id: "a", cells: ["Ada", "Engineer"] }]} />

Selectable

<StructuredList selectable defaultValue="a" items={[{ id: "a", cells: ["Ada"] }, { id: "b", cells: ["Grace"] }]} onSelect={(id) => set(id)} />

Related components

← Back to docs