[IndexTable] Merge IndexTable accessibility change from web #4004
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WHY are these changes introduced?
The IndexTable sticky header's bulk action checkbox can "steal" tab focus while still hidden due to it appearing higher in the dom than the non-sticky bulk action checkbox. This change was already merged in shopify/web with this pr, migrating the change here as well.
WHAT is this pull request doing?
This PR positions the sticky header out of the viewport so that the focus utility properly skips the hidden checkbox.
How to 🎩
🖥 Local development instructions
🗒 General tophatting guidelines
📄 Changelog guidelines
In the playground, open the
More actions
dropdown via the keyboard and tab through the dropdown options until it closes. With my changes, the next focused element after closing the dropdown is the select all checkbox.Copy-paste this code in
playground/Playground.tsx
:🎩 checklist
README.md
with documentation changes