Fix arrows navigation in the block more options menu #7480
Merged
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 the arrows navigation in the blocks More Options menu after recent changes in #7199
The new slot/fill implementation of the first menu item broke arrows navigation, for more details please refer to the related issue #7443
This PR tries to fix it passing the
deep
prop, which makes the menu get also the focusable element that are not direct children of the menu.Also, to make sure the
<div>
element used by Slot is ignored by assistive technologies and the accessibility tree is "flattened" and made only by menu > menuitem, it uses arole="presentation"
on the div. As with all the ARIA things, this doesn't affect anything for browsers as it's only used by assistive technologies. See the ARIA Authoring Practices, whererole="none"
(alias ofpresentation
) is used to flatten the tree:Ensuring to flatten the tree structure is important for the way assistive technologies perceive a menu, for example one of the reasons is they calculate and announce the number of items in the menu and their position:
How has this been tested?
To test:
Fixes #7443