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

Investigate into JAWS support #95225

Open
isidorn opened this issue Apr 14, 2020 · 26 comments
Open

Investigate into JAWS support #95225

isidorn opened this issue Apr 14, 2020 · 26 comments
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues editor-core Editor basic functionality under-discussion Issue is under discussion for relevance, priority, approach windows VS Code on Windows issues
Milestone

Comments

@isidorn
Copy link
Contributor

isidorn commented Apr 14, 2020

Look into how VS Code works with JAWS and identify the current limitations.

@GS-Avaluka feedback is very welcome

@isidorn isidorn added accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues under-discussion Issue is under discussion for relevance, priority, approach labels Apr 14, 2020
@isidorn isidorn added this to the April 2020 milestone Apr 14, 2020
@isidorn isidorn self-assigned this Apr 14, 2020
@isidorn isidorn added the windows VS Code on Windows issues label Apr 14, 2020
@isidorn
Copy link
Contributor Author

isidorn commented Apr 15, 2020

I just gave JAWS a spin on my Windows machine. Here are my findings:

  • File explorer, works well overall but every item has a suffic "To move through or expand items use the arrows keys" @ggordon-vispero is this expected, does JAWS read this suffic because focus is on a tree item. Same happens for list items, so this feels like a JAWS thing
  • Editor works well overall but I noticed punctionations like , . are not being read. Is this a JAWS setting? Or should JAWS respect that we set the role code on the Container of the editor?
  • Main Menus and context Menus seem to work fine
  • Navigation seems to work fine
  • Chrome nicely detects that JAWS is attached

I am not a screen reader user, so my findings are of course not complete. It would be great to get much more feedback from users.

fyi @jfayre @RussellSprouts as you have filled JAWS related issue to this repository

@ggordon-vispero
Copy link

ggordon-vispero commented Apr 15, 2020 via email

@isidorn
Copy link
Contributor Author

isidorn commented Apr 15, 2020

@ggordon-vispero awesome, thanks!

@cannona
Copy link

cannona commented Apr 18, 2020

The first two items you mention are in fact expected Jaws behavior, and not something which applications can control. I suspect that the extra information will not be read if the user decreases the verbosity, but I have not confirmed this. Regardless, there's nothing you can do about it.

@MarcoZehe
Copy link
Contributor

The punctuation is also a JaWS setting, and role "code" is very new. It is slatted for WAI-ARIA 1.3, and WAI-ARIA 1.2 hasn't even been finalized yet, but both Firefox and Chromium already support it because it was low-hanging fruit. Screen Reader support will need to be added for this first. Orca is, so far, the only screen reader that does it, and AFAIK only in Master.

@Menelion
Copy link

Hi @isidorn and thanks for this, it's greatly appreciated!
for me the main issues with JAWS are:

  1. As the editor is a forms-mode environment, JAWS does not speak indentation there even if turned on.
  2. Even if it did speak the indentation in editors, it would not differ between editor and non-editor parts of VS Code. I.e., when in the trees or even in virtual cursor mode, you'll hear superfluous indentation markings which is as annoying as not having them at all. @ggordon-vispero Probably it's something that needs to be tweaked in JAWS as well as separating VS Code settings from Chrome ones.
  3. this is very intermittent and extremely hard to describe, but JAWS sometimes loses focus and hangs for some time, especially in big trees and lists. the best way to reproduce it is to replicate my setup: install Remote SSH, SSH to some other machine with a large codebase on it and try to work fast.

Thank you again, and I hope my two favorite companies (Microsoft and Vispero) will come with a robust solution that would allow us to work with our preferred screen reader and there won't be people moving from JAWS to whatever anymore (see the Gitter chat).

@isidorn
Copy link
Contributor Author

isidorn commented Apr 21, 2020

Thanks all for feedback.
@Menelion We would love to improve this, however I am not sure what can be done on the VS code side for this.

  1. Is there something in VS code which we can do such that the editor is no in forms-mode environment?
  2. Why doesn't JAWS use different role we set. For example the editor has the role textbox and the trees have role tree
  3. This might be due to a large number of accessilibity events. @joanmarie already investeged in this for the Orca screen reader and this might be an underlying Chrome issue https://bugs.chromium.org/p/chromium/issues/detail?id=1050718 Please note that I am only speculating here

Overall to improve with JAWS we would need somebody from Vispero to share his thoughts. So let's see what @ggordon-vispero has to say.

@Menelion
Copy link

@isidorn Just investigated. Yes, it seems, you can do nothing here, sorry. @ggordon-vispero It's a JAWS issue. If you want more info, please chime in, I'll write you privately.

@ggordon-vispero
Copy link

@Menelion , please write me with additional details. I have already noticed the JAWS failure to announce intentation and agree that it's an issue on our side. If you have additional JAWS specific details about either indentation or the JAWS hanging
please write to me privately. I think you already have my contact info. If not it's first Initial followed by my last name.

@akash07k
Copy link

Thanks @isidorn for this.
Actually, I'd be very happy if the problems with indentation levels will be fixed from freedom scientific side.
Also, I've observed, that JAWS sometimes responds little slower inside command pallat.

@isidorn
Copy link
Contributor Author

isidorn commented Apr 22, 2020

