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: Console keyboard focus is trapped #11522

Closed
snide opened this issue Apr 28, 2017 · 5 comments · Fixed by #13496
Closed

Accessibility: Console keyboard focus is trapped #11522

snide opened this issue Apr 28, 2017 · 5 comments · Fixed by #13496
Assignees
Labels
bug Fixes for quality problems that affect the customer experience Feature:Dev Tools Project:Accessibility Team:Platform-Design Team Label for Kibana Design Team. Support the Analyze group of plugins.

Comments

@snide
Copy link
Contributor

snide commented Apr 28, 2017

Problem

The focus state is trapped in any of our code editors.

  • Users can't use the usual tab / shift-tab to move throughout the form because that's use for indentation.
  • Users also can't tab through the options underneath the "Wrench" icon menu.

Proposed solution

The code editors we use should set the "ESC" key to unfocus the cursor on the editor. Futher, we should use an advanced settings accessibility toggle within Kibana to turn off indentation tabbing if set to True.

@snide snide added the Team:Platform-Design Team Label for Kibana Design Team. Support the Analyze group of plugins. label Apr 28, 2017
@cjcenizal cjcenizal changed the title Accessibility: Dev tools keyboard focus is trapped Accessibility: Console keyboard focus is trapped May 1, 2017
@cjcenizal
Copy link
Contributor

cjcenizal commented Jul 6, 2017

@snide @aphelionz @timroes

How about we adjust the UX slightly:

  1. Tab to focus on the editor element as a whole.
  2. "Enter" key enters the "edit" mode, so now all keypresses affect editor content.
  3. "Esc" key exits "edit" mode, restoring focus to the editor element.

This makes the actions to enter and exit symmetrical and explicit, so users are less likely to unexpectedly end up in a "tabbing cul de sac".

I looked for an ARIA role which could communicate this interaction model, but couldn't find anything. The closest thing I could find was the textbox role, but that doesn't suggest any special interaction model.

Anyone have any thoughts on how can we communicate to the user that they can interact with this component with enter/esc keypresses? Maybe we can display text instructions once you focus on the element, which we can reference via aria-describedby?

@snide
Copy link
Contributor Author

snide commented Jul 6, 2017

@cjcenizal Assume enter wouldn't be needed for mouse users? They'd just click in correct?

@cjcenizal
Copy link
Contributor

Right, I think people should still be able to just click on it to enter the editing mode.

@timroes
Copy link
Contributor

timroes commented Jul 6, 2017

@cjcenizal I find the idea very good! I guess the textbox role would be fine. Maybe the application role might be an option, but I am not sure if that is not "too much". I would also show a description below the box once it's focused and reference that with aria-describedby.

@tbragin tbragin added the bug Fixes for quality problems that affect the customer experience label Jul 28, 2017
@timroes timroes self-assigned this Aug 3, 2017
@timroes
Copy link
Contributor

timroes commented Aug 7, 2017

Waiting for reviews on #13339 to reuse it in this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Fixes for quality problems that affect the customer experience Feature:Dev Tools Project:Accessibility Team:Platform-Design Team Label for Kibana Design Team. Support the Analyze group of plugins.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants