Merge rejected patch chunks window: Add keyboard accessibility for all buttons and focus ring
Created originally on Bitbucket by thomasdd (Thomas D.)
"Merge rejected patch chunks..." window is currently almost completely keyboard-inaccessible, which violates established UX standards (and makes this a bug). The initial keyboard focus is in the upper editing pane (that's good), but it's stuck there and there are no keyboard shortcuts for buttons, so that's a complete cul-de-sack for keyboard users.
I suggest the following changes:
- Ctrl+S keyboard shortcut for Save Button (Filed separately as #4996 because that's most needed and most easy to implement)
- S as accesskey for Save Button (so that Alt+S will press it)
- Ctrl+R and Alt+R for "Mark this chunk as resolved"
- Ctrl+U and Alt+U for "Mark this chunk as unresolved"
- Expose Ctrl+R/Ctrl+U in button tooltips (not needed for Ctrl+S, that's common knowledge for keyboard users, so they will just try it, but getting a tooltip on Save button every time is irritating for mouse usage).
- Exposing keyboard shortcuts in mouse-only tooltips helps, but there's a bit of irony and shortcoming in that, so ideally, when a button gets keyboard focus ring, its tooltip should be shown for some seconds.
- Ensure full focus ring keyboard navigation between the UI elements of this dialogue
- Consider exposing keyboard shortcuts via a small (i) icon in lower left corner, clicking which would show a simple dialogue (minimally large tooltip) explaining keyboard options.
@ 7: Focus ring is a bit tricky as TAB gets stuck in upper editing pane. Some applications like Mozilla Thunderbird have F6 for moving focus around, don't know if that's industry standard, but it certainly helps. Otherwise, you could make it so that Shift+TAB with cursor/caret at the very beginning of the editor input field would at least move focus ring backwards.