-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
[Menubar] Adds keyboard behaviors to the menubar, improves accessibility #3320
Open
tespin
wants to merge
84
commits into
processing:develop
Choose a base branch
from
tespin:refactor/menubar-a11y-keyboard-mouse
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
84 commits
Select commit
Hold shift + click to select a range
0164594
feat: added context values for keyboard navigation
tespin 656b740
feat: top-level keyboard navigation added
tespin ec66297
feat: implemented ref forwarding
tespin 66b57a6
feat: added submenu state variables
tespin dfb447d
feat: added id to MenubarItems for tracking
tespin 49e3ddb
feat: updated with relevant submenu states and key handlers
tespin a300c52
feat: menubaritem registers self and determines if active or not
tespin 93f963d
feat: base implementation of keyboard-navigable submenus
tespin ef6a71c
chore: code cleanup
tespin c636ccf
refactor: moved logo outside menubar for proper keyboard navigation
tespin 84202ce
fix: fixed inconsistent hook rendering in MenubarSubmenu
tespin 9fb7b9e
fix: fixed useEffect getting a boolean instead of dependency array
tespin ce789d7
refactor: renamed variables in preparation of state management refactor
tespin 63a6444
feat: added usePrevious hook for obtaining prev state value
tespin dc62a3b
refactor: migrated menu item collections from Array to Set
tespin d3ccf16
feat: added usePrevious hook for focus management
tespin f3555dc
refactor: migrated collections tracking for top level components from…
tespin f7f8438
fix: do not add menuitems to top level collection
tespin d41bd40
chore: code cleanup
tespin 05f779c
refactor: adding menuitems to submenu collections set
tespin 84edb18
refactor: menu tracking updated to use submenu id obtained from map l…
tespin 83f2233
chore: cleanup and removing array system
tespin e012bf3
feat: submenus correctly focus first item when pressing the down arro…
tespin a6d9234
chore: removed debugging logs and unused comments
tespin ff3f866
chore: removed old array system for tracking menu items
tespin 4c7414d
feat: added last() helper function for focusing last item
tespin dae30ba
feat: Menubar closes prev submenu and opens new one on arrow left or …
tespin fe673d4
fix: submenu wraps around correctly when index is reset to -1
tespin e5aff3b
feat: escape closes submenus and returns focus to previously focused …
tespin b28eb54
feat: pressing space opens the submenu if closed and activates focuse…
tespin 4543c71
fix: submenu handles Enter event so no need for Menubar to handle it
tespin 5eaadf0
chore: removed old state management variables
tespin a55cc1e
chore: removing unused ones from MenubarContext as well
tespin 584dc92
feat: tabbing out of submenu closes submenu and moves focus outside o…
tespin 6b95211
fix: explicitly added tabIndex to submenu items
tespin 8ef96ea
feat: space has same functionality as enter within submenus
tespin 626569a
feat: mouse hover states are synced with active menu indices
tespin bae193d
feat: base styles added for keyboard traversal and focus management
tespin 2576bac
refactor: adding state to manage focus events when outside menubar
tespin 0bcd0a7
fix: index updated appropriately when clicking on a submenu
tespin c582069
fix: focus styles for mouse events showing properly
tespin 9f37e63
fix: added role and tabIndex to address lint errors
tespin 8288ef6
fix: loosened the check for firing off the menubar key handlers
tespin 91744a7
fix: let submenu handle enter and space events when a trigger is focused
tespin 23825f9
fix: moved early return to top to fix rules of hooks error
tespin c099ab9
fix: improved HTML structure
tespin e55e427
fix: prevent submenus from closing prematurely during keyboard naviga…
tespin d78850c
fix: prevent focusing menubar container when focus moves into component
tespin 861b73b
chore: code cleanup
tespin 048ec3e
chore: code cleanup
tespin 66c3042
refactor: extracted key handlers into helper functions
tespin 8027b48
fix: submenu wraps correctly when going backwards
tespin 20a2be1
fix: submenuActiveIndex resets correctly when switching submenus
tespin ad6b912
chore: code cleanup
tespin 5c803fc
fix: tabbing within a submenu should not prevent default
tespin 49e85b9
turn about component into a page
raclim 72a0946
update routes and imports
raclim 307ba54
update styling and translations
raclim ee1cacd
add in translations and logo
raclim 327c596
remove SASS
raclim f5f4686
add styled components and rest of new content
raclim 1aade22
adjust padding
raclim 5656fbf
add theming and heart icon
raclim 3aaddce
refactor: move about into new module, separate AboutSection
raclim 8ede947
refactor: separate styles into About.styles
raclim a7e7612
refactor: separate about page content into static file
raclim ecd4aa4
fix: add missing translation for Get Involved section
raclim 47e188d
refactor: update class names, add hyperlink to email address
raclim 4a766e3
refactor: update translation title for about headline
raclim 9ca1ece
refactor: adjust spacing and syntax in style file
raclim de2c80a
fix: use margin instead of padding for footer
raclim f728347
2.15.7
raclim c3713d2
docs: added jsdocs to menubar components
tespin 86bd0bf
test: added unit test for Menubar and subcomponents
tespin 8be2676
fix: add aria-label to submenus
tespin 171021b
fix: disabled prop-types validation for mocked components in nav test
tespin da60d54
test: updated snapshots
tespin cb8001f
chore: fixed lint warnings and small optimizations
tespin 9e13d79
Merge branch 'develop' into refactor/menubar-a11y-keyboard-mouse
tespin fd425ae
chore: fixed lint warning
tespin 866f6fa
fix: removed 'title' from MenubarList proptypes
tespin 9fad82d
Merge branch 'develop' into refactor/menubar-a11y-keyboard-mouse
tespin 8a83fd3
Merge branch 'develop' into refactor/menubar-a11y-keyboard-mouse
raclim 5b198a2
Merge branch 'develop' into refactor/menubar-a11y-keyboard-mouse
tespin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.