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/
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.
Shortcat has a ~second delay before showing links, homerow (https://www.homerow.app) is faster.
I wonder if it has to do with accessibility API thread locking. I found a different extension I used to emulate an i3 style environment suffered when I used the Unity game engine. It ended up being limitations of the accessibility API.
I wish this was paid or open source…
ShortCat is an incredible recommendation, thank you!
omg this is amazing. shortcat that is
i <3 tridactyl [0] - are there upsides to vimium i'm missing?
[0] https://tridactyl.xyz/about/
edit: added url
Vimium has better smooth scrolling. I really, really want to use Tridactyl, but I just can't stomach their smooth-scrolling implementation.
Ha! I actually switched from Vimium to Tridactyl partly because I prefer the rough, snappy scrolling. It felt much more like the ctrl+d ctrl+u navigation in VIM.
I never started with Vimium (was using an even less known one), also in part because I find smooth scrolling disorienting. Also on Tridactyl now, once someone on here showed me the hintfiltermode, hintchars, and hintnames settings to get the old Vimperator behavior (which I also find so much better than any current defaults):
set hintfiltermode vimperator-reflow
set hintchars 1234567890
set hintnames numeric
Lets you type the words in links, and the hints filter down to only matches. If you go all the way to 1 match it automatically picks it, but as the hints filter down the numeric labels also reset - so there are no gaps betweeen the numbers and it's almost always between 1 and 5 to get the link I want.Tridactyl is only available for Firefox unfortunately
Probably not, use whatever makes you happy!
Vimium, (neo)vim and vim key bindings have been life-changing.
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.
Warpd is really cool in that context. (https://github.com/rvaiya/warpd)
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
You can use unclutter to hide the cursor after a period of inactivity. https://wiki.archlinux.org/title/Unclutter
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!
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…
Just dropping a note to say I appreciate your asterism! :-)
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. :-)
▲
▲ ▲
▲
▲ ▲
▲
▲ ▲
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.
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.
Mapping mouse events to key shortcuts might be the only way forward that could realistically work. Something like moving the mouse where the cursor/selection is, and sending scrolling events from there.
The 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)
Sometimes page up/down seek the video on YouTube. That's terrible.
Before adding the AI summary, google required:
Tab+tab+enter
to highlight the first link result.Now, with the summary, it's:
Tab+tab+enter+tab+tab
Just wild lolJust chiming in with recommendation of yet another hints extension, this one is called »Yet Another Hints Extension (YAHE)« and is really minimal and nice. Signed, happy long-time user.
(YAHE) https://gitlab.com/jpallari/yahe
(BTW, does anyone here remember extension called »Hit-A-Hint«?)
I’ve always found Firefox’s / quick find feature incredibly useful. But having to click on a link after selecting it always felt awkward and interrupted my flow. This little tweak is brilliant because it removes that extra step with just a few lines of code. If browsers allowed links to activate automatically once selected, navigating with a keyboard would feel so much smoother. I sincerely hope that becomes a standard feature one day.
On a related note, highly recommend the Firefox Vimium extension if you're a "keyboard warrior".
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
Keyboard warrior is people who are on the 10% far end of political spectrums. I'd like a better term for such people but power users is too broad.
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
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.
This works on links and buttons in chrome. In firefox just on links. In both it doesn't work for other html elements.
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.)
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.
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.
I like leopard links for that. cmd+t type "go/" and I get all of the shortcuts I've configured.
Thos small snippet is a great thing to add to your site if you have all your links as buttons.
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".
The span one is the important one though as most of the modern web does not use <button> anymore.
Link Hints, what else !!!!!! https://addons.mozilla.org/user-media/previews/full/232/2320...
I use Qutebrowser, a keyboard-driven browser built on the Chromium engine. The controls are mostly vi-like (search with /), but easy to configure.
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.
The links yes, but what about buttons or other html elements?
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.
I don't see it working on firefox for buttons but on chrome. Both don't work on other html elements (div,span,..).
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
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 !
With more websites shrinking their scrollbars or removing them outright, keyboard navigation seems to be the last resort.
> Just press ' and start typing.
This doesn't seem to work with English International keyboard.
Pressing ' twice places one ' in the search box and then you have to delete it. You can press ' <space> to get the search box empty.
If you have dead keys you need two quotes, like everywhere else.
Control + Enter worked on the first three test elements for me on Chrome + Mac. I got alerts and redirects.
Pressing down-arrow on WSJ articles unmutes the auto-playing video. This may have happened by mistake, but surely they've kept it this way on purpose. I hate it.
What about the fact that almost all websites that I want to search in hijack the quick search key now? https://blog.gpkb.org/posts/lamenting-firefox-quick-find/