Table
An interactive data grid with keyboard navigation, sortable columns, row selection and row actions.
Paste this into your agent.
Table is for rows people work with: sorting, selecting, opening or running a command on a record. It acts as one tab stop with arrow-key movement, and leaves data loading, paging and sorting logic to your app.
Install
bashnpx shadcn@4.18.0 add @siteplane/table
Import it from @/siteplane/components/table. The project needs Siteplane UI's one-time setup first: .
When to pick it
- vs : Pick Native Table for read-only content or cells full of inputs that need their own tab stops.
- vs : Pick Resource List for a one-column list of entities with a status marker and a little metadata.
- vs : Pick Data List to show the fields of a single record.
Rules
- Put
TableHeadcells directly inTableHeader, mark the identifying column withisRowHeader, and give rich rows a plaintextValue. - Give the table a name with
aria-label,aria-labelledbyor a directTableCaption. - For sorting, set
allowsSorting, handleonSortChange, updatesortDescriptorand reorder the data yourself. - For bulk selection use
selectionMode="multiple"withselectionTrigger="checkbox"andTableSelectionCheckbox, and handle aSelectionthat can be the string "all". - Show empty results with
TableBody renderEmptyState, and setaria-busyon the surrounding region while loading since there is no loading prop. - Let wide tables scroll inside their container instead of squeezing columns.
Reference
Add to your agent
Print this skill from the terminal, or connect the whole catalog over MCP. Setup guides
CLI
MCP server
Questions
Related skills
Accessible Focus Statesby UI Skillbook
Keep a visible, high-contrast focus indicator on every interactive element, without a generic browser outline or none at all.
Accessibility
Better Accessibilityby jakubkrehel
Review and improve focus states, keyboard support, ARIA, forms, screen readers, hit areas, and motion accessibility.
AccessibilityExternalGitHub stars: 9.2K
Build Primitiveby PrototyperAI
Build foundational UI primitives from scratch with strong ARIA, keyboard, focus, and state handling.
AccessibilityExternalGitHub stars: 7
Link Purposeby AccessLint
Compatibility listing for link-purpose installs from AccessLint's marketplace skill set.
AccessibilityExternalGitHub stars: 114