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 is not accessible with screen readers #3840

Open
alper061 opened this issue Mar 30, 2021 · 2 comments
Open

Terminal is not accessible with screen readers #3840

alper061 opened this issue Mar 30, 2021 · 2 comments
Labels
chore Related to fix/refinement/improvement of end user or new/existing developer functionality help-wanted An issue that would be good for non-maintainers to attempt

Comments

@alper061
Copy link

Hi!

What you expected to happen?

I tried to use the terminal feature with my screen reader software. I think it will work, because terminal is text based, and my screen reader can interpret it.

What happened?

Not worked, screen reader can't read the terminal output text.
Because the output is not in text format
The output is on a canvas / image. And screen reader can't interpret it. I can run an OCR software, but its not a reliable solution.

How to reproduce it?

Try the terminal feature with jaws for windows, or nvda screen reader software.

Anything else we need to know?

I used jaws for windows as my screen reader. But nvda will work too.
The solution is replace the terminal image output to text instead, or add an option to switch on text output instead the image/canvas mode.

Versions:

latest, but not relevant

Logs:

Not relevant.

@bboreham bboreham added chore Related to fix/refinement/improvement of end user or new/existing developer functionality help-wanted An issue that would be good for non-maintainers to attempt labels Apr 4, 2021
@bboreham
Copy link
Collaborator

bboreham commented Apr 4, 2021

Thanks for your report.

Scope's terminal is implemented using the xterm module, and according to its description, "Screen reader support can be turned on using the screenReaderMode option".
So, if someone can figure out exactly how to do that, and check it still works, we can merge that change.

@alper061
Copy link
Author

alper061 commented Apr 4, 2021

I figured out how to do:
<script> var term = new Terminal({ screenReaderMode: true }); term.open(document.getElementById('terminal')); term.write('Hello from \x1B[1;3;31mxterm.js\x1B[0m $ ') </script>
For example in JavaScript.
I tested with my screen reader (jaws for windows) and it worked, the output was read perfectly.

I thinking how to implement in Scope.
I don't know if i switch screenReaderMode on, the ui how changes. I see two options:

  1. Switch on the option by default in terminal, if the change not changes the UI.
  2. If the option changes the terminal ui negatively, i thinking an accessibility mode option to settings, and if switched on, the terminal instance will replaced with another instance with screenReaderMode enabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Related to fix/refinement/improvement of end user or new/existing developer functionality help-wanted An issue that would be good for non-maintainers to attempt
Projects
None yet
Development

No branches or pull requests

2 participants