Allow customizing or disabling the row tabindex for clickable rows
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.9k
- Forks
- 1.1k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 57
Description
Package
v4.x
Description
When using the row select event (@select) as shown in the documentation:
https://ui.nuxt.com/docs/components/table#with-row-select-event
the generated elements receive tabindex="0", making every row part of the keyboard tab order.
In large tables, this means users have to tab through potentially hundreds of rows before reaching the next focusable element, which can significantly hurt keyboard navigation.
It would be great if there were a way to customize this behavior, for example:
rowTabIndex?: number (e.g. -1)
focusableRows?: boolean
or a more generic rowAttrs/trAttrs prop to override attributes on the generated elements.
This would allow developers to keep rows clickable with the mouse while removing them from the sequential tab order when appropriate, without resorting to DOM manipulation after render.
Thanks for considering this!
Additional context
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Table documentation at ui.nuxt.com/docs/components/table#with-row-select-event and trace how clickable rows receive tabindex="0". Review the table component implementation to determine the supported customization point, then verify that row keyboard behavior can be customized or disabled without breaking row selection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nuxt, typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 56/100