Motivation
As a user, I can't easily move to the previous (or next) set of revisions easily without using the mouse.
Solution
(Old suggestion: From https://www.mediawiki.org/wiki/Topic:Tnzvxtfzp9oqsw5v :)
terminology as on https://www.mediawiki.org/wiki/Extension:RevisionSlider
The basic implementation will cover moving the pointers by keyboard, just like dragging them. There are currently no specs for the equivalent of hover states or moving both knobs together.
1– Tabbing order for setting focus to elements (explained here for left to right languages, for right to left languages it should be the other way round):
- 1. left change-view arrow (if there),
- 2. right change view arrow (if there) ,
- 3. yellow knob
- 4. blue knob
- 5. help button
2– Behaviour
If the tab focus is on one of the knobs, following actions are possible on the focused knob. :
- An arrow left on the keyboard moves one revision to the left
- An arrow right on the keyboard moves one revision to the right
as if it would have been dragged there. When the key is released (Why released? A change triggers a redraw of the diffs and many diffs in succession would cause many redraws), the action is executed.
No other actions are specified/implemented
Edge cases:
If the slider is at the end of its range (either range of the loaded revisions or next to the other slider: No action. (There would be some plausible action that could be taken, but dragging does not do an additional action, so we stay within that behavior)
3– Styles
For now, the styles applied when focus is on a slider, would be the same as the one applied on hover: The slider line is less transparent, the pointer brighter (this needs to be looked up in the current implementation since the same styles and possibly CSS classes can apply). The style is un-applied when the focus moves somewhere else.
Background of the RevisionSlider
The RevisionSlider is an extension that adds a slider view to the diff page so that you can easily move between revisions.