-
Notifications
You must be signed in to change notification settings - Fork 29.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
Accessibility #2108
Comments
Looking good so far :) I think screenreader support can be broken up into points like the following:
The action bar and its actions are already sort of usable if you know how to get to them, so those only need some minimal work to be keyboard-accessible, no additional screenreader support should be required. |
@zersiax thanks the feedback. In the January update we will have some first rough support for accessibility including the editor (needs to be enabled through a setting). I would much appreciate if you can give it a try. I'll follow-up with more details in this issue once the update is available. |
@zersiax the 0.10.7 insiders build is now available. There is some initial support for screen reading of the editor contents on Windows when using NVDA. Here is the blog that describes how to get the release: Here are the relase notes: We would be much interested in your early feedback. |
Just did some quick checking. NVDA reas stuff in the code editor. Sometimes it seems NVDA thinks the line you are currently on gets selected after you've arrowed to it, leading to some strange output now and again. It makes some lines repeat with "selected" added in front to indicate selection of the entire line. This is false however since typing will not in fact delete the current line, which is good. It does lead to a bit of head-scratching for a f ew seconds though. Overall, good improvements so far :) Keep up the good work. |
@zersiax would also appreciate some feedback for screen reader support in areas outside the editor (views, etc.). |
Thanks for doing this btw 👍 |
Thanks much for trying it out and here are some more questions. We have also added additional support that should improving the screen reading. This is enabled with ALT+F1. Did you discover this support? Does it improve things. @alexandrudima FYI. |
Hi, No, I was not awareof this functionality and will try it. What I have found with it disabled is the following. Please not I am haphazardly jumping around right now, if you want me to do a systematic check please give me some areas to focus on, code is rather big 👍
What does the alt+f1 keystroke add? |
When you open the git view, we immediately transfer focus into the git commit text area. Would you expect this text area to explain to you that it is for committing the changes you have or even more (how many changes etc.)? Maybe you could give an example what you would expect here
Good point regarding the search result message that is not being read. I will look into that. I am not sure about moving focus out of the search box, I was assuming that it is not nice to programmatically change focus without user interaction. I do agree though that it would be nice to announce the status of the search operation to the user (progress, results).
Unfortunately the menu bar does not seem to be the native menu bar on Windows. Here we rely on the Electron framework and do not have much control.
It brings the editor into accessibility mode, so you want to enable that to test screen reader support within the editor! |
Git view: Alt+f1: |
Ok, turning on screenreader mode seems to get rid of the 'selected' thing I was talking about. Also, the search seems to be visible with its controls greyed out ('unavailable' for screenreaders), not sure why or if that's because of something I did or not. |
@zersiax the difference with Alt+F1 is that we put the entire contents of the file you are editing into the browsers textarea element. We are not doing this typically for performance reasons when the file is very large, that is why we require this explicit action. Doing so, we rely on the browser to provide the related accessibility features for a text area control with text. I will make a pass over our views and panels to make sure that the text that is being read when switching to these things makes sense in the context where they are. |
@zersiax another question I had in mind is how do you explore an application when you start it for the first time without knowing its structure? do you let the screen reader read out the structure of the application? did you try that with Code already? |
@bpasero good :) I understand the underlying technologies of Code will make rendering an entire file to a screenreader at once in the current model almost impossible due to performance reasons, so its good you built in this toggle. When users get to this though, we wil need to somehow make them aware the toggle even exists. I now understand the whole 'selected' issue when this mode is off as well, its due to the chunk of code you're working with being rendered almost at runtime to the screenreader which slightly confuses it. This is not a showstopper though. |
@zersiax when you move focus into the editor, we give the screen reader a message that indicates you can press Alt+F1 to enable this mode, maybe this message was no clear enough or not read to you at all? I will file a bug for the Menu issue on Electron and link it back here: electron/electron#4330
|
Hi, Best to check the manual for object navigation, theres a clear section about it there. |
@zersiax we set the following aria-label to the editor and would expect a screen reader to read it once you focus the editor: Text file editor.Press Alt+F1 for more info. |
Hi, Best to check the manual for object navigation, theres a clear section about it there. |
@alexandrudima fyi for discoverability of Alt+F1 |
I saw stuff on Twitter that made me pop in. |
I'm going to discuss VS Code accessibility with someone at MS in a few
days, I will certainly bring these points up since they are on the
mark :)
|
Actually, while I'm thinking about it, this comment exists to mention @jcsteh. He might be interested in this, given that VSCode accessibility is the first time I can personally recall Microsoft acknowledging that NVDA exists publicly, as opposed to just saying "narrator and other assistive technology" or something to that effect. |
Just some clarifications:
In this case, it's based on MSAA/IAccessible2, since that's what Chromium exposes. However, NVDA does tweak the tree a bit, particularly if simple review is enabled (which it is by default).
For object nav, browsers aren't really treated specially at all. They are for browse mode, but that's an entirely different issue and I suspect irrelevant for Code.
ARIA lets you change the hierarchy using aria-owns. This is now implemented in Chromium, though it was fairly recent; I don't know what version of Chromium you're using here.
When you're not dealing with browse mode and you're primarily dealing with interactive controls, aria-label should work as you expect. I'm guessing browse mode isn't used here; it certainly wouldn't make sense to do this. |
We have improved accessibility for debug sessions in the latest vs code alpha release which can be downloaded here: |
I spoke with @zersiax earlier today and discussed what we should do in the debugger. Here are my notes. Florian, please feel free to add or comment if I missed anything or got it wrong
|
Great feedback, thanks a lot. I'll try to improve these next week |
Hi,
Just saw the new release changelog, good work so far.
I want to stress-test the system a little. See where accessibility is
still not optimal and create issues for the stuff i find. Please let
me know a fitting strategy for this? Is there a tag I should group
them under, put them all in one issue or ...?
|
@zersiax thanks much for willing to help! we will soon release a new insider drop with all our changes that you can use. We typically file individual issues here around accessibility with the label "accessibility". We will take care of the triaging from then on! |
@zersiax actually I think the insiders build (0.10.10-insiders) is already out! |
Lets continue accessibility work via issues reported. Closing this one. |
We break Accessibility down into multiple chunks of work:
Issues labeled Accessibility
https://github.com/Microsoft/vscode/labels/accessibility
Keyboard navigation & Focus indication
Related PR: #2077
The text was updated successfully, but these errors were encountered: