-
Notifications
You must be signed in to change notification settings - Fork 29.5k
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
Orca can't be stopped in native dialogs #121811
Comments
ping @isidorn @joanmarie |
I can take a look later, but if Orca doesn't interrupt speech and Orca commands fail to work then that means Orca is not being notified of input events. |
@alex19EP was this working before? |
@isidorn The problem manifested itself after upgrading to electron version 12.04. |
If flat review mode doesn't work at all (as opposed to presenting the wrong object), that's the same problem: Orca doesn't know you pressed any key (e.g. the key to review the current word/line/char/object/etc.). |
Also assigning to @deepak1556 for the electron update |
looks to me like chrome regression as this probably also doesn't work in newest unstable. Was like that for some time, but because I haven't updated for few weeks, not sure. |
Any news regarding this issue? It is still present in the version that uses electron 12.0.12. Thanks. |
but, newer chrome-dev doesn't seem to have it, so I think it's gonna be fixed soon. |
I tried to search for this issue in the Chromium repository but I failed. |
Except for errors on my part, this problem is still present even after updating to electron 16. |
@webczat you mentioned that newer chrome versions have this fixed? Can you confirm that in the latest stable chrome this is working? |
hmm that is kinda weird because this bug seems to disappear and reappear. my current test after update few days ago is: |
@webczat would you be so kind to file an issue https://bugs.chromium.org/p/chromium/issues/list |
Without wanting to be annoying, the problem still exists for me in the vSCode version that uses electron 17.1.1. |
The bug (fixed in 2020) is https://bugs.chromium.org/p/chromium/issues/detail?id=1042864 which landed in 86.0.4199.0. Regarding what @webczat stated about it became unfixed, newer versions of Chrome/Chromium for some reason do not autofocus the open/save-as dialogs. This is true for all users rather than an accessibility thing. I have to press Alt+F6 or click on it before I can interact with it. But once that dialog is focused, Orca's commands work for me. |
Just in order to help, I'm posting here the steps I use to reproduce the problem.
The orca is not silenced even if I press other keys. I need to wait for it to announce all the text so I can go back to interacting with the keyboard. |
@jvesouza: Thanks! I'm afraid the TL;DR version is "Yup. I know. Did the Chromium bug fix I mentioned make it into Electron yet?" Here's the long version: I can reproduce it, just as you described. I'm afraid it's still https://bugs.chromium.org/p/chromium/issues/detail?id=1042864. The title/summary of that bug is "Key events are not emitted for native dialogs (Open, Save As, VSCode's About)". Here are some Orca-free steps to reproduce the problem described by @jvesouza:
Expected results: All key presses would show up in the terminal
That's it. No Tab (which I pressed a ton) and no Escape. Nothing gets logged until I exit that "About" dialog. In other words, Orca has no idea that you pressed any keys as soon as you are in the About dialog. Ditto for Open and Save As. Why that impacts this VSCode bug: Orca shuts up speech in response to your pressing keys. If it doesn't know you pressed a key, it cannot do the shutting up. See my earlier comment. Similarly, Orca commands work by being notified of key presses and then determining a given key press matches an Orca command. For instance, if Orca knows you pressed KeyPad 8, it reviews the current line. If the app doesn't tell Orca you pressed KeyPad 8, crickets. See this comment. Having said all that, the fix for the Chromium issue can be found on the bug itself. Here is a direct link to the commit. Again, it landed in 2020 and Orca commands work for me in native dialogs in Chrome/Chromium. So either the fix is not yet included in the versions of Electron being used, or we have an unaddressed variant of the same bug. Make sense? |
@joanmarie latest VS Code Insiders uses Electron 17 that uses Chrome 98 so that fix is in. |
Interestingly, a similar issue was reported at #93056 and was fixed in electron version 11. |
That is interesting. I wonder what the difference is.... In the meantime I filed https://bugs.chromium.org/p/chromium/issues/detail?id=1306015. |
@joanmarie thanks a lot for filling this issue. If it does not get traction I can also try to ping Google people. |
Once again, forgive me for being annoying, but now that VSCode is using Electron 22, is there any possibility of fixing this bug? |
@jvesouza thanks for the ping. I know @deepak1556 has this on the plan and plans to investigate more this or next milestone. I expect us to have more details soon. Thank you for your understanding. |
I don't have an explanation but it looks like this problem is gone. from the moment I started using the 45-alpha version of orca. |
@jvesouza: That would make sense. Due to issues related to Gtk4, Wayland, etc., we can no longer count on getting input events. 😞 We use (or rather used to use) input events to interrupt speech. Now, sadly, we have to do this heuristically. It sounds like we're getting it right for VS Code with native dialogs. Yay! You may find other instances where speech gets incorrectly cut off, which should be reported on the Orca list and/or GitLab. @isidorn et al.: With respect to this issue here, please note: I do NOT intend to backport the heuristics into earlier versions of Orca because I expect there will be regressions (plural). Heuristics are hard. Thus having the input events from the native dialogs used by VS Code will still be a requirement for Orca v44.x and earlier. Please and thank you. 😄 |
@jveszoua thanks for letting us know. @deepak1556 not sure if there is an easy fix on our side? If not, I am fine that we post-pone this issue since it is fixed with latest Orca. |
I ended up not mentioning it in my previous comment, but the flat review mode is also working in this case. |
@isidorn: You forgot the fingerquotes around "fixing". 😛 (The history of accessible input events in Linux is a long and contentious one.) Also, you obviously should do what makes the most sense for your project. However, please be aware that Orca v45 (not released) requires the very latest version of AT-SPI2. As a result, Orca users not running the very latest version of their distro -- including those running LTS versions -- might not see this Orca "fix" for a while (years in the LTS case). |
@joanmarie thanks for clarifying 😄 |
@isidorn we essentially need 1 of the following 2 things for a fix. Implement a libportal-based file chooser dialog in Electron or inherit the file chooser dialogs from Chromium. I brought this up in the linked Electron issue somewhere above, but there has been no movement from their side. The other option is to just revert the offending Electron commits. |
I don't know what changed, but the fact is that this problem also disappeared when I use version 44 of orca. |
I will optimistically go ahead and close this issue. Since we have updated electron multiple times. |
Issue Type: Bug
open any native dialog about or check for updates.
press ctrl to stop speech.
orca should stop talking.
this issue similar to #93056
VS Code version: Code - Insiders 1.56.0-insider (b4816cf, 2021-04-20T07:24:33.853Z)
OS version: Linux x64 5.11.15-arch1-2
System Info
gpu_compositing: enabled
multiple_raster_threads: disabled_off
oop_rasterization: disabled_off
opengl: enabled_on
rasterization: disabled_software
skia_renderer: enabled_on
video_decode: disabled_software
vulkan: disabled_off
webgl: enabled
webgl2: enabled
Extensions (40)
A/B Experiments
The text was updated successfully, but these errors were encountered: