Skip to content
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

fix(Dropdown): allow keyboard navigation on nested dropdowns #217

Conversation

beawar
Copy link
Contributor

@beawar beawar commented Sep 1, 2023

  • refactor: separate functions in useKeyboard

  • test: reorganize test utils and export extended screen and within

  • test: add test for keyboard usage of Dropdown

  • fix(Dropdown): allow keyboard navigation on nested dropdowns

    Refactor nested dropdown to have the same keyboard shortcut of the main list
    Allow the opening of the nested dropdown with ArrowRight
    Allow the closing of the nested dropdown with ArrowLeft and Escape
    Set focus on nested dropdown trigger when closing the nested dropdown
    Manage the opening and closing of the nested dropdown with an internal listener
    instead of an external state
    Remove timeouts where possible

  • fix(Button): set focus on primary button when grid is focused

  • docs(Dropdown): add keyboard shortcut section

refs: CDS-182 CDS-138 CDS-70

Refactor nested dropdown to have the same keyboard shortcut of the main list
Allow the opening of the nested dropdown with ArrowRight
Allow the closing of the nested dropdown with ArrowLeft and Escape
Set focus on nested dropdown trigger when closing the nested dropdown
Manage the opening and closing of the nested dropdown with an internal listener
instead of an external state
Remove timeouts where possible

refs: CDS-182 CDS-138 CDS-70
@beawar beawar self-assigned this Sep 1, 2023
Set tabindex to -1 to allow to external container to get focus
programmatically only. When grid get focused, set the focus to the primary
button.
…items-at-the-top-and-end-of-the-list-and-update-the-logic-of-the-keyboard-navigation-to-consider-the-first-and-last-elements-as-start-and-end-sentinels-for-the-keyboard-navigation
@beawar beawar marked this pull request as ready for review September 4, 2023 08:50
@beawar beawar requested review from a team as code owners September 4, 2023 08:50
gnekoz
gnekoz previously approved these changes Sep 13, 2023
src/testUtils/custom-queries.ts Outdated Show resolved Hide resolved
lisaparma
lisaparma previously approved these changes Sep 14, 2023
…entinel-elements-white-items-at-the-top-and-end-of-the-list-and-update-the-logic-of-the-keyboard-navigation-to-consider-the-first-and-last-elements-as-start-and-end-sentinels-for-the-keyboard-navigation
@CataldoMazzilli CataldoMazzilli merged commit 18b5519 into devel Sep 20, 2023
@CataldoMazzilli CataldoMazzilli deleted the CDS-183-Remove-the-sentinel-elements-white-items-at-the-top-and-end-of-the-list-and-update-the-logic-of-the-keyboard-navigation-to-consider-the-first-and-last-elements-as-start-and-end-sentinels-for-the-keyboard-navigation branch September 20, 2023 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants