Keyboard navigation: a new prototype

69 views
Skip to first unread message

Yakov

unread,
Jul 18, 2025, 3:51:10 PMJul 18
to TiddlyWikiClassic
Hello everyone,

recently I figured that I really want to implement some nice keyboard navigation (aside the JumpKeysPlugin) while keeping an eye on accessibility, too. That proved to be a long-term project, but I think I now have a prototype that can be helpful, so let me share it:


I'm not 100% satisfied about the behavior on tiddler click (sometimes scrolling to the title is not convenient, so I'll be thinking about when to prevent it), but other than that (and maybe the selected tiddler styling), it looks to me as a good candidate to be included into the future core versions.

Let me know if you find it helpful or if you have any objections to adding similar functionality to the core.

Best regards,
Yakov

Yakov

unread,
Sep 6, 2025, 8:11:15 AMSep 6
to TiddlyWikiClassic
Just want to point that the plugin got much more mature, now there are scopes (global/tiddlerEdit/tiddlerFocus) for commands, and one can set different hotkeys for those scopes (as an example of a global command, there's an implementation of saveChanges command, which can substitute SaveByHotKeyPlugin). Various other features were added, like ctrl+↑/↓ to jump between edit fields, esc to move focus from an in-tiddler element to the tiddler itself, etc.

There's still a lot to do (for instance, support of edit context commands, so that one can "ctrl+b to wrap selected text with ''...''", or means to quickly navigate between "areas" like backstage, main menu, or tiddlers), but it already makes my user experience much more pleasant, so you may want to give it a try.

(by the way, I've also updated YourSearchPlugin to make it compatible with DarkModePlugin and KNP)

пятница, 18 июля 2025 г. в 22:51:10 UTC+3, Yakov:

Roma

unread,
Sep 10, 2025, 5:14:17 AMSep 10
to TiddlyWikiClassic
Dear Yakov,
Many thanks. I still find this kind of plugin very useful as it is related to productivity. I could try KeyboardNavPrototype, so here are my comments.
  • I love the keyboard access to menu commands (edit, cancel, focus, etc.) or fields in a tiddler. [Shift+Tab], [Tab] to reverse the cycle or go to fields in a tiddler, [Esc] to shift menu access / fields in a tiddler.
  • I use a lot JumpKeysPlugin. Both plugins are companions.
  • I didn't catch the focus trick. ctrl+↑/↓ just puts me page up or down. Since for first release I never could find FocusTiddlerPlugin (the reason why I didn't comment). I use CollapseTiddlersPlugin.
  • [Ctrl+Shift+d] or [d] just proposes me to suppress the tiddler when in edit mode, otherwise nothing.
  • I use TW almost always in "Tab mode" (TiddlersBarPlugin). This is why JumpKeysPlugin is, somewhat, more useful for me. But yes, the possibility to access commands, panels (areas)... was missing.
May be I forgot some comments. I will let you know in this case. I am very enthousiastic! I wish you the best...
Roma -

Yakov

unread,
Sep 13, 2025, 9:50:19 AMSep 13
to TiddlyWikiClassic
Hi Roma, thanks for the feedback!

The ctrl+↑/↓ are set to do 2 types of navigation:
1. If you select a tiddler (for instance, by clicking on it, but not on a button or an input inside it), it shifts selection to the next/prev tiddler;
2. If an input is in focus (for instance, an editor of title/text/tags), it shifts focus to the next editor. This was done primarily because with chkInsertTabs: true, you can't navigate out of text editor (as tab/shift+tab are "blocked").

> [Ctrl+Shift+d] or [d] just proposes me to suppress the tiddler when in edit mode, otherwise nothing.
Not sure what you mean by "suppress", doesn't it delete the tiddler?

среда, 10 сентября 2025 г. в 12:14:17 UTC+3, Roma:

Yakov

unread,
Sep 24, 2025, 3:21:28 AM (8 days ago) Sep 24
to TiddlyWikiClassic
Another update includes:
  • self-documentation (KeyboardShortcuts shadow/<<keyboardShortcuts>> macro);
  • hotkeys to jump to tiddlers (t)/sidebar (s)/main menu (m)/backstage (b) + ability to add custom (see self-doc);
  • skip to content link (hidden, gets into focus on first Tab) + hidden link to KeyboardShortcuts after it;
  • some minor improvements.
PS Roma, I got what confused you about the d/ctrl+shift+d shortcuts, see the updated intro.

Presumably, I'll start merging the plugin into JumpKeysPlugin soon.

суббота, 13 сентября 2025 г. в 16:50:19 UTC+3, Yakov:

Roma

unread,
Sep 26, 2025, 9:32:45 AM (6 days ago) Sep 26
to TiddlyWikiClassic
This is great! Works well. Thank you for all... Merging with JumpKeyPlugin will make a key plugin ;) :)

Roma

unread,
Sep 28, 2025, 7:24:19 AM (4 days ago) Sep 28
to TiddlyWikiClassic
I notice that the Plugin prevents me from selecting text when not in edit mode: the highlight is not maintained...

Yakov

unread,
Sep 28, 2025, 7:49:31 AM (4 days ago) Sep 28
to TiddlyWikiClassic
Could you be more specific on how to reproduce the issue (steps, expected behavior, actual one)? If it's reproducible on a11y.tiddlyhost.com, please describe for it; otherwise, this needs investigating interaction with other extensions, maybe listing all the installed ones will be a start. Finally: did the behavior changed to the unwanted one on some update of KNP, or you just have noticed the problem recently, while it may have been there since the first version you've tried?

воскресенье, 28 сентября 2025 г. в 14:24:19 UTC+3, Roma:

Roma

unread,
7:41 AM (2 minutes ago) 7:41 AM
to TiddlyWikiClassic
Yes.
  • When I disable KeyboardNavPrototype the issue disappears.
  • In a11y... same effect: when I highlight (select) text, the selection does not retain.
  • I didn't change anything to KeyboardNavPrototype.
  • I have other plugins of course and could give you the list but seem to me alright because no issues between them...
  • My OS is Pop OS on Linux. It has native shortcuts but I don't see a potential relationship with mouse actions.
  • I use Firefox with Timimi.
  • I changed the pointer device, from a graphic tablet to a tracker: same issue.
  • As a reminder, JumpKeyPlugin is installed and works well (no such issue).
As the problem remains on your a11y site, we can suppose some problematic computer caracteristics on my side. 
Let me know what you want me to do to check other parameters. Meanwhile I will try to test on a Windows system.
To be followed...
Reply all
Reply to author
Forward
0 new messages