A Small Change to Improve Browsers for Keyboard Navigation
Key topics
The debate rages on about how browsers handle keyboard navigation, specifically when it comes to activating elements like buttons and divs. Some commenters, like massimoto and hirako2000, report success with certain keyboard shortcuts, while others, including the author h43z, note inconsistencies across browsers like Chrome and Firefox. A surprising takeaway is that even basic HTML elements like buttons don't always respond to keyboard events as expected, sparking a discussion about potential fixes and workarounds, such as pressing Esc before Enter or using extensions like Vimium. As commenters dig into the nuances, it becomes clear that improving keyboard navigation is a complex issue that requires a deeper dive into browser behavior and user needs.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
21m
Peak period
35
0-6h
Avg / period
8.5
Based on 68 loaded comments
Key moments
- 01Story posted
Aug 25, 2025 at 9:40 AM EDT
4 months ago
Step 01 - 02First comment
Aug 25, 2025 at 10:01 AM EDT
21m after posting
Step 02 - 03Peak activity
35 comments in 0-6h
Hottest window of the conversation
Step 03 - 04Latest activity
Aug 28, 2025 at 1:27 PM EDT
4 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
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.
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.)
https://addons.mozilla.org/en-US/firefox/addon/vimium-ff
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!
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…
▲ ▲
▲ ▲
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. :-)
Now, with the summary, it's:
Just wild lolThe lenovo keyboard with its trackpoint and mouse buttons is a kind of solution to this, but IME scrolling is still a PITA as it needs two inputs (switching to scroll mode while moving the trackpoint)
Apparently no one else was interested in it. I still use it daily.
Only applies to public and commercial services, though.
Mouseless as well for navigating anywhere on the computer without a mouse -> https://mouseless.click/
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.
I'm trying out Homerow and I'm really liking it! Thanks for mentioning it. I might end up sticking with it actually.
[0] https://tridactyl.xyz/about/
edit: added url
First, hint mode: https://github.com/rvaiya/warpd#hint-mode-alt-meta-x
switching to normal mode: https://github.com/rvaiya/warpd#normal-mode-alt-meta-c
Share your interesting options.
This doesn't seem to work with English International keyboard.
(YAHE) https://gitlab.com/jpallari/yahe
(BTW, does anyone here remember extension called »Hit-A-Hint«?)
https://leopardlinks.com/
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
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
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.
Since there is no tariff adding <div> in react code, even my teammates are using these as pseudo buttons. As a user, I cannot even tell if it's a button or not. The cursor usually doesn't change or becomes "I-beam" (text selection). Only way to understand is click random places and wait for mysterious stuff to happen.