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

[Accessibility] Character is not read properly in terminal input after auto-completion #131295

Closed
jooyoungseo opened this issue Aug 21, 2021 · 8 comments
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues feature-request Request for new features or functionality insiders-released Patch has been released in VS Code Insiders terminal-accessibility Issues related to the terminal help widget, accessibility buffer, or navigation mode verification-needed Verification of issue is requested verified Verification succeeded
Milestone

Comments

@jooyoungseo
Copy link

jooyoungseo commented Aug 21, 2021

CC @isidorn

Found the following issue in both NVDA and JAWS.

Closely related to #131090.

Does this issue occur when all extensions are disabled?: Yes

System Info

Version: 1.60.0-insider (system setup)
Commit: 89bbd37
Date: 2021-08-20T17:51:50.560Z
Electron: 13.1.8
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19043

Steps to Reproduce

  1. Open VSCode with NVDA.
  2. Open terminal by pressing Ctrl+`.
  3. Type touch foo.txt to create a new file.
  4. Once the file is created, type fo and hit Tab key to auto-complete foo.txt in terminal input. [do NOT hit Enter yet]
  5. To change the file extension, press left-arrow key to identify ".txt".
  • Notes: Focused character is not read as intended. This issue occurs only after auto-completion event is triggered.

In contrast, the following usecase does not cause this issue:

  1. Manually type foo.txt in terminal and hit left-/right-arrow keys.
  • Notes: Focused character is read properly this time.
@isidorn
Copy link
Contributor

isidorn commented Aug 23, 2021

@jooyoungseo thanks a lot for creating the issue!

I can reproduce this also for my PowerShell terminal on Windows.
The issues seems that auto completion in the Terminal messes up the character navigation announcement, so that when you navigate character by character the wrong character gets read out.

@Tyriar there might have already been an issue like this, this sounds familiar, maybe we already discussed it?

@isidorn isidorn added accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues terminal Integrated terminal issues labels Aug 23, 2021
@Tyriar
Copy link
Member

Tyriar commented Sep 7, 2021

I did look into this before and it's kind of difficult because of how it's not a real textarea and we don't know what the actual prompt is. Maybe we could special case left/right to read the character if it resulted in a cursor move or something.

@Tyriar
Copy link
Member

Tyriar commented Oct 8, 2021

This is happening because when you hit tab, we clear the backing textarea which is the reason why left/right work sometimes. This is to prevent some weird state and causing a lot of confusion, we just bail out and clear it all together.

After chatting with @meganrogge I think we can move forward on this when we support shell integration (#133084) as that will enable us to know exactly what the prompt input is and we know where the cursor is so we could keep the textarea in sync.

@Tyriar Tyriar added feature-request Request for new features or functionality and removed terminal-triage labels Oct 8, 2021
@Tyriar Tyriar added this to the Backlog milestone Oct 8, 2021
@isidorn
Copy link
Contributor

isidorn commented Oct 11, 2021

Thanks for the update @Tyriar
Makes sense to introduce this after we have support for shell integration.

@Tyriar
Copy link
Member

Tyriar commented Oct 11, 2021

We would also want to cover other cases like up/down changing the prompt history entry (#94708)

@meganrogge meganrogge added terminal-accessibility Issues related to the terminal help widget, accessibility buffer, or navigation mode and removed terminal Integrated terminal issues labels Jan 25, 2023
@meganrogge meganrogge modified the milestones: Backlog, On Deck Feb 15, 2023
@meganrogge
Copy link
Contributor

This should work now

@meganrogge meganrogge modified the milestones: On Deck, November 2023 Nov 10, 2023
@meganrogge meganrogge added the verification-needed Verification of issue is requested label Nov 10, 2023
@bhavyaus
Copy link
Collaborator

I'm still seeing incorrect character read-out when I manually type foo.txt and use up/down arrows to navigate characters on Windows PowerShell.

@bhavyaus bhavyaus added verification-found Issue verification failed and removed verification-needed Verification of issue is requested labels Nov 29, 2023
@bhavyaus bhavyaus reopened this Nov 29, 2023
@meganrogge
Copy link
Contributor

@bhavyaus a gif would be helpful with terminal.integrated.developer.devMode enabled pls.

@meganrogge meganrogge removed the verification-found Issue verification failed label Nov 29, 2023
@rzhao271 rzhao271 added the verification-needed Verification of issue is requested label Nov 29, 2023
@meganrogge meganrogge added the insiders-released Patch has been released in VS Code Insiders label Nov 29, 2023
@rzhao271 rzhao271 added the verified Verification succeeded label Nov 30, 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 feature-request Request for new features or functionality insiders-released Patch has been released in VS Code Insiders terminal-accessibility Issues related to the terminal help widget, accessibility buffer, or navigation mode verification-needed Verification of issue is requested verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

6 participants