-
Notifications
You must be signed in to change notification settings - Fork 30.9k
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
fix screen reader mode issues #167960
fix screen reader mode issues #167960
Conversation
@alexdima would be a better review than me here |
src/vs/workbench/services/accessibility/electron-sandbox/accessibilityService.ts
Outdated
Show resolved
Hide resolved
…sibilityService.ts
@deepak1556 do OSS and insider's use different versions of chromium or have different values for OSS based on this branch works when I toggle VoiceOver but an Insider's build based on this branch does not. Logging shows that when I toggle VoiceOver in OSS, the screen reader change is detected whereas in Insider's it is not. I noticed in Chromium documentation that fyi @isidorn |
@meganrogge I also looked at #167998 and this PR seems to also change areas changed there, but in a different way. Which version do you want to do? |
Insiders and OSS use different Electron builds. OSS uses builds from https://github.com/electron/electron/releases/tag/v21.3.3 whereas product builds are from https://domoreexp.visualstudio.com/Teamspace/_git/electron-build which contain Chromium/Electron patches specific to VSCode. For this specific case, Lines 242 to 245 in 1e4ac31
In this iteration, we added a patch to product builds of Electron that rewires accessibility detection on all platforms. The regression with insiders seems highly likely to originate from that change, I did test the change on macOS ventura and voice over detection worked fine, @meganrogge what is your macOS version ? |
@alexdima I separated the PRs because they attempt to fix different things - #167998 fixes the case when you toggle the accessibility mode and it should impact all windows This one attempts to fix an issue where toggling voice over (or other screen reader) does not cause our accessibility mode to update |
@deepak1556 I am on macOS Ventura - is there a way to test that the switch is on? source maps aren't loading for me in insider's or i'd try to debug and hit a breakpoint to check It works for me when I turn VoiceOver on, but not when I turn it off in insider's. I don't think that's a regression bc from my understanding, this detection was added last iteration |
oss: oss.mov |
insider's: insider.s.mov |
This is not currently shipped with Insiders but you can do the following change and create a one-off insiders build,
We did make voice over related detection changes last milestone but this iteration we changed how the a11y events are listened from the runtime and emitted to the application. Basically, Electron would trigger the event based on value change from the OS https://github.com/electron/electron/blob/909ee0ed6bbdf57ebaeda027b67a3a44185f6f7d/shell/browser/mac/electron_application.mm#L190 but the current change instead relies on Chromium to emit the event https://source.chromium.org/chromium/chromium/src/+/main:ui/accessibility/ax_mode_observer.h;l=17-18 . Chromium actually emits the event only after 2s since a11y client was turned off for reason mentioned in https://source.chromium.org/chromium/chromium/src/+/main:content/browser/accessibility/browser_accessibility_state_impl.cc;l=132-142, can you wait for that time period and check if that produces the off event. |
It does not work when I wait even 10 seconds - I will try these steps next
|
@deepak1556 it's showing |
Thanks for testing, confirms a regression from the patch. I will address it this week, will update here once new builds are available. |
@meganrogge the issue in the runtime #167960 (comment) is now addressed with #170879. Do you want to pick up this PR again ? Thanks! |
@deepak1556 thanks for the update - I just tested on macOS in the latest insider's and am not seeing it work when I turn voice over on or off. does it work for you? |
Insiders with the above change has not been released yet, it will be available tomorrow PST :) |
@meganrogge ping, latest insiders works fine with voiceover detection. Can you verify on your end, thanks! |
@deepak1556 yes, it works for me now! thanks |
No description provided.