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

[VSCode ISL] Keyboard accessibility to navigate through the ISL #831

Open
murtlatif opened this issue Jan 30, 2024 · 1 comment
Open

[VSCode ISL] Keyboard accessibility to navigate through the ISL #831

murtlatif opened this issue Jan 30, 2024 · 1 comment

Comments

@murtlatif
Copy link

I navigate through VSCode heavily through shortcuts and keyboard usage, but whenever I need to open the ISL my flow/pace is slowed down pretty significantly because I cannot navigate through the ISL with my keyboard.

Current State

Currently, the navigation has pretty significant issues:

  1. If I have focus on the main ISL page, navigating with the up/down arrow keys jumps around the branches in unexpected ways. It seems to be decent within one singular stack, but once I reach the end of a stack, I am not able to guess where it's going to go. It will jump to a stack that is visually about 3 stacks away.
  2. Navigating with up/down arrow keys also scrolls the screen at the same time, and combined with the above point, sometimes it scrolls in the opposite direction it is navigating
  3. Pressing enter will press the last button that was clicked, it has no action for the currently selected commit. Space sometimes does this too, and sometimes it just scrolls the page significantly downwards
  4. Tab seems to navigate through the tool in order, but it only jumps between action buttons (including hidden buttons) and is therefore pretty slow to navigate
  5. There is no way to jump to the commit info details on the right side AFAIK.
  6. Whilst there are existing shortcuts, most end at popping up some component but don't seem to focus on it. For example opening uncommitted changes does not focus on the popup, so I can't navigate up/down the changes without using my mouse. Also the bulk actions popup does not focus so I need to use my mouse to click something there anyway

This is just mainly focused on navigation, and there are plenty more but I think it's clear that there is currently no support for keyboard accessibility so I don't need to list everything that there isn't.

I figure this can be labelled as a feature request, but I can separate requested capabilities into things that would at the minimum allow me to navigate through the ISL in a very basic manner, and things that I would imagine a more complete version to contain

Note that these requests are just what I personally feel like would enhance my experience with the tool. Of course there are millions of things that are nice to have but I'm at least cropping it down to the fewest most important things to me.

Basic Requirements/Requests

Navigation

  1. Navigate through commits up & down in a predictable fashion (Starting at the first commit instead of an arbitrary commit in the middle of the page)
    • Alternatively, we could start at the commit that we are currently on, but opening the ISL does not automatically scroll down to the current commit so that would need to be included as well if we start from there
  2. Navigate through changed files in the commit info section with up/down
  3. Navigate with right arrow key into the Commit Info section, and left arrow key back into the main log
  4. Navigation with arrow keys through commit and navigation via Tab are currently separate, so there are two focuses on the page at once. They should be combined, so navigating down 5 commits then pressing Tab will start the Tab navigation from the newly focused commit, not from where the last Tab index was

Actions

  1. Basic actions on the currently selected item:
    • Currently selected commit: Go to the selected commit
    • Currently selected file: Go to the selected file; See diff view and revert or other actions can be done via Tab navigation if necessary for the basic requirements

Longer term keyboard accessibility requests

Navigation

  1. hjkl-ish shortcuts
  2. Go to next/previous commit stack
  3. Jump to current commit
  4. Search/find/jump to arbitrary commit by (in order of importance to me -) commit name, PR #, bookmark

Actions

  1. Shortcut to amend/commit current changes
  2. Unamend/uncommit shortcuts
  3. Rebase shortcut (there is currently bulk actions > rebase all onto, but that requires the mouse because the only shortcut there is alt+b to open the menu, then there is no keyboard focus on the popup to continue)
  4. Amend commit name/message

There are several more that I'm sure people have but I'm aware that it's a pretty early stage and it probably isn't very productive/worthwhile to list all the keyboard shortcuts I could ever want :)

@quark-zju
Copy link
Contributor

Thanks for feedback. We do want to improve keyboard accessibility but haven't got to it yet...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants