Scott Jehl's Avatar

Scott Jehl

@scottjehl.com.bsky.social

Web Designer/Dev. Accessibility & Performance Fan. Mediocre surfer. Engineer: Squarespace Performance & Accessibility My new web components course https://scottjehl.com/learn/webcomponentsdemystified/ scottjehl.com

5,549 Followers  |  487 Following  |  475 Posts  |  Joined: 24.04.2023  |  2.093

Latest posts by scottjehl.com on Bluesky

Preview
How to Use Responsive HTML Video (...and Audio!) | Scott Jehl, Web Designer/Developer Now that responsive HTML video delivery works across all browsers, let's look at how to use it

Here’s how scottjehl.com/posts/using-...

31.07.2025 20:35 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Found a popular website serving β€œresponsive” videos via 2 <video> elements that are shown or hidden via CSS breakpoint. Don’t do it that way, friends! Too costly!

You can set media attributes on video sources now and only download the source a browser needs; even to deliver portrait vs landscape.

31.07.2025 20:34 β€” πŸ‘ 37    πŸ” 4    πŸ’¬ 2    πŸ“Œ 0
Me, sitting behind a cuddly toy of a fox. Ok it's obviously Firefox.

Me, sitting behind a cuddly toy of a fox. Ok it's obviously Firefox.

Starting my new role on Monday. Could be anywhere.

31.07.2025 12:57 β€” πŸ‘ 363    πŸ” 14    πŸ’¬ 42    πŸ“Œ 4

forgot that too

31.07.2025 14:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A picture of the pedestrian pathway leading up to the Brooklyn Bridge, taken from the Brooklyn side of the East river.

A picture of the pedestrian pathway leading up to the Brooklyn Bridge, taken from the Brooklyn side of the East river.

I have a morning checklist for packing everything for my run commute into Manhattan (towel, work clothes, laptop, etc). And yet, I forgot my belt again today.

Did you know a running shoelace can be a belt?

31.07.2025 13:39 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0
Preview
Responsive video is (almost) easy now | Koos Looijesteijn How to serve high-quality, vertical and horizontal video variants and break free from platforms like YouTube

Nice post from @kooslooijesteijn.net

31.07.2025 11:33 β€” πŸ‘ 18    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

webdev thought: I was noticing last night while working on a service worker, the network-first pattern that @adactio.com long wrote about for HTML requests works pretty nicely for JS and CSS files that change a lot too. Worker looks to network first (which may hit regular browser cache) πŸ‘

18.07.2025 17:52 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Google's AI recommends css overflow: normal as an equivalent to overflow visible

Google's AI recommends css overflow: normal as an equivalent to overflow visible

it didn't look familiar to me so I searched "is overflow: normal" a valid value? its AI says, no it's not. Just made it up!

it didn't look familiar to me so I searched "is overflow: normal" a valid value? its AI says, no it's not. Just made it up!

ah yes, overflow: normal

17.07.2025 20:29 β€” πŸ‘ 18    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

For a while I might've said, "most websites should work before JS loads, but if you're building Slack then do whatever works." But my perspective on that has evolved too. I think the Slacks would clearly benefit from a PE ethic now too. Do we need JS routing? Can this react menu can be a <select>?

16.07.2025 19:16 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

To give an example, if I'm auditing a site that generates or reveals some or all of its HTML content with client-side JS, I'll see its user experience vary wildly based on users' devices. And there's typically no easy fix to offer. Someone chose an architecture that forfeited access to fast delivery

16.07.2025 18:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Thx for the context. That's an example of a pattern that uses Progressive Enhancement, no doubt. But I do kindly disagree: PE (the pattern delivering pages that are already-useful/renderable before enhancing their behavior/statefulness with CSS/JS) is as critical in my work today as it ever has been

16.07.2025 18:08 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

So, I disagree. The most consequential rendering performance and site reliability bottlenecks I see day-to-day are from over-reliance on client-side JS. And they're often the hardest to fix, since the problems stem from big/early architectural decisions about the need for delivering useful HTML

16.07.2025 17:34 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Framing PE as a practice specifically for supporting folks who disable JavaScript has always been a disservice to the greater benefits of the patterns. Reducing reliance on client-side JS for handling tasks (eg HTML generation) that are better handled by HTML and CSS is as helpful today as ever.

16.07.2025 17:28 β€” πŸ‘ 9    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Billionaires Convince Themselves AI Chatbots Are Close to Making New Scientific Discoveries

painful context gizmodo.com/billionaires...

16.07.2025 14:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

way too online already today

16.07.2025 14:58 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

einstein couldn't tie his shoes so that kalanick couldn't log into grok 4 girlfriendbot

16.07.2025 14:55 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

great!

11.07.2025 14:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

ah, gotcha. Do the demos at the bottom of that post work expectedly for you at least? (Note that "expected" only applies to initial page load, as sadly any further responsiveness isn't supported anywhere (yet?).

10.07.2025 16:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Yesterday marked my first whole year of helping make all those websites that run on Squarespace more performant, resilient, and accessible. That went by fast! Good place, good team, big challenges. πŸ–€

10.07.2025 15:57 β€” πŸ‘ 18    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

seems to do the trick. What are you seeing?

10.07.2025 15:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Yeah? Hmm. The demos seem to do what they’re supposed to on my iOS safari.

09.07.2025 19:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Ah! huh yeah that makes a lot of sense

09.07.2025 05:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Nice. For my course I used a similar pattern with connectedCallback containing a mutation observer that calls init() as soon as the custom element’s childnodes exist, which protects against those scenarios where CC will fire as soon as the opening tag is encountered. I can try and find it…

08.07.2025 16:58 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

every rental car desk has the vibe of an outpost that HQ has long understood to have been closed

29.06.2025 19:43 β€” πŸ‘ 24    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Preview
An HTML Templating Language That Keeps Its Secrets | Scott Jehl, Web Designer/Developer I think it would be nice to have a templating language whose output can still be input

Could it be done in a sort of microformat/attribute syntax so output can be reused as input? scottjehl.com/posts/declar...

26.06.2025 17:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Agreed

26.06.2025 14:11 β€” πŸ‘ 12    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Glad to see it

25.06.2025 03:10 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

πŸ‘

25.06.2025 02:41 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Hire Nathan!

24.06.2025 16:21 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

That’s awful, Nathan. So sorry to hear that. Massive loss for them.

20.06.2025 23:53 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@scottjehl.com is following 20 prominent accounts