To me, this is better usability. I agree - fixed headers obscure the page and it's bad. But simultaneously, it's nice to be able to access the header and navigation instantly. This seems like a good compromise?
It's fairly obvious which one is actually more important in the majority of cases and it's going to be the actual information you're currently reading through. Obscuring the actual content in any form is a direct reduction to page usability.
Seems like a definite win to me? Maybe your usability desires are different than other users desires? In the case of an autohiding header - it doesn't seem like a big reduction in page visibility?
I straight up permanently remove most sticky headers with Ublock Origin. 90% of the sites I read content on, I didnt get there by internal site navigation, I got there from a kagi search or HN link. The rare exception are documentation sites; I use their internal navigation often. Thankfully, though, very few of these sites use sticky headers. I just quickly scroll to the top or use the pagination buttons at the bottom.
I read from the top of the screen and scroll the page so that I'm always reading at the same position without much vertical eye movement, and occasionally flick back a sentence or two for context, which is why it's annoying for me. For a reader who read down the page and occasionally scrolled it would be much less annoying.
To me, the idea itself is not that bad and there are some usability gains to be had, but the implementations are just horrible, lazy, and user hostile.
Why is scrolling tied to changing the visible state of an interface element anyway? Scrolling down to hide and up to reveal /makes no sense/ to anyone other than the guy who wrote it (read: you).
Interface elements that pop in and out are /bad/, especially for people who aren't completely familiar with computers. Elements that change, especially ones that do so seemingly at random, are very disruptive, distracting, and hard to grasp.
An interface that is easy to understand and use has as few changing interface elements as possible, the more static the interface the better.
Most implementations do the inverse: you overscroll a little, want to fix it, but the header appears. You want to scroll it away, but it persists for a while, so you lose track of where to start to make the line you needed to the top. Because user humiliation is a MUST for a modern site, I guess.
iOS Safari does it much better than a simple hysteresis for its URL bar, but I’m not sure web has enough event detail to implement its way: pull down does nothing, only “kick” down shows the bar.
The only thing that auto-hiding header does is cover up something I was trying to see.