StructuredList

Tabular row list for scannable data, optionally single-selectable

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

Variants

States

Props

PropTypeDefaultDescription
labelstring—Alias of `ariaLabel` — the same invisible accessible name under the other spelling. Neither is deprecated.
ariaLabelstring—Invisible accessible name. The catalog convention; the DOM spelling `aria-label` is accepted as an alias so either guess compiles.
aria-labelstring—Accessible 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.
valuestring—The controlled value.
defaultValuestring—The initial value when uncontrolled.
onSelect(id: string) => void—Called 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