Labeling
- The grid should have an external label or surrounding context that explains the selection task.
- Cell labels should remain meaningful when read individually.
Keyboard Behavior
AnnouncementFocus the demo and press a key from the table.
| Key | Action |
|---|---|
| EnterSpace | Selects the focused cell. With selection='multiple' toggles it in or out of the selection. Disabled cells ignore the key. |
| →←↓↑ | Move the focus between cells as in DataGrid. Disabled cells are skipped unless excludeDisabled is false. |
| HomeEndPage DownPage Up | Move the focus to the first or last enabled cell of the row, or to the last or first row of the column, as in DataGrid. |
| Shift + ↓Shift + → | With selection='range' and a selected cell, moves the focus and extends the range to the new cell. expandable={false} turns it off. |
Focus Behavior
- One cell is active at a time.
- Disabled or excluded cells should not become the active destination when product rules forbid them.
- Real flows should test focus after range expansion and pointer dragging.
Screen Reader Semantics
- The final semantics depend on the composed grid and cell layer.
- Higher-level consumers should preserve clear announcements for active, selected, and unavailable cells.
Accessibility Risks
- hiding active or selected state visually
- using unstable cell labels that make grid navigation confusing
- shipping a dense selection matrix without contextual instructions