We have done the inital investigation and it seems like the work should be done on the JAWS side.
However we will still keep this issue open to have all the information in one place.
I should also have a meeting with the authors of JAWS in the next one month so I will keep updates here.

@isidorn isidorn modified the milestones: April 2020, Backlog Apr 22, 2020
@jhomme
Copy link

jhomme commented Apr 27, 2020

JAWS reacts too quickly and repeats text in some situations. One such situation is in the editor when you select some text, then delete it. JAWS repeats the selected text.

@jhomme
Copy link

jhomme commented Apr 28, 2020

Regarding the indentation issue, I believe JAWS thinks it is seeing characters or something where the cursor cannot go to the left of every line. It thinks every line starts at the margin. I can check related settings in the JCF.

@akash07k
Copy link

akash07k commented May 5, 2020

Hi @ggordon-vispero @isidorn Guys, I've observed that If I use JAWS with VS Code, it doesn't read the terminal output automatically.
Can you guys please look into this?
@ggordon-vispero We'll be thankful to you for improving the JAWS support for VS Code.

@jhomme
Copy link

jhomme commented May 26, 2020

I just happened to be looking through default JAWS settings. There is a checkbox in JAWS Quick Settings that turns the speaking of live regions on and off. It is off by default. I have begun to put together a configuration and script set for JAWS for VS Code. I'm going to turn the live region checkbox on and see how far this takes me and report back. I'm hoping that a lot of nice speaking will simply just start happening.

@jhomme
Copy link

jhomme commented May 27, 2020

Reporting back. If you use VS Code Insider with JAWS, press INSERT+V. Unfortunately, this gives you Chrome Quick settings because JAWS does not have a configuration and script set for VS Code. I have started one here. So for me, the right stuff comes up. You can still test this, but you may want to remember to put it back the way you had it, so you do not have any adverse affects in Chrome. Anyway, here is what to do. Arrow down to Virtual Cursor > General, and toggle live region speaking on. This will suddenly make JAWS speak all sorts of helpful messages just like NVDA does. I will package up my script set for VS Code Insider and put it somewhere so others can use it, once I have more of it working.

@Menelion
Copy link

Menelion commented Jun 1, 2020

One more observation.
If more than one file editor is open, and you switch back and forth with Ctrl+Tab and Ctrl+Shift+Tab, You get extraneous verbiage such as "Et active input active input 2 results list box list box".
A similar thing happens when you start typing a keyword. JAWS says: "Suggestion suggestion list box 13 of 29, type to narrow search" (sorry, the citation might not be exact).

@isidorn
Copy link
Contributor Author

isidorn commented Jan 6, 2021

@sana-ajani just let me know that the news JAWS version has an improved VS Code support. From their release notes: "Improved the user experience when using JAWS with the Visual Studio Code application. This includes turning off the Virtual PC Cursor by default, eliminating the announcement of ARIA regions, and removing the announcement of a long URL when the program is launched."

Let us know if JAWS behaves better with VS Code now and what are the biggest issues remaining.

@jhomme
Copy link

jhomme commented Jan 6, 2021 via email

@jhomme
Copy link

jhomme commented Jan 8, 2021

The issue of JAWS saying the page address is fixed.

@isidorn
Copy link
Contributor Author

isidorn commented Mar 10, 2021

I have been notified that the JAWS update sort of broke VS Code users. As David mentions:
"I used to be able to hit the pc cursor key twice in jaws, and this allowed me to move around the screen, but now I can’t even navigate the links in the update document using the arrow keys."

@ggordon-vispero is this something the jaws team can investigate into?

@ggordon-vispero
Copy link

ggordon-vispero commented Mar 10, 2021 via email

@MarcoZehe
Copy link
Contributor

The Document Role was devised for exactly this purpose: Provide content inside a web application that is browsable with virtual buffers. In essence, treat everything like an application, but everything inside an element with role "document" like an embedded web page. You know, like the IE view in Outlook Express. ;-)

@ggordon-vispero
Copy link

ggordon-vispero commented Mar 10, 2021 via email

@BeastlyTheos
Copy link

As a Jaws user just learning VS Code I have some thoughts and requests to add to this conversation. Most of this needs to be fixed on the Jaws end, but in accordance with a prior comment, I am posting it here to keep everything in one place.

The following are some hotkeys that would be very useful to me, and should be relatively easy to implement.

  • Automatic speaking of indentation is nice, but a higher priority for me would be a hotkey to announce current nesting level.
  • Speak the control flow statement or function signature that begins the current block of code.
  • Speaking a nested form of the above output, such as "namespace zoo, class animal extends creature, function walk(distance), if this.numLegs == 4..."
  • The above speach could also be put in the form of a dialog that allows for easier review and to facilitate jumping to the beginning of code blocks.
  • A keyboard help mode analygus to the Jaws keyboard help mode.

@jhomme, you said you were working on some Jaws scripts and an ideal Jaws config. Do you have those in a public repository? I know a thing or two about Jaws scripting, and am willing to do what I can to implement these ideas.

@chrisnestrud
Copy link

@travisroth has created some useful JAWS scripts here: https://github.com/travisroth/VSCodeJAWSScripts

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 editor-core Editor basic functionality under-discussion Issue is under discussion for relevance, priority, approach windows VS Code on Windows issues
Projects
None yet
Development

No branches or pull requests

10 participants