A11y_VisualStudioCodeClient_Terminal_ScreenReader: NVDA/JAWS Announces Blank when Using Arrow Keys on Terminal Commands
"Please do not close this bug. This bug should only be closed by TCS, C+AI Accessibility or the Divisional Driver".
GitHub bugs
#A11ySev2; #A11yTCS; #A11yMAS; #DesktopApp; #Visual Studio Code Client; #WCAG1.3.1; #DesktopApp; #BM-VisualStudioCodeClient-Win32-Aug2022; #NVDA; #Win32; #Win11; #A11yeDAD; #ScreenReader; #FTP; #NVDA; #AINotInScope;
Actual:
Upon using the left or right arrow key to navigate the characters in the Terminal command, NVDA announces a blank instead of correctly providing the character feedback.
Expected:
As the arrow keys are pressed, NVDA should announce the characters in the command being navigated.
Environment Details:
Application Name: Visual Studio Code Version: 1.80.0-insider (user setup) V8: 10.8.168.25-electron.0 Windows 11 22H2 OS build 25869.1000 Screen Reader: NVDA (2023.1)
User Impact:
The incorrect feedback provided by NVDA/JAWS affects the accessibility and usability of the Terminal application for users who rely on screen readers. This behavior hinders their ability to navigate and interact with command-line interfaces effectively.
"Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier."
Attachments:
https://github.com/microsoft/vscode/assets/105198219/8e2b2bad-e04e-4424-ba57-5414199a3f5f
@meganrogge not sure if we're tracking this but we're talked about the fix I had in mind for this which was to synchronize xterm.js' textarea content with the help of shell integration.
This also happened to me when I was trying to edit a recent command in the integrated terminal (weirdly, arrowing on the newly typed command doesn't seem to be an issue). This makes integrated terminal nearly unuseable with the long command (in which typo is very much possible). I have also created the issue here: #185163
@meganrogge
Verified the issue in insiders 1.82.0
The issue is still repro.
Please tell me in which version the issue is fixed.
#Regressed:08-21-23; #PendingInput;
This works as shown here
As the arrow keys are pressed, NVDA should announce the characters in the command being navigated.
That is, until the terminal loses and then regains focus. That's a separate issue IMO and thus can be handled as a different bug tracked here #190998
@meganrogge I verified the issue in below version of Visual Code Insiders. Version: 1.82.0-insider (user setup)
Issue is still reproing. Please tell me in which version of Visual code Insiders the issue is fixed.
@ManishaC1 when reporting insiders versions you need to go to Help > About and copy out all the version details. In particular the commit and date are needed to identify the insiders version.
This was verified by @jooyoungseo on both windows and mac.
@rperez030 is having issues with it so we're going to meet about that.
I can reproduce the issue using insider version 1.82.0-insider (system setup), commit ebd67244fb2da33ab078bb2baa96106fda29f336. I'm not sure why, but it appears that the issue has been resolved when using VS code inside WSL2 with the bash shell. However, when using VS code on the Windows host with PowerShell as the shell, I still encounter problems when navigating and editing both newly inputted commands and the previous commands recalled from the recent command history.
@rperez030 and I met and he showed it not working on windows. I'm guessing this is a conpty issue
which version of windows are you on @pawin35 ?
@meganrogge I use windows 11 Pro Version 22H2 (OS Build 22621.2215)
I'm also able to repro on the latest Insiders on Windows using NVDA.
This is working on Windows for me. (10.0.22621 Build 22621) @rzhao271 which version do you have?
In System > About I see version 22621.2134
Using NVDA on Windows, and with screenreader mode enabled:
- In a pwsh integrated terminal type
ls -a - Press left and right arrow keys
- The announced text is "empty" whenever those arrow keys are pressed.
@Tyriar
Below are the Environment Details of the latest Visual Studio Insider installed in my system: Version: 1.82.0-insider (user setup) Commit: 35be9bf683eace09796e59d54f1f225bbc3a7866 Date: 2023-08-30T05:33:47.972Z Electron: 25.7.0 ElectronBuildId: 23434598 Chromium: 114.0.5735.289 Node.js: 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows_NT x64 10.0.22621
Yeah I can reproduce now. Seems to have regressed for Windows
currentCommand.commandStartX is undefined for Windows
@meganrogge it may also in the wrong position on Windows, if I remember it's typically at 0. This will get fixed eventually in conpty.
what's odd to me is that it was working for me before
https://github.com/microsoft/vscode/issues/186904#issuecomment-1688550710
I'm not sure when it would be undefined, I guess it may be inconsistent? Command executed does not ensure command started had occurred:
https://github.com/microsoft/vscode/blob/d89cac9ac10d1aa4310e827c458f2bea597685ed/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.ts#L441-L450
We need info on the command line before command execution @Tyriar and for windows, we don't have that currently.
As with a lot of things on Windows ptys you'll need to add some heuristics here. It might work fine to just use commandStartX ?? 0. You could also try add some basic prompt detection for standard pwsh/powershell.exe
To verify, enable terminal.integrated.experimental.syncTextArea. Then follow the steps here. https://github.com/microsoft/vscode/issues/186904#issuecomment-1699945147
@meganrogge
I did as you said. But still the issue is still reproducing. Please help
Environment details: Version: 1.82.0-insider (user setup) Commit: e7756c8870ee1df7360e6624e220534174039b02 Date: 2023-08-31T05:33:59.698Z Electron: 25.7.0 ElectronBuildId: 23434598 Chromium: 114.0.5735.289 Node.js: 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows_NT x64 10.0.22621
NVDA version: 2023.1
you need to update @ManishaC1 you're using an old version
Verified the issue in below environment. Version: 1.82.0-insider (user setup) Commit: dd112ec0243c4b42bb3106e64df1688e242a6559 Date: 2023-09-01T05:33:39.919Z Electron: 25.7.0 ElectronBuildId: 23434598 Chromium: 114.0.5735.289 Node.js: 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows_NT x64 10.0.22621
Issue is fixed.
#Closed; #Regressed:09-04-23;
https://github.com/microsoft/vscode/assets/105198219/3bf9cc14-f8c9-4f0d-91e3-efe785232895