-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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 gets trapped outside dialog when using VoiceOver #11502
Comments
I believe they are separate issues. In this issue, opening the modal not only doesn't move focus but the elements on the screen aren't interactable at all, even if you manually try and move the VoiceOver focus over to them, unless you trigger the 'open' a second time. |
Yep, you're right. I just tested a quick fix. The focus part only is the duplicate. The need to click twice is specific to mobile. And clicking twice isn't always a work around. Something fishier is going on. For example, turn on VoiceOver and try to open an entity's settings dialog from the entities table... |
I don't know if this is of any benefit to you. But in modal dialogues, setting the tabindex to -1 has often helped me to set and retain focus within the contents of that modal dialogue. |
I am trying to work on this bug and just wanted to report some findings:
Code seems to be stuck inside the update cycle for the dialogs, but I haven't figured out where and why yet. If the first behavior occurs, the second click clears the glitch for some reason. |
Bad news is I've ruled out a bunch of stuff but still haven't figured this one out. Good news is that there's a consistent work-around. When VoiceOver is enabled, issue a double click to any button that opens a dialog (i.e. a quadruple tap after the button is selected). That seems to consistently open the dialog and set focus per #10754 which I'm also working on. Can someone with access to android test this with Talkback enabled please and report the behavior? I don't have any android devices at the moment. |
I had some more time to debug this one and traced the root cause to historically buggy implementation of |
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. |
Still very much an issue |
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. |
Definitely still an issue |
My comment above was indeed correct - this is a bug in webkit with I finally worked out a good patch for this, only to notice that very recent versions of webkit have now fixed it, probably with one of these bugs:
I cannot reproduce the issue now on iOS 16.2, but definitely still occurs on 15.6.1. @zacwest can you corroborate this or narrow the version further? I'm not even sure if this is iOS specific or also occurs on Mac. I think I'll still create a PR for the patch to support devices no longer getting updates. |
Yeah this seems fixed for me in newer iOS. It's not super pleasing where the focus lands in the modal, though -- seems like it's the first text element inside, but it reads the previous screen's value while it's selected. Moving forward or back among the elements does read the right thing though. |
Where the focus lands initially is what I've been working on as part of #10754, which got a little broken for more-info dialogs when they were merged with entity settings. It should always land on the current tab now. I need to fix that. Do we have any analytics on what versions of iOS users are on? Wondering if I should bother with a fix now. |
Generally industry practice is to focus on latest versions for accessibility so it may not be worth worrying too much. Our opt-in rate for analytics on iOS is 24% and shows about 87% on iOS 16+. |
Is there a separate opt-in for iOS? I don't see it in the app settings. Given the high percentage though, I think we can mark this resolved. |
Yeah it's an iOS-wide setting called "Share with App Developers." The app itself doesn't have analytics. |
Checklist
Describe the issue you are experiencing
When opening a more info panel, none of the elements within are exposed to VoiceOver and it is not possible to dismiss the panel. Note in the STR below there is some nuance here that can make it work for the moment.
Describe the behavior you expected
Focus is moved to the more info panel and it is interactable.
Steps to reproduce the issue
I would expect when the activation occurs it also moves focus.
What version of Home Assistant Core has the issue?
dev, frontend fb55ab1
What was the last working version of Home Assistant Core?
No response
In which browser are you experiencing the issue with?
No response
Which operating system are you using to run this browser?
No response
State of relevant entities
No response
Problem-relevant frontend configuration
No response
Javascript errors shown in your browser console/inspector
No response
Additional information
Refs #8178.
The text was updated successfully, but these errors were encountered: