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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Screen reader not detected on macOS #167627

Closed
kieferrm opened this issue Nov 29, 2022 · 11 comments
Closed

Screen reader not detected on macOS #167627

kieferrm opened this issue Nov 29, 2022 · 11 comments
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues bug Issue identified by VS Code Team member as probable bug verified Verification succeeded
Milestone

Comments

@kieferrm
Copy link
Member

Testing #167159

Version: 1.74.0-insider
Commit: 8b98917
Date: 2022-11-29T07:07:14.672Z
Electron: 19.1.6
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: 10.2.154.15-electron.0
OS: Darwin arm64 21.6.0
Sandboxed: Yes

Automatic screen reader detection doesn't work for me at all, i.e. in none of the scenarios listed in the test plan item. The only way to get in and out of screen reader mode is to use the command.

@kieferrm kieferrm added the bug Issue identified by VS Code Team member as probable bug label Nov 29, 2022
@deepak1556
Copy link
Collaborator

Synced with @kieferrm and confirmed that the issue also persists with stable on the same setup. Only difference between my setup is the OS version, I am on macOS ventura and the issue is seen on macOS monterey. @isidorn can you test on your device as well to validate this.

@deepak1556 deepak1556 added accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues macos-monterey labels Nov 30, 2022
@isidorn
Copy link
Contributor

isidorn commented Nov 30, 2022

I am on macOS ventura and for me this works just fine - both if I first start screen reader, or first start VS Code Insiders.
The only issue I see is that after reload screen reader is not detected - which should be covered by #167583

fyi @meganrogge since I know you are also on macOS

@meganrogge
Copy link
Contributor

On macOS Ventura, with Insider's already open, I expect to see the status bar entry when I turn VoiceOver on, but do not.

Maybe related - I had just turned off screen reader mode prior to this by answering the question Are you using a screen reader to operate VS Code? No.

voiceOver.mov

@isidorn
Copy link
Contributor

isidorn commented Nov 30, 2022

@meganrogge double check your settings.json. Ideally you should not have a editor.accessibilitySupport setting set. If you do and it is set to false that means already expressed you are not using a screen reader.

@meganrogge
Copy link
Contributor

meganrogge commented Nov 30, 2022

thanks @isidorn it doesn't work for me when I set that to auto either (and it's not present in my settings.json)

@meganrogge
Copy link
Contributor

meganrogge commented Nov 30, 2022

When I toggle VoiceOver, this line does not get hit even though the value of _accessibilitySupport gets correctly updated in accessibilityService

if (event.hasChanged(EditorOption.accessibilitySupport)) {
this.onScreenReaderModeChange(activeCodeEditor);
}

I think that's because we don't update the configuration value directly here

setAccessibilitySupport(accessibilitySupport: AccessibilitySupport): void {
if (this._accessibilitySupport === accessibilitySupport) {
return;
}
this._accessibilitySupport = accessibilitySupport;
this._onDidChangeScreenReaderOptimized.fire();
}

So, we should forward the _onDidChangeScreenReaderOptimized event to editorStatus I think which will cause the status indicator to show up or disappear accordingly

@meganrogge
Copy link
Contributor

heard from @kieferrm that the value in his case is not set correctly. The issue I described is different as it's strictly a UI problem.

@meganrogge meganrogge removed this from the November 2022 milestone Nov 30, 2022
@meganrogge meganrogge self-assigned this Dec 2, 2022
@meganrogge meganrogge added this to the December 2022 milestone Dec 2, 2022
@meganrogge meganrogge added the chromium Issues and items related to Chromium label Dec 6, 2022
@deepak1556 deepak1556 removed their assignment Jan 17, 2023
@deepak1556 deepak1556 removed the chromium Issues and items related to Chromium label Jan 17, 2023
@deepak1556
Copy link
Collaborator

Runtime issue has been resolved, leaving the issue open for #167960

@meganrogge
Copy link
Contributor

This is working for me, no need for my changes

@rzhao271 rzhao271 added the verified Verification succeeded label Jan 27, 2023
@rzhao271
Copy link
Contributor

There are still issues on macOS Monterey:

  1. 🐛 If one reloads Insiders while still keeping VoiceOver open, detection fails
  2. 🐛 If one starts VoiceOver first, detection fails
  3. ✅ If one starts Insiders, and then starts VoiceOver, detection works

@rzhao271 rzhao271 reopened this Jan 27, 2023
@rzhao271 rzhao271 modified the milestones: January 2023, February 2023 Jan 27, 2023
@rzhao271 rzhao271 added verification-needed Verification of issue is requested verification-found Issue verification failed and removed verified Verification succeeded verification-needed Verification of issue is requested labels Jan 27, 2023
@deepak1556
Copy link
Collaborator

deepak1556 commented Jan 28, 2023

Thanks for testing this extensively! 1) and 2) are not regressions from this issue but behavior that has been existed before. I have opened separate issues to track these. In both the scenarios, the runtime puts the application into a11y mode, its just that our components to indicate the mode is not updated properly.

@deepak1556 deepak1556 added verified Verification succeeded and removed verification-found Issue verification failed labels Jan 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues bug Issue identified by VS Code Team member as probable bug verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

5 participants