TWIL November 7th 2025

I've mentioned this before and doubtless will again, but the ability of frontend devs to misuse elements continues to blow my mind. I was working on a login page today and struggling to get the ToS link inline with the text around it, so I dug through the component tree to figure out why it was ignoring my styles and found... a button. Yes, the 'link' was a button with an onClick that did some analytics then called window.open with the ToS link. Why. Just why. Both a and button have been widely supported since July 2015 (which seems very late for such core parts of the web). Buttons are for triggering form submissions or interactions within a page LINKS (a) are for navigating to other pages. Why would someone go out of their way to not use a link?? I get that we apparently need analytics for when someone clicks on the ToS (??), but you can put an onClick on an a element as well y'know. Anyway the link is now actually a link and I look forward to the inevitable CS ticket about users being confused the the ToS text is all inline now rather than having a random misaligned line break like they're used to -__-.

Solved by CSS Scroll State Queries: hide a header when scrolling down, show it again when scrolling up. - Bramus

Saving this because of an absolute abomination of a JS-based solution to something similar I ran across in one of our projects more than for hiding headers, btu I'm sure I'll think of a cool use for this when it becomes usable in browsers circa-2027.