-
Notifications
You must be signed in to change notification settings - Fork 219
Description
This issue mirrors #1052, but to discuss the keyboard interaction pattern specifically, for interesttarget.
Pulling from the conversation on #1052, a few things seem clear to me:
- Activating the
interestargeton keyboard focus seems like a bad idea. Users who are merely trying to tab their way through a document will get lots of "noise" with additional visual items showing up. Worse, if the activated hovercard contains interactive elements, those will be next in tab order and will re-route the user through each such hovercard. - Some might say that adding a delay (i.e. focus an element for a period of time) alleviates the above problem, but it merely adds confusion. Users will now have to tab very quickly through documents for fear of accidentally activating hovercards along the way. The same is true of mouse users hovering elements; however, mouse users have the luxury of being able to move the mouse all the way out of the way, and then later back to the same spot within the document. Keyboard users have no such luxury - they are in a linked list of focusable elements, and can't easily traverse out of order.
- If focus cannot be the
interesttargettrigger, then by definition the trigger must be another keyboard hotkey. The task becomes:- Choosing a hotkey, and standardizing it, or...
- Allowing user agents to select the hotkey, and provide a way for users to discover the proper hotkey
I think the best for users would be #1, so that the same hotkey activates all hovercards, across browsers and platforms. Ideally this should be an easy hotkey to press, not requiring modifier keys, etc. Perhaps the best, most self-discoverable such hotkey would be either the up or down arrow?
My fear is that it'll be hard to find an available hotkey that works across all platforms and browsers. But perhaps the arrow keys might be one such option? I don't know what happens when you have something like a radio button group where each radio has an interesttarget, or similar situations. Perhaps we could just make all such conflicts illegal (ignore interesttarget)?