Nathan Knowler @knowler.dev · 30/06/2026I can upgrade this markup to be a functional, semantically accessible, and customizable accordion without adding an attribute or element to its light DOM structure and it will work in any framework. Load the custom elements early and you skip any layout shift. Why aren’t more people doing this? 580
Nathan Knowler @knowler.dev · 29/05/2026me whenever someone brings up `content-visibility` or `hidden=until-found` 150
Nathan Knowler @knowler.dev · 28/04/2026spotted today ```html <label id=label for=control>Control</label> <input id=control aria-labelledby=label> ``` 1370
Nathan Knowler @knowler.dev · 26/02/2026Anchor positioning works really well for the "label in the place of a placeholder" pattern, except instead of (ab)using a placeholder, you can use a real label. 1211
Nathan Knowler @knowler.dev · 17/01/2026might keep this little design debugging tool in the final thing 0110
Nathan Knowler @knowler.dev · 17/11/2025I like this design pattern where if the first icon isn't clear enough, you just add another one /s 110
Nathan Knowler @knowler.dev · 07/08/2025After two years of playing Celeste passing the controller back and forth with my now almost six year old, we finally beat it this afternoon! 060
Nathan Knowler @knowler.dev · 11/06/2025CSS anchor positioning for a drop indicator is really nice. 2411
Nathan Knowler @knowler.dev · 30/05/2025I love this little Great Divorce reference on the jacket of the Callous Daoboys' "I Don't Want to See You in Heaven." 000
Nathan Knowler @knowler.dev · 26/05/2025I use it too, but I wonder if that’s just because it’s there—it taps into my impulsive need to dismiss stuff. I find it to be so infuriating to use on the web because the hit target is the size of the icon inside and sometimes it seems like timeline items’ hit area overlaps with it. 210
Nathan Knowler @knowler.dev · 26/05/2025This continues to be the most useless piece of UI on this site. The hit target is like half the size of the circle too. 5281
Nathan Knowler @knowler.dev · 01/04/2025Gonna be sad to say goodbye to my FigPal at the end of the day. 000
Nathan Knowler @knowler.dev · 13/02/2025They differ slightly. Find in page does nothing. Text fragments will scroll the page to the location, highlight the matching text briefly before disappearing (i.e. content stays hidden while in view). User needs to scroll content out of view and back in for it to show up properly. 120
Nathan Knowler @knowler.dev · 31/01/2025Forms with view transitions are so much fun. I’m implementing pagination for my site and—getting distracted—I added a plain HTML form to the page to control the pagination cursors. I haven’t enhanced this with JS at all. 2358
Nathan Knowler @knowler.dev · 06/12/2024I did it, everyone. Got my favourite record ever on vinyl. Bury this with me. 050
Nathan Knowler @knowler.dev · 06/12/2024I came up with this little debug snippet for dealing with `line-height` in CSS, since `normal` as the computed value in dev tools was bothering me. Now I can check `--line-height` for the actual computed value of an element. 162
Nathan Knowler @knowler.dev · 04/12/2024lmao I both love that the spec name breaks and that it has a self-aware subtitle. 040
Nathan Knowler @knowler.dev · 29/11/2024lmao on the Notifications page, if you’re in-between a mobile and desktop viewport (or just use a 14-inch screen and a browser with a sidebar open), there’s an invisible button in the header area that’s the hamburger button for mobile. 230
Nathan Knowler @knowler.dev · 27/11/2024Focus outlines on inline elements in Firefox look ok (they wrap with the text box — not ideal) until you mess with `outline-offset`, then it really goes to shit. `box-decoration-break: clone` can't fix this. Is `display: inline-block` the only way to solve this? Chrome and Safari wrap so well. 010
Nathan Knowler @knowler.dev · 25/11/2024This happened to me a bunch when I was making my audio elements a couple years ago. Reminds me of a little video I took when I decided to just start using my monitors instead. 100
Nathan Knowler @knowler.dev · 21/11/2024I heard you all like cursed HTML, so here’s some cursed HTML that expands the hit-area of textbox (with decorations) without any JS. You better hope I don’t find you using this or else you’ll find yourself in #htmhell. 120
Nathan Knowler @knowler.dev · 11/11/2024iOS 18.1 Safari: might be unrelated; likely due to that long inline code snippet not breaking. 200
Nathan Knowler @knowler.dev · 11/11/2024If you see this, post a concert pic you took. The Almighty Norma Jean in Winnipeg on November 5, 2024 020