Fossil SCM

Comment and TODO updates.

florian 2022-08-04 06:14 timeline-keyboard-navigation
Commit ec8b53a9bc6490c666e17676e73834711ffd0658aa6bdd73567649b4553b6330
1 file changed +11 -8
+11 -8
--- src/graph.js
+++ src/graph.js
@@ -806,15 +806,15 @@
806806
**
807807
** N - Select next (newer) entry.
808808
** M - Select previous (older) entry.
809809
** J - View timeline of selected entry.
810810
** K - View details of selected entry.
811
-** L - Disable keyboard navigation mode.
811
+** ESC - Disable keyboard navigation mode.
812812
**
813813
** When navigating to a page with a timeline display, such as /timeline, /info,
814814
** or /finfo, keyboard navigation mode needs to be "activated" first, i.e. if no
815
-** timeline entry is focused yet, pressing any of the listed keys (except L)
815
+** timeline entry is focused yet, pressing any of the listed keys (except ESC)
816816
** sets the visual focus indicator to the highlighted or current (check-out)
817817
** entry if available, or to the topmost entry otherwise. A session cookie[0] is
818818
** used to direct pages loaded in the future to enable keyboard navigation mode
819819
** and automatically set the focus indicator to the highlighted, current, or
820820
** topmost entry. Pressing N and M on the /timeline page while the topmost or
@@ -836,16 +836,19 @@
836836
** breaks if disabled[=true] or tabindex="-1" attributes are added to the input
837837
** field, or (in FF) if page unload handlers are present.
838838
**
839839
** Ideas and TODOs:
840840
**
841
-** o Shortcut to select the topmost or bottommost entry, either by separate
842
-** key, or with modifiers (SHIFT+N, SHIFT+M)?
843
-** o Shortcut to toggle the tick-mark for the focused check-in node.
844
-** o Shortcuts to copy branch name or hash of the focused entry to clipboard.
845
-** o Shortcut to put the focus indicator to the default item(s), in (cyclic)
846
-** order ticked → highlighted → check-out → ticked → ...
841
+** o kTMLN: ensure the correct page is opened when used from /finfo (it seems
842
+** the tooltip also gets this "wrong", but maybe that's acceptable, because
843
+** in order to be able to construct /file URLs, the information provided by
844
+** the timeline-data-N blocks would have to be extended).
845
+** o kFRST, kLAST: check if the previous/next page should be opened if focus is
846
+** already at the top/bottom.
847
+** o Tweak the focus indicator background color and opacity to be suitable for
848
+** the light-background skins, and override it for the dark-background skins
849
+** (Ardoise, Dark Mode, Eagle, Xekri).
847850
** o Improve scrolling the focused element into view for browsers without the
848851
** Element.scrollIntoViewIfNeeded() function, maybe with a Polyfill, or
849852
** something similar to the scrollToSelected() function in this source file.
850853
*/
851854
(function(){
852855
--- src/graph.js
+++ src/graph.js
@@ -806,15 +806,15 @@
806 **
807 ** N - Select next (newer) entry.
808 ** M - Select previous (older) entry.
809 ** J - View timeline of selected entry.
810 ** K - View details of selected entry.
811 ** L - Disable keyboard navigation mode.
812 **
813 ** When navigating to a page with a timeline display, such as /timeline, /info,
814 ** or /finfo, keyboard navigation mode needs to be "activated" first, i.e. if no
815 ** timeline entry is focused yet, pressing any of the listed keys (except L)
816 ** sets the visual focus indicator to the highlighted or current (check-out)
817 ** entry if available, or to the topmost entry otherwise. A session cookie[0] is
818 ** used to direct pages loaded in the future to enable keyboard navigation mode
819 ** and automatically set the focus indicator to the highlighted, current, or
820 ** topmost entry. Pressing N and M on the /timeline page while the topmost or
@@ -836,16 +836,19 @@
836 ** breaks if disabled[=true] or tabindex="-1" attributes are added to the input
837 ** field, or (in FF) if page unload handlers are present.
838 **
839 ** Ideas and TODOs:
840 **
841 ** o Shortcut to select the topmost or bottommost entry, either by separate
842 ** key, or with modifiers (SHIFT+N, SHIFT+M)?
843 ** o Shortcut to toggle the tick-mark for the focused check-in node.
844 ** o Shortcuts to copy branch name or hash of the focused entry to clipboard.
845 ** o Shortcut to put the focus indicator to the default item(s), in (cyclic)
846 ** order ticked → highlighted → check-out → ticked → ...
 
 
 
847 ** o Improve scrolling the focused element into view for browsers without the
848 ** Element.scrollIntoViewIfNeeded() function, maybe with a Polyfill, or
849 ** something similar to the scrollToSelected() function in this source file.
850 */
851 (function(){
852
--- src/graph.js
+++ src/graph.js
@@ -806,15 +806,15 @@
806 **
807 ** N - Select next (newer) entry.
808 ** M - Select previous (older) entry.
809 ** J - View timeline of selected entry.
810 ** K - View details of selected entry.
811 ** ESC - Disable keyboard navigation mode.
812 **
813 ** When navigating to a page with a timeline display, such as /timeline, /info,
814 ** or /finfo, keyboard navigation mode needs to be "activated" first, i.e. if no
815 ** timeline entry is focused yet, pressing any of the listed keys (except ESC)
816 ** sets the visual focus indicator to the highlighted or current (check-out)
817 ** entry if available, or to the topmost entry otherwise. A session cookie[0] is
818 ** used to direct pages loaded in the future to enable keyboard navigation mode
819 ** and automatically set the focus indicator to the highlighted, current, or
820 ** topmost entry. Pressing N and M on the /timeline page while the topmost or
@@ -836,16 +836,19 @@
836 ** breaks if disabled[=true] or tabindex="-1" attributes are added to the input
837 ** field, or (in FF) if page unload handlers are present.
838 **
839 ** Ideas and TODOs:
840 **
841 ** o kTMLN: ensure the correct page is opened when used from /finfo (it seems
842 ** the tooltip also gets this "wrong", but maybe that's acceptable, because
843 ** in order to be able to construct /file URLs, the information provided by
844 ** the timeline-data-N blocks would have to be extended).
845 ** o kFRST, kLAST: check if the previous/next page should be opened if focus is
846 ** already at the top/bottom.
847 ** o Tweak the focus indicator background color and opacity to be suitable for
848 ** the light-background skins, and override it for the dark-background skins
849 ** (Ardoise, Dark Mode, Eagle, Xekri).
850 ** o Improve scrolling the focused element into view for browsers without the
851 ** Element.scrollIntoViewIfNeeded() function, maybe with a Polyfill, or
852 ** something similar to the scrollToSelected() function in this source file.
853 */
854 (function(){
855

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button