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

Terminal accessibility buffer does not read output upon enter #172007

Closed
meganrogge opened this issue Jan 23, 2023 · 12 comments · Fixed by #172191
Closed

Terminal accessibility buffer does not read output upon enter #172007

meganrogge opened this issue Jan 23, 2023 · 12 comments · Fixed by #172191
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues bug Issue identified by VS Code Team member as probable bug insiders-released Patch has been released in VS Code Insiders verified Verification succeeded
Milestone

Comments

@meganrogge
Copy link
Contributor

meganrogge commented Jan 23, 2023

Terminal live output is not announced.
As far as I tested on Windows with JAWS and NVDA, terminal aria-live event is not auto-announced. I typed "echo hello" in terminal, but there was no read-aloud feedback.

#171914 (comment)

@meganrogge meganrogge self-assigned this Jan 23, 2023
@meganrogge meganrogge added the accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues label Jan 23, 2023
@meganrogge meganrogge added this to the January 2023 milestone Jan 23, 2023
@meganrogge meganrogge added the bug Issue identified by VS Code Team member as probable bug label Jan 23, 2023
@meganrogge
Copy link
Contributor Author

meganrogge commented Jan 23, 2023

@jooyoungseo, since the buffer will now be readonly, I think this can be closed. Voice over and NVDA are announcing as I type

@jooyoungseo
Copy link

jooyoungseo commented Jan 23, 2023

@meganrogge Aw, I think there was a miscommunication between us. The issue that I highlight here is not the input announcement. I am talking about the auto output announcement. For example, if you open an external terminal on Mac or cmd.exe or powershell.exe on Windows outside VSCode, executing any command, such as echo hello will make your screen reader read aloud the output as soon as you hit return key. The VSCode terminal was behaving like this before the a11y terminal buffer. What you have seen is that screen-reader users want this real-time output announcement per command execution just like before. This no longer works as far as I tested with NVDA and JAWS on Windows.

@meganrogge meganrogge changed the title Terminal accessibility buffer does not read typed input Terminal accessibility buffer does not read output upon enter Jan 23, 2023
@meganrogge
Copy link
Contributor Author

Thanks for clarifying. I was confused by:

I typed "echo hello" in terminal, but there was no read-aloud feedback.

Now I understand

@meganrogge
Copy link
Contributor Author

I can repro this not working in the latest stable VS Code as well. I type echo hello and it does not read hello

@jooyoungseo
Copy link

@meganrogge -- Aw, that's my bad! Sorry for confusing you. I assume that aria-live = "assertive" attribute got broken somewhere for the terminal a11y buffer.

@meganrogge
Copy link
Contributor Author

@jooyoungseo I have just spent the last 2 hours looking into the output not being read issue and am stumped 🤔 . since I can repro in Stable, I don't think this is a regression. We're doing the right thing here and debugging showed the element's text content is updated to be the output on enter, but the browser /screen reader is not reading it

https://github.com/meganrogge/xterm.js/blob/01b0eb615c0491135c350a28553ff947a266f0fa/src/browser/AccessibilityManager.ts#L83-L86

@jooyoungseo
Copy link

@meganrogge -- I would try the following:

  1. See if aria-live works when terminal buffer container is marked with div instead of textarea (also need to remove role = "textbox" for this testing).

  2. If 1. works, just add textbox role and see if it works.

@meganrogge
Copy link
Contributor Author

@jooyoungseo thanks for the suggestion. still does not work with that. I'm going to try to find the last commit where this was working - which will be at least a month ago

@meganrogge
Copy link
Contributor Author

in version 1.72 of VS Code stable, it similarly does not work for short output, but does read the message "too much output to announce for the command ls -la for example.

@meganrogge
Copy link
Contributor Author

also just tried reverting all of my changes (adding the accessibility buffer) and that does not fix it

@meganrogge
Copy link
Contributor Author

navigation mode also works in 1.72

@meganrogge
Copy link
Contributor Author

the .xterm-accessibility element doesn't exist in insider's with screen reader mode on while it does exist in version 1.72

Screenshot 2023-01-23 at 2 53 35 PM

Screenshot 2023-01-23 at 2 53 15 PM

meganrogge added a commit that referenced this issue Jan 24, 2023
@vscodenpa vscodenpa added unreleased Patch has not yet been released in VS Code Insiders insiders-released Patch has been released in VS Code Insiders and removed unreleased Patch has not yet been released in VS Code Insiders labels Jan 24, 2023
@bhavyaus bhavyaus added the verified Verification succeeded label Jan 26, 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 insiders-released Patch has been released in VS Code Insiders verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants