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] ability to select console text with only the keyboard #932

Closed
jluk opened this issue Aug 31, 2017 · 4 comments
Closed

[Accessibility] ability to select console text with only the keyboard #932

jluk opened this issue Aug 31, 2017 · 4 comments
Labels

Comments

@jluk
Copy link
Contributor

jluk commented Aug 31, 2017

Details

  • Browser and browser version: Edge, Chrome (tried both)
  • OS version: Windows 10 RS2
  • xterm.js version: 2.9.0

Steps to reproduce

User Experience:
Users who are dependent on keyboard navigation who cannot use a mouse will find it difficulty to Select the Console text if user can't Select the console text using keyboard.

Repro Steps:-

  1. Open url https://ms.portal.azure.com/ and login via valid credentials
  2. Navigate to the cloud shell button on the top menu bar.
  3. Cloud Shell is launched .
  4. hcl@Azure:$ prompt appears.
  5. Type any Command for example 'az help' Press Enter key.
  6. Select , Copy and Paste the console text using keyboard.
  7. Verify, that user is able to Select the console text using keyboard.

Actual Result:
User is not able to Select over the console text using keyboard.

Expected Result:
User should be able to Select the console text using keyboard.

Note: This same issue exist with Power Shell(https://aka.ms/PSCloudPreview)
Please refer the attchment

MAS Reference:
https://microsoft.sharepoint.com/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={8492c4eb-c179-40ae-8777-cd044ed725a2}

Suggested fix:-
1- Always ensure each functionality of a page is keyboard accessible.
E.g. A page with images used as links changes when the user hovers over the image with a mouse. To provide keyboard users with a similar experience, the image is also changed when a user tabs to it
2-Always try to use standard HTML form controls and link elements to provide keyboard operation and assistive technology interoperability of interactive user interface elements.
3-Use of both keyboard-specific and mouse-specific events with code that has a scripting function associated with an event.

Use mousedown with keydown
Use mouseup with keyup
Use click with keypress
Use mouseover with focus
Use mouseout with blur

e.g.
Go to next page

Key References for Fix:
http://www.w3.org/TR/UNDERSTANDING-WCAG20/keyboard-operation-keyboard-operable.html

@Tyriar
Copy link
Member

Tyriar commented Aug 31, 2017

I know some terminals/apps have a selection mode, that is probably the way to go. Say you press some key combination and you can use shift+arrows to select.

@mofux
Copy link
Contributor

mofux commented Aug 31, 2017

Not sure how other terminals do it, but maybe we could use alt+shift+arrow for this selection mode? This feel consistent with the alt+click behaviour to position the cursor. Would the selection feature also make sense for the alt-buffer? Probably yes...

@Tyriar
Copy link
Member

Tyriar commented Aug 31, 2017

Yes both buffers. Coming up with keybindings is tricky, it may just be better to allow consumers to define their own keybinding and trigger the mode on/off manually?

We should check out how other terminals do it. I see mention of cmd+opt+return on Terminal.app here https://www.macworld.com/article/1059321/software/termtext.html - the feature doesn't seem to be present on my machine though.

@Tyriar Tyriar added type/enhancement Features or improvements to existing features and removed type/feature labels Apr 4, 2018
@Tyriar
Copy link
Member

Tyriar commented Jun 3, 2018

VS Code has this at a higher level, it's possible using the new selection APIs as well as reaching into some Buffer internals (to help select the lines). Track #1128 (comment) for pulling more out of the buffer.

(plus screenReaderMode exists now)

@Tyriar Tyriar closed this as completed Jun 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants