-
Notifications
You must be signed in to change notification settings - Fork 16
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
Focus on Layer Menu Item or Link if Remove Button is clicked #600
Focus on Layer Menu Item or Link if Remove Button is clicked #600
Conversation
Works very well, tests too. Good work! |
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.
👍
mapEl.removeChild(e.target.closest("fieldset").querySelector("span").layer._layerEl); | ||
elem = elem ? root.querySelector(".leaflet-control-attribution").firstElementChild: elem = root.querySelectorAll('input')[fieldset]; | ||
setTimeout(() => elem.focus(), 800); // a timeout is set so "pressed remove layer" is announced first |
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.
This timeout seems to cause NVDA (using Chrome) to announce the document title + map then next layer/link, I'm not hearing "pressed remove layer". In that sense I think doing without the timeout provides a better experience?
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.
Using a Mac and voiceover, I hear "pressed remove layer", but if that's the case with NVDA, I could remove the timeout for better consistency
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.
if that's the case with NVDA, I could remove the timeout for better consistency
There doesn't seem to be a whole lot of guidance on the desired behavior when removing/hiding the currently focused element. But I think removing the timeout provides a similar experience to when e.g. dialog elements are hidden as a result of closing it: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog#result
Once a layer is removed using the layer control, the focus shifts to the next layer menu item, if it exists, or the attribution link
Closes #589