I use w3m (it doesn't have a graphical interface) as much as possible because I got tired of the complexity of the web.
It's also much faster than Firefox; it loads pages instantly while in Firefox there is always a small delay.
Aside from HN on my mobile (Chrome), it's lynx or w3m or emacs-w3m for me. I especially agree with your further comment below about "21" - I'm quite guilty (extending onto my command lines line as well).
Tab and enter to click links.
When there are too many links in the way I sometimes use j and k to go down or up lines to skip them or '/' to search for the text of the link.
It's also possible to use numbers before j and k (or any other commands) to go down or up multiple lines.
So if I see that a link is 1 decimeter below the cursor, I press "21j" to go down 21 lines which puts me close to the link and then I can usually just press tab once or twice and enter.
The reason for 21 (or 12 or 31 and so on) instead of 20 is that 2 and 1 are close to each other on the keyboard so I can easily hit them with my left hand while putting my right index finger on the j key.
Reading text is easy, just page down/up which can be combined with arrow keys to go down/up half a page.
Example: page down + arrow up goes down a page and then up half a page because it puts the cursor at the top of the page when I hit page down.
It's also possible to scroll down one line with J and up one line with K.
Managing multiple pages is easy too.
I can open a tab with T or a link in a new tab with ctrl+t and close the tab with ctrl+q and switch tab with { and }.
I can go backward and forward in history by pressing s and selecting a page or just back once with B.
There are just a few things that are a bit annoying.
When you open a link in a new tab, the browser is not responsive until the page has loaded or you abort it with ctrl+c.
And some pages are just really bad and hard to read or navigate with a browser like this because they rely too much on javascript or css.
When I have to, I use Firefox.