v132 · CSS

Data Table Nav

A wide data table with ::scroll-button(inline-start) and ::scroll-button(inline-end) arrows for keyboard-accessible horizontal navigation. The native buttons are generated on the real scroll container, and the browser applies :disabled automatically at the scroll edges.

Native table scroll-button lab

selector parsing checking generated content rule checking disabled state rule checking
Repository comparison table native ::scroll-button CSS enabled
Repository Language Stars Forks Issues PRs Commits/mo License Last release Contributors Bundle MB Release type
reactJavaScript222k45.2k1,2478642MIT2024-041,7123.2stable
vueTypeScript207k33.7k5842128MIT2024-034562.7stable
angularTypeScript95k25.1k1,032143117MIT2024-041,8938.4LTS
svelteJavaScript78k4.1k7123956MIT2024-046341.8stable
next.jsTypeScript122k26.4k2,341215198MIT2024-043,10212.6stable
remixTypeScript29k2.5k2632831MIT2024-032844.1stable
astroTypeScript44k2.3k3794776MIT2024-045212.9stable

Pre-Chrome 132

Authors added real buttons, click handlers, scroll listeners, and disabled-state bookkeeping for every horizontally scrollable table.

Chrome 132+

The scroll container owns ::scroll-button(inline-start/end). CSS supplies the buttons and the browser owns their activation and :disabled edge state.

the API

see also