The default function of arrow keys on a web page is for scroll, when we hijack these for custom functionality like moving focus between packages on the search results page, we’re overriding this more essential function. Instead, we should consider remapping our functionality to j and k (vim motions) as they are fairly common for this purpose in other web apps (e.g. GitHub /notification; Mastodon; the app that used to be called Twitter).
If anyone picks this up, please keep in mind that user interface components that require arrow key navigation for focus management are exempt from this change (e.g. a correctly coded listbox will use arrow keys for navigating results; arrow keys are how a tabbed interface is controlled).
The default function of arrow keys on a web page is for scroll, when we hijack these for custom functionality like moving focus between packages on the search results page, we’re overriding this more essential function. Instead, we should consider remapping our functionality to
jandk(vim motions) as they are fairly common for this purpose in other web apps (e.g. GitHub/notification; Mastodon; the app that used to be called Twitter).If anyone picks this up, please keep in mind that user interface components that require arrow key navigation for focus management are exempt from this change (e.g. a correctly coded listbox will use arrow keys for navigating results; arrow keys are how a tabbed interface is controlled).