Nathan Knowler
@knowler.dev
Building web stuff and design systems. Focused on accessibility, progressive enhancement, and web components. At the intersection of CSS and the Shadow DOM.
he/him
Métis/settler
Treaty 1/wpg
https://knowler.dev
https://sunny.garden/@knowler
he/him
Métis/settler
Treaty 1/wpg
https://knowler.dev
https://sunny.garden/@knowler
Pinned
Nathan Knowler
@knowler.dev
· Jun 24
I was laid-off and am looking for a new role.
Working were design meets code is my jam. I am skilled at building accessible design system components, working with Web Components APIs, and creating scalable CSS architecture.
I work remotely from my home in Manitoba, Canada. 🇨🇦
Shares appreciated!
Working were design meets code is my jam. I am skilled at building accessible design system components, working with Web Components APIs, and creating scalable CSS architecture.
I work remotely from my home in Manitoba, Canada. 🇨🇦
Shares appreciated!
me, looks at oven: okay, 3:25. should be done at 3:30.
*much time passes*
me: how is it still only 3:25—shit!
*much time passes*
me: how is it still only 3:25—shit!
November 11, 2025 at 1:13 AM
me, looks at oven: okay, 3:25. should be done at 3:30.
*much time passes*
me: how is it still only 3:25—shit!
*much time passes*
me: how is it still only 3:25—shit!
6 year old suggested we ride our bikes to the library instead of bussing. we are now winter cyclists.
November 9, 2025 at 12:16 AM
6 year old suggested we ride our bikes to the library instead of bussing. we are now winter cyclists.
Reposted by Nathan Knowler
guys someone made a "plan your stable of cargo bikes" app: bikes.louiseveillard.com?bikes=super-...
like that 'look how big pickup trucks have got' website, but all the vehicles are awesome
like that 'look how big pickup trucks have got' website, but all the vehicles are awesome
Cargo Bikes Size Comparator
Compare the real size of cargo bikes easily.
bikes.louiseveillard.com
November 7, 2025 at 8:29 PM
guys someone made a "plan your stable of cargo bikes" app: bikes.louiseveillard.com?bikes=super-...
like that 'look how big pickup trucks have got' website, but all the vehicles are awesome
like that 'look how big pickup trucks have got' website, but all the vehicles are awesome
knowing that I'll be going outside later is making me feel warmer inside than I really am
November 8, 2025 at 8:09 PM
knowing that I'll be going outside later is making me feel warmer inside than I really am
good coffee is the requirement for a good coffee shop. good pastries are just an added bonus.
November 8, 2025 at 6:10 PM
good coffee is the requirement for a good coffee shop. good pastries are just an added bonus.
ah yes, put the `mailto:` link behind a button so I can't copy the email address and instead open the default desktop mail application that I don't use.
November 7, 2025 at 5:06 PM
ah yes, put the `mailto:` link behind a button so I can't copy the email address and instead open the default desktop mail application that I don't use.
Reposted by Nathan Knowler
Searchable, collapsible sections with hidden=until-found. Nathan Knowler shows how to make collapsible content searchable using this new HTML attribute and the beforematch event. #html #a11y
knowler.dev/blog/searcha...
knowler.dev/blog/searcha...
November 7, 2025 at 8:53 AM
Searchable, collapsible sections with hidden=until-found. Nathan Knowler shows how to make collapsible content searchable using this new HTML attribute and the beforematch event. #html #a11y
knowler.dev/blog/searcha...
knowler.dev/blog/searcha...
me, looking at my thick socks this morning: "that'd probably be overkill"
me, walking with the -15ºC windchill: *regrets*
me, walking with the -15ºC windchill: *regrets*
November 7, 2025 at 3:08 PM
me, looking at my thick socks this morning: "that'd probably be overkill"
me, walking with the -15ºC windchill: *regrets*
me, walking with the -15ºC windchill: *regrets*
every year the yard waste collection ends then a week later the tree on the boulevard out from my house loses all of its leaves.
November 6, 2025 at 8:58 PM
every year the yard waste collection ends then a week later the tree on the boulevard out from my house loses all of its leaves.
looking like snow tonight
November 6, 2025 at 8:47 PM
looking like snow tonight
Reposted by Nathan Knowler
Inside you there are two woffs.
Ignore the first woff. You just need the woff2.
Ignore the first woff. You just need the woff2.
November 6, 2025 at 7:18 PM
Inside you there are two woffs.
Ignore the first woff. You just need the woff2.
Ignore the first woff. You just need the woff2.
trying to sell becoming full members of the local car co-op to my spouse since we don't have a vehicle anymore (stolen)
November 6, 2025 at 6:58 PM
trying to sell becoming full members of the local car co-op to my spouse since we don't have a vehicle anymore (stolen)
Universal Control connecting immediately is good omens
November 6, 2025 at 5:34 PM
Universal Control connecting immediately is good omens
sometimes I think about my decisions to buy so many band shirts, only to wear layers upon layers on top of them during the fall and winter.
November 5, 2025 at 8:14 PM
sometimes I think about my decisions to buy so many band shirts, only to wear layers upon layers on top of them during the fall and winter.
I wish I could make shortcuts for arbitrary settings in iOS control center.
I'd have a disable JS one so fast.
I'd have a disable JS one so fast.
November 5, 2025 at 4:49 PM
I wish I could make shortcuts for arbitrary settings in iOS control center.
I'd have a disable JS one so fast.
I'd have a disable JS one so fast.
cool, I can implement my `safe-rem()` sass function in CSS now:
```css
@function --safe-rem(--value <number>) returns <length> {
result: max(var(--value) * 1rem, var(--value) * var(--safe-rem-minimum));
}
```
```css
@function --safe-rem(--value <number>) returns <length> {
result: max(var(--value) * 1rem, var(--value) * var(--safe-rem-minimum));
}
```
November 4, 2025 at 6:42 AM
cool, I can implement my `safe-rem()` sass function in CSS now:
```css
@function --safe-rem(--value <number>) returns <length> {
result: max(var(--value) * 1rem, var(--value) * var(--safe-rem-minimum));
}
```
```css
@function --safe-rem(--value <number>) returns <length> {
result: max(var(--value) * 1rem, var(--value) * var(--safe-rem-minimum));
}
```
I just nested `if()` in css… someone revoke my license
November 4, 2025 at 5:28 AM
I just nested `if()` in css… someone revoke my license
miss vickie's cacio e pepe chips are a 10/10, no notes
November 3, 2025 at 9:03 PM
miss vickie's cacio e pepe chips are a 10/10, no notes
if you keep scaling, eventually you'll explode
November 3, 2025 at 9:00 PM
if you keep scaling, eventually you'll explode
I've seen this come up several times from various people, so I'll say this more broadly: lack of localization is a bad comparison to purposely leaving a website broken in certain browsers whether it be no javascript or missing web features.
November 3, 2025 at 8:21 PM
I've seen this come up several times from various people, so I'll say this more broadly: lack of localization is a bad comparison to purposely leaving a website broken in certain browsers whether it be no javascript or missing web features.
if you are making a website for a canadian organization and you use a canada flag for the english version and a france flag for the french version… think a little harder about that choice
November 3, 2025 at 3:52 PM
if you are making a website for a canadian organization and you use a canada flag for the english version and a france flag for the french version… think a little harder about that choice
I hate having a river of death run through my neighbourhood. It's a source of continual stress for me.
November 2, 2025 at 11:45 PM
I hate having a river of death run through my neighbourhood. It's a source of continual stress for me.
Somehow my child woke me up early because they wanted breakfast only to decide that they didn't want it yet once I was fully dressed and definitely not going back to bed.
November 1, 2025 at 2:48 PM
Somehow my child woke me up early because they wanted breakfast only to decide that they didn't want it yet once I was fully dressed and definitely not going back to bed.
I'm late to the party with the whole `ElementInternals.type` stuff. Gonna be able to delete a lot of code b/c of it (at least I already did in my experiments).
October 31, 2025 at 8:40 PM
I'm late to the party with the whole `ElementInternals.type` stuff. Gonna be able to delete a lot of code b/c of it (at least I already did in my experiments).