A small change to improve browsers for keyboard navigation

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

Comments (42)

ashwinsundar · 8h 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 · 7h 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.

lelandfe · 5h ago
I wish this was paid or open source…
CharlesW · 7h ago
ShortCat is an incredible recommendation, thank you!
idk-92 · 6h ago
omg this is amazing. shortcat that is
daef · 7h ago
i <3 tridactyl [0] - are there upsides to vimium i'm missing?

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

edit: added url

umbra07 · 7h ago
Vimium has better smooth scrolling. I really, really want to use Tridactyl, but I just can't stomach their smooth-scrolling implementation.
theappsecguy · 7h ago
Tridactyl is only available for Firefox unfortunately
ashwinsundar · 7h ago
Probably not, use whatever makes you happy!
pmdr · 7h ago
Vimium, (neo)vim and vim key bindings have been life-changing.
magios · 5h ago
i use i3wm so there are various keybindings you can use. for mouseless stuff i use xdotool to move the pointer in 16 or 64 pixel increments using the keyboard. if i could toggle the mouse pointer on and off i would.
isaif · 5h ago
You can use unclutter to hide the cursor after a period of inactivity. https://wiki.archlinux.org/title/Unclutter
high_priest · 16m ago
Recently, I had written a post mentioning basics of my fully keyboard oriented workflow on Windows.

https://amun.pl/blog/post/working-on-windows-with-keyboard-o... (Sorry for missing images, I accidentally deleted them when messing with containers backups)

I mention the BrowseCut chromium plugin over there, which made navigating all kinds of pages, a total breeze.

Expecting questions if the BrowseCut extension works with Duolingo. It does not. Although, I have not had issues on any other pages.

jwr · 9h 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 · 8h 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 · 7h ago
Just dropping a note to say I appreciate your asterism! :-)
chrismorgan · 7h 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. :-)

encom · 4h ago

▲ ▲

AlienRobot · 3h ago
‏‏‎ ‎‏‏‎ ‎▲

▲ ▲

cool-RR · 3h ago
I wrote this Chrome extension to solve this problem for myself 2 years ago: https://chromewebstore.google.com/detail/focustoscroll/jbcpo...

Apparently no one else was interested in it. I still use it daily.

cluckindan · 8h 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.

mathiaspoint · 4h ago
Sometimes page up/down seek the video on YouTube. That's terrible.
CodeMage · 9h 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 · 9h 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 · 8h 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.)

vunderba · 9h 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 · 9h 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
remark5396 · 9h 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

lolive · 2h ago
lolive · 2h ago
For people using keyboard a lot, and who HATE to have focus going out of the HTML rendering panel, you can simply Ctrl-F Esc and you are back on focus. Best hint I read on the Internet since 1967 !
blacklight · 8h 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.
WhyNotHugo · 1h ago
> Just press ' and start typing.

This doesn't seem to work with English International keyboard.

HankStallone · 8h 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.
dannyfritz07 · 9h 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 · 9h ago
The links yes, but what about buttons or other html elements?
hirako2000 · 9h 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 · 8h 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 · 9h 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

butz · 4h ago
With more websites shrinking their scrollbars or removing them outright, keyboard navigation seems to be the last resort.
OGEnthusiast · 7h ago
FWIW, using Chromium on Linux, I was able to use Ctrl+F + Escape + Enter to find and click on all of them except for the "span with an onclick handler".
h43z · 3h ago
The span one is the important one though as most of the modern web does not use <button> anymore.
massimoto · 9h ago
Control + Enter worked on the first three test elements for me on Chrome + Mac. I got alerts and redirects.