KeyTable Extension
Keyboard navigation for DataTables cells and rows
When To Use
Use KeyTable for keyboard-first workflows, data entry, and power-user grids.
Minimal Example
use Pentiminax\UX\DataTables\Model\Extensions\KeyTableExtension;
$dataTable->addExtension(new KeyTableExtension());
Advanced Example
$dataTable->addExtension(
new KeyTableExtension(
blurable: false,
className: 'cell-focus',
clipboard: true,
clipboardOrthogonal: 'display',
columns: ':not(:first-child)',
editOnFocus: false,
focus: [0, 1],
keys: [37, 38, 39, 40],
tabIndex: 0,
)
);
columns is a DataTables column-selector string restricting which columns can be focused (default
'' allows every column). focus is a [row, column] pair to focus on load. keys restricts
which key codes KeyTable listens for; omit either to keep DataTables’ defaults (no initial focus,
every key).
Frequent Pitfalls
- Not testing keyboard interactions with Select/Scroller combinations.
- Missing focus styling in custom CSS themes.