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

Status bar items should be keyboard navigable #95433

Closed
isidorn opened this issue Apr 16, 2020 · 13 comments · Fixed by #97072
Closed

Status bar items should be keyboard navigable #95433

isidorn opened this issue Apr 16, 2020 · 13 comments · Fixed by #97072
Assignees
Labels
accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues feature-request Request for new features or functionality on-release-notes Issue/pull request mentioned in release notes on-testplan workbench-status Status bar
Milestone

Comments

@isidorn
Copy link
Contributor

isidorn commented Apr 16, 2020

Once focus is on the status bar it should be possible to navigate left / right via keyboard so that focus jump over each element.

Destilled from #95428
@bpasero let me know if you have ideas, pointers. We might run into the issue that you reverse the elements for your flex layout.

@isidorn isidorn added feature-request Request for new features or functionality accessibility Keyboard, mouse, ARIA, vision, screen readers (non-specific) issues workbench-status Status bar labels Apr 16, 2020
@isidorn isidorn self-assigned this Apr 16, 2020
@microsoft microsoft deleted a comment Apr 16, 2020
@isidorn isidorn modified the milestones: Backlog Candidates, May 2020 Apr 16, 2020
@LeonarddeR
Copy link

For your info, it seems that in Microsoft Word for example, navigating items in the status bar can be done with:

  • Next item: right arrow, down arrow, tab
  • Previous item: left arrow, up arrow, shift+tab

These six key combinations all wrap, i.e. it is not possible to escape from the status bar with tab. I think this is an important point.

IN VS Code, as tab is able to move across parts, I think it makes sense not to implement tab to navigate status bar items, as it might introduce confusion as of what tab is able to reach.

@isidorn
Copy link
Contributor Author

isidorn commented Apr 16, 2020

@LeonarddeR agree with you. Tab should move focus out of the status bar, and we will only navigate with left / right. Up / down also do not make a lot of sense since visiually it is just one horisontal line imho. Though this might not be obvious so we can make it easier for users and make down behave same as right and up same as left.

@isidorn
Copy link
Contributor Author

isidorn commented May 6, 2020

Created a PR for this, interested parties can chime in #97072

@LeonarddeR
Copy link

I really like this functionality. Would it be possible to focus an item by default though? In MS Office, the first entry gets focus by default and if you move focus through items, the focused entry is saved on the status bar so that when you move out/in with f6/shift+f6, the focused item remains the same.

@isidorn
Copy link
Contributor Author

isidorn commented May 8, 2020

@LeonarddeR preservig focus makes sense, can you please file a new issue for that?
Focusing an item by default for the first time does not make so much sense since the inital F6 should read the whole status bar content, not only the first item. However if we adress your other concern - that we preserve focus than I think we should be good.

@LeonarddeR
Copy link

Focusing an item by default for the first time does not make so much sense since the initial F6 should read the whole status bar content, not only the first item.

Mm, this is currently not the case in NVDA. You can only read the status bar with object navigation commands. May be this is something we should fix in NVDA, though. What does Orca do in this case? @joanmarie

@jvesouza
Copy link

jvesouza commented May 8, 2020

@LeonarddeR @isidorn Pressing f6 orca reads only 'status bar', but not its content. To read the contents of the status bar I need to use the flat review mode or the arrows.

@isidorn
Copy link
Contributor Author

isidorn commented May 8, 2020

Strange that with VoiceOver this just works.
@joanmarie can we improve something on the VS Code side such that the actual content gets read, and not 'status bar'

@LeonarddeR
Copy link

I guess you could add aria-labelledby to the status bar containing ids of all the direct children, but only if no child has focus. I find that a bit tricky. From an IAccessible2 perspective, I'd say the content of the status bar should be the accValue of the status bar object and not the accName.

@joanmarie
Copy link

@isidorn I can do something in Orca and have started working on it (nothing yet committed: speech is easy, doing the braille is uncovering some issues related to the whole "named div" thing. So I'm probably going to wind up having both speech and braille dive down looking for the real objects to present. In this case links.)

In the meantime, something I noticed about the keyboard navigation: Once I've started arrowing amongst items in the status bar, cycling via F6 doesn't bring me back to the status bar; it brings me back to whatever was the last focused object in the status bar. The only way I've found to work around that is quitting and restarting VSCode, which is making debugging the change in Orca a bit more tedious. ;) Is this by design and/or is there a keystroke I can use to give focus to the status bar itself?

@joanmarie
Copy link

Ok, support landed in Orca master to present the newly-focused status bar in speech and braille.

@jvesouza
Copy link

jvesouza commented May 9, 2020

@joanmarie It looks great! Thank you.

@isidorn
Copy link
Contributor Author

isidorn commented May 11, 2020

@joanmarie great. Yeah that is by design, more details here #97241
Press esc to focus the status bar once the focus is on a status bar entry

@isidorn isidorn added the on-release-notes Issue/pull request mentioned in release notes label Jun 4, 2020
@github-actions github-actions bot locked and limited conversation to collaborators Jun 21, 2020
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 feature-request Request for new features or functionality on-release-notes Issue/pull request mentioned in release notes on-testplan workbench-status Status bar
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants
@isidorn @jvesouza @LeonarddeR @joanmarie and others