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

How can we make shell integration smarts more discoverable to screen reader users? #170634

Closed
Tyriar opened this issue Jan 5, 2023 · 11 comments
Closed
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues plan-item VS Code - planned item for upcoming
Milestone

Comments

@Tyriar
Copy link
Member

Tyriar commented Jan 5, 2023

Shell integration gives go to recent directory and run recent command which are very useful when using a screen reader. How can we make these more discoverable in product when using a screen reader?

@Tyriar Tyriar added feature-request Request for new features or functionality accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues labels Jan 5, 2023
@Tyriar Tyriar added this to the January 2023 milestone Jan 5, 2023
@meganrogge
Copy link
Contributor

@isidorn if you have any ideas here or prior art

@isidorn
Copy link
Contributor

isidorn commented Jan 6, 2023

Can you provide a bit more context for me here please :)
Can we make them more discoverable for all users? Why do we think this is particularly helpful for screen reader users?

@Tyriar
Copy link
Member Author

Tyriar commented Jan 6, 2023

AFAIK ctrl+r to search command history generally isn't used by screen reader users as it's difficult to understand what gets announced:

image

This gives an accessible alternative with additional features:

image

Go to recent directory is similar but there isn't typically an equivalent in most shells:

image

The issue is how does the user discover that this enhanced functionality exists without intercepting ctrl+r/g and getting them to choose via a notification, which is a crappy experience for users who don't want it. Something I really want to ensure is maintaining a great experience for "pro" users who have invested in configuring their shell just how they like it.

One idea I had the other day was when accessibility mode is on, add these as default keybindings. That has issues too though; what if the user still wants ctrl+r/ctrl+g to go to the shell, we didn't educate them on how to do that, plus it doesn't solve the discoverability problem when accessibility mode is not enabled (it's a cool feature for most users).

@isidorn
Copy link
Contributor

isidorn commented Jan 6, 2023

Thanks for providing more context. I like the default shortcut idea when accessibility mode is on. For context: we also do this for editor word navigation shortcuts, we change the navigation commands so they are aligned with what screen reader expects from Chromium word navigation.

Apart from that then we only need to think about the general discoverability problem. Did we consider having a top level ... title entry where we could put some terminal commands so users discover them? Alternative: terminal context menu submenu?

@Tyriar
Copy link
Member Author

Tyriar commented Jan 6, 2023

We did want to add additional buttons to the view title which are hidden by default so maybe ... is the answer. Right click for context menu doesn't work for on all OS's so that's not the best option.

@Tyriar
Copy link
Member Author

Tyriar commented Jan 6, 2023

Hidden by default menu items that can be toggled: #170727

@Tyriar
Copy link
Member Author

Tyriar commented Jan 9, 2023

Had a chat with @meganrogge, we think we should add something similar to the editor that says press Alt+F1 for options but have it be terminal help

image

We already have ctrl+up/ctrl+down explained in the textarea aria-label, this would just move that into a dialog.

@Tyriar Tyriar removed their assignment Jan 9, 2023
@Tyriar
Copy link
Member Author

Tyriar commented Jan 9, 2023

Another idea: add a new section in the middle which is global shell integration commands (go to recent/run recent command) and also change configure to configure shell integration which allows toggling ctrl+r (and ctrl+g keybindings?*). By default we could set ctrl+alt+r to be native run recent command.

image

* Should ctrl+g be the default?

@isidorn
Copy link
Contributor

isidorn commented Jan 10, 2023

I like the Alt+F1 idea.
Not sure about that section in the middle - I would like to try it out to be able to provide quality feedback.

Unrelated topic: are we sure "shell integration" is a good and easy to understand name?

@Tyriar
Copy link
Member Author

Tyriar commented Jan 10, 2023

Possible name confusion has come up before but trying to come up with a new name for this pretty common terminal feature at this point would probably be worse imo.

@Tyriar
Copy link
Member Author

Tyriar commented Jan 10, 2023

I forked off the ideas from this into #170976, #170977 and #170979 so any further discussion is more focused and to ensure we'll verify and mention in release notes.

@Tyriar Tyriar closed this as completed Jan 10, 2023
@Tyriar Tyriar added plan-item VS Code - planned item for upcoming and removed feature-request Request for new features or functionality labels Jan 10, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Feb 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues plan-item VS Code - planned item for upcoming
Projects
None yet
Development

No branches or pull requests

3 participants