fix(menu): multi-select keyboard selection and esc key closing #5826
+168
−8
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.
Description
Fixes a critical keyboard accessibility bug in
<sp-menu selects="multiple">:Double-toggle bug: Space/Enter keys toggled selection twice, making items appear unselectable
Problem
Users reported that keyboard interaction was broken for multiple selection menus:
Changes
1. Fixed double-toggle in Menu.ts
File:
packages/menu/src/Menu.tsThe keyboard handler was calling
selectOrToggleItem()twice - once through.click()and once directly:if (key === ' ' || key === 'Enter') { event.preventDefault(); + // The click() method already triggers selection via handlePointerBasedSelection + // so we don't need to call selectOrToggleItem again here. root?.focusElement?.click(); - if (root) this.selectOrToggleItem(root); return; }Motivation and context
Related issue(s)
Screenshots (if appropriate)
Author's checklist
Reviewer's checklist
patch,minor, ormajorfeaturesManual review test cases
Descriptive Test Statement
Device review