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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add action to return focus to menu button for improved accessibility #1185

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

glunn
Copy link

@glunn glunn commented Mar 30, 2021

Hi Ember Paper community 馃憢 聽 first time contributor here.
I've outlined a bug and one possible solution for it. Happy to help with another approach or add tests for this one if you find it useful, would love to see this fixed. Thanks for publishing this add-on : )

Overview
Preserving focus is important for users who rely on the keyboard to navigate. This PR would return focus to the menu button on close.

Steps:

  1. Open a menu with a mouse click or the space key.
  2. Close menu (press esc or select one of the items using enter or a click).

Expected behavior
When the menu dialog is closed, focus should return to the element that invoked it.
Restore Focus
(Above gif shows a user navigating via the keyboard and closing the menu using esc, focus is returned to the menu button.)

Current behavior
Focus is "lost" and users have to re-navigate from the beginning of the page.
Lost Focus
(Above gif shows a user navigating via the keyboard and closing the menu using esc, focus is sent to the top app level and the user has to start over.)

Documentation
Additional details are available in the: WAI-ARIA Authoring Practices (Menu)
Implementations of material design in other frameworks have stumbled across the same issue: angular/material#11678

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant