Data and analytics · §5.23

Data table

The board, queues and admin lists: sortable, keyboard-driven, virtualised.

Density
Rows
Theme
Contrast
Language
Motion
Text size
<DataTable aria-label="Board" columns={columns} data={rows} density="dense" onRowActivate={open} t={t} />

Accessibility

  • Sortable headers are buttons with aria-sort; ↑/↓ move between rows, Enter opens.
  • Virtualised tables keep aria-rowcount and aria-rowindex.
  • Below md, rows become cards with the same fields.

Usage

Do

  • Tabular numbers, right-aligned.
  • Virtualise from 100 rows.

Don't

  • Never colour alone for alerts.
  • Initials and location only on shared screens.

Platforms

Web
apps/web/components/edflow/data-table.tsx, apps/web/components/ui/table.tsx
iOS
SwiftUI Table / List
Android
Compose LazyColumn