A Small Change to Improve Browsers for Keyboard Navigation

86 h43z 25 8/25/2025, 1:40:11 PM b.43z.one ↗

Comments (25)

ashwinsundar · 1h ago
I installed Vimium a few months ago and haven't looked back -> https://vimium.github.io/

Mouseless as well for navigating anywhere on the computer without a mouse -> https://mouseless.click/

ashton314 · 37m ago
For macOS users, I highly recommend ShortCat: https://shortcat.app/

ShortCat uses the accessibility API to put Vimium-style keyboard links on buttons and text fields in any app.

I find that Vimium works faster in Firefox than using ShortCat to click around websites, so I use both, but ShortCat technically should do everything (clicking-wise) that Vimium does.

pmdr · 24m ago
Vimium, (neo)vim and vim key bindings have been life-changing.
daef · 33m ago
i <3 tridactyl [0] - are there upsides to vimium i'm missing?

[0] https://tridactyl.xyz/about/

edit: added url

theappsecguy · 29m ago
Tridactyl is only available for Firefox unfortunately
ashwinsundar · 29m ago
Probably not, use whatever makes you happy!
jwr · 1h ago
Incidentally, I've been trying to use the keyboard to scroll webpages recently, and it's a disaster. Nobody does it, apparently.

PageUp/PageDown do not work correctly on sites that have a permanent topbar (some of the content is never shown). Cursor up/down often does something unexpected (for example in Mastodon, if you use PageDown several times and then cursor down, you will get yanked back).

I think it is a sad regression. Not everybody is able to use the mouse and its scrollwheel!

chrismorgan · 1h ago
I use Space/Shift+Space and PageUp/PageDown and End¹ for vertical scrolling all the time. It’s nowhere near a disaster. I also disable JS by default, which… well, actually that might help sometimes. And hinder other times.

Rarely, I find a page that doesn’t use the document scroll area, but makes its own which is not focused, and so you have to focus that (by Tab as many times as necessary, or by clicking) before you can scroll by keyboard. But that’s rare.

Long ago, Firefox started compensating for sticky headers, reducing the amount it would scroll the page by, and it mostly works well, though it’s not flawless. I don’t think I’ve observed the same feature in other browsers. One amusing situation that can arise is when the header disappears when you go down and reappears when you go up, so that repeating PageUp and PageDown yields net movement in one direction.

—⁂—

¹ End, but not Home, which is Fn+Left on my laptop, but the Left key hasn’t worked for over a year now. I’ve contemplated replacing the battery and keyboard, but the laptop’s falling apart in enough other ways it doesn’t quite feel worth the investment…

treetalker · 23m ago
Just dropping a note to say I appreciate your asterism! :-)
chrismorgan · 8m ago
A few years ago I thought long and hard, tried quite a few different things, and ended up settling on that sequence. And with this in my ~/.XCompose:

  <Multi_key> <h> <r> : "—⁂—"
… I can get it by typing `Compose h r`. (“hr” as in <hr>, HTML’s Horizontal Rule.)

At one point since then I came across another person on HN that had independently settled on the same three characters (em dash, asterism, em dash).

In my personal dialect of the lightweight markup language I’ve been making, —⁂— is even the syntax for a horizontal rule. :-)

cluckindan · 1h ago
In the EU and the US, this kind of broken accessibility is not legal and the service providers can be sued.

Only applies to public and commercial services, though.

vunderba · 2h ago
On a related note, highly recommend the Firefox Vimium extension if you're a "keyboard warrior".

https://addons.mozilla.org/en-US/firefox/addon/vimium-ff

h43z · 1h ago
I used to use vimium (and tried similar extensions) but it always scared me how big the codebase was for most of the popular extensions. In the end I came up with a tiny extension for just the things I need https://github.com/h43z/jkscroll
CodeMage · 2h ago
When you press Enter in the search box, Firefox finds the next occurrence of your search pattern. An easy fix that doesn't require an extension is to press Esc first, which closes the search box, and then you can press Enter.
h43z · 2h ago
This works on links and buttons in chrome. In firefox just on links. In both it doesn't work for other html elements.
chrismorgan · 59m ago
I was going to disagree with you, but… huh. It doesn’t work on buttons. Thought it did. Selection is set, but focus isn’t. Further workaround: Shift+Tab.

This feels like it may be a bug, but at the very least it’s not a recent regression—I tested Firefox 44 and it shows the same behaviour. (44.0 is the oldest version I can run now, apparently. I tried 4.0 first, the first version with linux-x86_64 builds, which I have run successfully in the past, I think even in the last year, but now all versions before 44.0 are crashing on startup.)

HankStallone · 59m ago
I use Qutebrowser, a keyboard-driven browser built on the Chromium engine. The controls are mostly vi-like (search with /), but easy to configure.
remark5396 · 2h ago
It may be well-known, but I’m quite happy with Vimium C for keyboard-based browsing. It provides a sufficiently good set of Vim keybindings* and highlights all clickable elements when you press 'f', not just <a href> ones.

Firefox: https://addons.mozilla.org/ko/firefox/addon/vimium-c/

Chrome: https://chromewebstore.google.com/detail/vimium-c-all-by-key...

* not exactly the same with Vim

blacklight · 1h ago
Or just use the Surfingkeys extension - it has a bit of a steep learning curve to customize it, but it's worth every piece of effort.
dannyfritz07 · 2h ago
I'm using Firefox and the links were activated when I hit enter in the quick-find prompt. Not sure why the behavior is different than what the author is seeing.
h43z · 2h ago
The links yes, but what about buttons or other html elements?
hirako2000 · 1h ago
Buttons work too.

The issue is with any JavaScript driven on click events tags. Some sites even have their <a> tags not responding to keyboards events, because they have a hash href, and a JavaScript handler to redirect.

The web is beautiful place.

h43z · 1h ago
I don't see it working on firefox for buttons but on chrome. Both don't work on other html elements (div,span,..).
jiehong · 2h ago
Good idea!

I think browsers should also come with headingMaps [0] and landmarks by default for all websites. With a keyboard shortcut to access them, navigation would be great (assuming websites have a semantic DOM).

[0]: https://addons.mozilla.org/en-GB/firefox/addon/headingsmap

massimoto · 2h ago
Control + Enter worked on the first three test elements for me on Chrome + Mac. I got alerts and redirects.