-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RAC] Table typeahead captures all keyboard input, leaving none for nested Inputs #6037
Comments
Supporting editable text inputs inside Table cells is a larger issue under #2328 I do think I think we would need a better reason to allow passing disallowTypeAhead into Table, since it's a feature keyboard users may expect. |
Of course tables are better with typeahead, and a grid edit mode would be amazing, but I don't see a timeline (or even a single response) on #2328, presumably because it's a big project and there's a lot to get right. I want to benefit from the many accessibility improvements y'all have baked into tables, but when I run into a deal-breaker like this one, it forces my hand to use different tech to power my table, at which point I'll be parting ways not only with the typeahead, but also with all the other accessibility features baked into RAC tables. I think the coupling makes this decision unnecessarily all-or-nothing. If there's one thing |
Even with disabling typeahead now, you'll still run into keyboard accessibility issues with having text fields inside grid cells, so I don't think this is a good use case for RAC Table at the moment unfortunately. |
Provide a general summary of the issue here
I've got a table like this, where the inputs can't capture a single keystroke, because the table hungrily swallows them all:
🤔 Expected Behavior?
I'd love for the inputs to Just Work™ in a situation like this.
😯 Current Behavior
Screen.Recording.2024-03-10.at.10.02.48.PM.mov
💁 Possible Solution
useTypeSelect
to be using the capture phase? If it used the bubble phase, the inputs themselves could choose if/when to stop propagation.useSelectableCollection
already takes adisallowTypeAhead
prop, but there's not currently a way to drill that all the way down through<Table>
→useTable
→useGrid
→useSelectableCollection
.🔦 Context
#1214 is a 3-year-old ticket that mentions that tables swallow spaces, but somehow fails to mention that tables can also swallow all keystrokes as long as the input is matching the value of a row header.
🖥️ Steps to Reproduce
https://codesandbox.io/p/sandbox/old-voice-k5n9p4
Version
"react-aria-components": "^1.1.1"
What browsers are you seeing the problem on?
Chrome
If other, please specify.
No response
What operating system are you using?
macOS
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response
The text was updated successfully, but these errors were encountered: