You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(action menu): keyboard accessibility omnibus (#5031)
* fix(menu): added rovingTabindexController and removed aria-activedescendant
* fix(menu): fixes firefox keyboard navigation and call stack issues
* test(menu): updates menu test based on changes
* test(menu): adds click test for accessibility
* test(menu): menu itself should delegate focus to active item
* fix(menu): fixed menu group navigation according WAI ARIA APG
* fix(reactive-controllers): complex element delegates focus to active child WAI ARIA APG
* fix(menu): components should delegate focus
* fix(menu): update keyboard nav to match WAI ARIA APG
* fix(menu): updated docs to reflect preferred accessible method
* fix(menu): selection and keyboard navigation according to APG
* test(menu): updated to recommended a11y behavior from APG
* docs(menu): reverted docs but fixed typos
* fix(menu): removed unused map
* test(menu): updated test to match changed group id
* test(menu): keyboard selection is fixed
* test(menu): updated to reflect WAI ARIA APG
* fix(picker): picker should delegate focus
* fix(action-menu): fixed a11y error message
* fix(picker): according to APG ArrowDown should focus on first item
* test(action-menu): updated tests for focus delegation and APG keyboard nav
* fix(picker): ensure overlay is open before setting focus
* fix(menu): removed extra focus
* chore: added changeset
* fix(picker): prevents the picker button from getting focus when menu is first updated
* fix(menu): fixes preventDefault behavior when Space is pressed
* fix(menu): accounted for action menus with no selection
* fix(picker):sets focus on first selected item
* fix(picker): focuses on 1st selected item when opened via kbd
* test(picker): updated tests based on APG kbd nav
* fix(menu): when I menuitem with a submenu closes
* fix(picker): leverages RTI for ArrowLeft/ArrowRight
* fix(picker): leverages RTI for ArrowLeft/ArrowRight
* test(picker): adjusted tests based on a11y requirements
* fix(picker): fixed accessibility warning
* fix(picker): resolves opening and closing tests
* fix(menu): resolves test by setting focus after scrolling
* fix(picker): resolves mobile test
* test(menu): updated tests for focus delegation
* fix(picker): ensures that slotted labels don't get a11y warning
* fix(picker): resolves menu close issue
* fix(menu): fixed prev and next item
* fix(picker): fixed left-right arrow keys
* test(tray): debugging VO/iOS tray
* fix(menu): resolves submenu tests
* fix(menu): added some temporary debugging logic and comments
* test(action-menu): removed test that no longer applies to a11y
* fix(action-menu): fixed menu closing issue, added docs, and removed temporary debugging
* test(action-menu): fixed test based on focus behavior when an item is selected
* merge: merge from main
* merge: merge from main
* test(combobox): removing aria-activedescendant references until a combobox solution is implemented
* test(combobox): removing aria-activedescendant references until a combobox solution is implemented
* test(combobox): added skipped tests back
* fix(combobox): resolves timing issues with updated menu
* test(combobox): updated test docs
* chore(combobox): removed debugging
* docs(combobox): updated webkit escape hatches
* test(combobox): removed isWebkit since escape hatch is not needed
* test(tabs): removed test that does not follow WAI ARIA APG
* fix(controllers): delegates focus setting until all other components using controllers are reviewed for a11y,
* fix(controllers): fix(controllers): delegates focus setting until all other components using controllers are reviewed for a11y,
* test(action-menu): fixed typo
* test(action-menu): fixed typo
* chore: fix menu tests with comments for skips
* chore: cleanup
* chore: rebuilt stylesheet
* chore: dialog stylesheet
* chore: dialog stylesheet
* chore: modified pre-commit hook temporarily and fix spectrum-dialog.css
* chore: revert hook
* fix(menu): ensures menu used focus delegation
* fix(action-group): should delegate focus
* fix(action-group): prevents submenu events from reaching action group
* fix(action-group): prevents submenu events from bubbling
* fix(action-group): preventing submenu actions from being handled by action group
* fix(action-menu): prevents submenu key events from being handle by action group
* chore: added tons of comments to picker test
* chore: added comments to action menu test
* chore: added comments to action group test
* fix(picker): fixed focus delegation
* fix(menu): allows Escape to bubble to action menu and picker
* fix(picker): fixes escape key and disabled closing
* fix(picker): fixes escape key and disabled closing
* test(menu): added more info to submenu test
* fix(reactive-controllers): fixed failing reactive-controller tests
* fix(picker): resolves focus styles in VRT
* docs(tray): added a story to test buttons in tray on mobile
* docs(tray): removed unnecessary story
* docs(action-menu): added an example for #4623
* fix(menu): fixes for menu focus issues on chromium as well as updating menuitems
* fix(menu): resolved all but a WebKit timeout on removal
* chore: reverting last commit
* fix(menu): fixes failing tests related to mutations
* chore: styles from update from main
* test(menu): removed skip from removal test
* fix(combobox): fixes combobox focus issue
* chore: updated CSS
* chore: updated golden hash
* fix(menu): menu item removal and focus
* fix(menu): fixed aria-expanded in submenus
* fix(menu): ensures sunmenu recieves focus when opened
* fix(picker): ensures focus is not lost when overlay closes
* fix(menu): resolves menu removal issue
* chore: updated hash for new stories and a11y behaviors
* fix(action-menu): resolves action-menu timeout
* test(picker): fixed test based on a11y focus
* test(picker): fixed timeout on picker test
* test(action-menu): replaced removed test
* chore(picker): fix missing import from merge
* chore(picker): fixed merging issue
* chore: reverting hash to main for comparison
* fix(picker): focus should be managed by user not initial state
* fix(picker): picker overlay should only focus with a user action
* fix(picker): picker overlay should only focus with a user action
* test(picker): fix timeout
* test(picker): visual diffs because focus should only be set by user action
* fix(menu): made submenu items focusable after open
* fix(menu): fixes menuitem focus
* test(menu): temporarily skipping Chrome
* chore: reverting to main has for comparison
* fix(menu): fixed menu test
* fix(menu): fixed menu test
* chore: updated golden images hash
* fix(menu): fixes VoiceOver submenu focus Issue
* fix(picker): retains focus after user closes menu
* test(picker): uncommented tests
* test(picker): fixed focus throw test
* test(picker): removed `only`
* test(picker): added test for retaining focus
* chore: resolved hash conflict
* chore: reverting hash to resolve
* chore: updating hash
* chore: reverting hash
* chore: reverting hash
* chore: reverting hash
* chore: updating hash again
* test(action-menu): added tests for returning focus
* test(action-menu): added a11y test
* test(action-menu): added a11y test
* tes(action-menu): removed an `only`
* test(action-menu): fixed linting issue
---------
Co-authored-by: Casey Eickhoff <ceickhoff@adobe.com>
'@spectrum-web-components/reactive-controllers': minor
3
+
'@spectrum-web-components/action-menu': minor
4
+
'@spectrum-web-components/picker': minor
5
+
'@spectrum-web-components/menu': minor
6
+
---
7
+
8
+
Used WAI ARIA Authoring Practices Guide (APG) to make accessibility improvements for `<sp-action-menu>`, `<sp-menu>`, and `<sp-picker>`, including:
9
+
- Numpad keys now work with `<sp-picker>` and `<sp-action-menu>`
10
+
-`<sp-action-menu>`'s `<sp-menu-item>` elements can now be read by a screen reader ([#4556](https://github.com/adobe/spectrum-web-components/issues/4556))
11
+
-`<sp-menu-item>` href can now be clicked by a screen reader ([#4997](https://github.com/adobe/spectrum-web-components/issues/4997))
12
+
- Opening a `<sp-action-menu>`, `<sp-menu>`, and `<sp-picker>` with a keyboard now sets focus on an item within the menu. ([#4557](https://github.com/adobe/spectrum-web-components/issues/4557))
13
+
14
+
See the following APG examples for more information:
15
+
-[Navigation Menu Example](https://www.w3.org/WAI/ARIA/apg/patterns/menubar/examples/menubar-navigation/)
Copy file name to clipboardexpand all lines: packages/menu/menu-item.md
+28-5
Original file line number
Diff line number
Diff line change
@@ -95,12 +95,35 @@ Content assigned to the `value` slot will be placed at the end of the `<sp-menu-
95
95
An `<sp-menu-item>` can also accept content addressed to its `submenu` slot. Using the `<sp-menu>` element with this slot name the options will be surfaced in flyout menu that can be activated by hovering over the root menu item with your pointer or focusing the menu item and pressing the appropriate `ArrowRight` or `ArrowLeft` key based on text direction to move into the submenu.
0 commit comments