Sign in

Michaël Vanderheyden

@th3s4mur41.me
93 followers 191 following 326 posts

Lead UX Engineer & Accessibility Specialist @ cycos, an Atos Business #CPWA #WebDev #A11y #CSS Martial arts lover | Shotokan Karate black belt | BJJ practitioner | Bikejöring th3s4mur41.me

PostsRepliesMedia
Reposted by Michaël Vanderheyden
Patrick Brosset @patrickbrosset.com · 10h
The State of HTML 2026 survey is now open! survey.devographics.com/en-US/survey...
survey.devographics.com
State of HTML 2026
Take the State of HTML survey
0158
Reposted by Michaël Vanderheyden
Adrian Roselli, pH0 @aardrian.bsky.social · 30/09/2026
I’ve been banging the drum about *not* using ARIA menu roles for site navigation for nearly a decade. I’ve just updated my 2017 post with what has become my general point-by-point refutation when I see them proposed: adrianroselli.com/2017/10/dont... #HTML #accessibility #a11y #ARIA
adrianroselli.com
Don’t Use ARIA Menu Roles for Site Nav
Once again, the advice is in the title of the post. But I will ramble anyway since you scrolled this far. First run with the advice, and then review some background on ARIA and how navigation and menu...
193
Michaël Vanderheyden @th3s4mur41.me · 01/10/2026
Added frame-sizing to my CSS reset, but unfortunaley ran into an issue with @codepen.io that required an exception. With `frame-sizing: content-block-size;` the editor loads in a weird tiny iframe until the user hits "Run pen", frame-sizing then recalculates and causes a layout shift.
000
Reposted by Michaël Vanderheyden
Bramus @bram.us · 25/09/2026
The time to ramp up your scroll-driven animations skills is **NOW** Go check scroll-driven-animations.style for and free 10-part video course created by yours truly, as well as a bunch of tools and demos.
scroll-driven-animations.style
Scroll-driven Animations
A bunch of demos and tools to show off Scroll-driven Animations
311321
Reposted by Michaël Vanderheyden
Schalk Neethling @schalkneethling.com · 24/09/2026
The Navigation API - newly baseline | The Navigation API is newly baseline! The web now has sensible, low-level routing for navigations. www.youtube.com/shorts/fEq2A...
youtube.com
The Navigation API - newly baseline
YouTube video by Firefox for Web Developers
0103
Michaël Vanderheyden @th3s4mur41.me · 23/09/2026
Nice, that's going into my reset.css
010
Reposted by Michaël Vanderheyden
Kevin Powell @kevinpowell.co · 23/09/2026
It's annoying to keep hearing about cool CSS features only to find out browser support isn't great, so today I take a look at a bunch of features that have fantastic support, but people still turn to JS for instead. youtu.be/qu1jE41O_8o
youtu.be
Use these CSS features instead of JavaScript
YouTube video by Kevin Powell
210730
Reposted by Michaël Vanderheyden
Manuel Matuzović @matuzo.at · 23/09/2026
The CFP is open for 10 more days. So far, I have only 11 submissions, but I need at least 24. So, please share your ideas! First-time authors are very welcome!
21118
Reposted by Michaël Vanderheyden
Jake Archibald @jakearchibald.com · 23/09/2026
I've proposed "progressive image rendering" as a focus area for Interop 2027, so we can get progressive JPEG XL support in Safari, and progressive AVIF support in both Safari and Firefox. github.com/web-platform...
github.com
Progressive image rendering for JPEG XL and AVIF · Issue #1459 · web-platform-tests/interop
Description When we looked into JPEG XL, I asked developers why they were interested in the format, and the most common answer was "progressive rendering". This is now working in Firefox and Chrome...
3629
Michaël Vanderheyden @th3s4mur41.me · 23/09/2026
A single HTML attribute can transform your site's screen reader accessibility... Setting the lang attribute correctly ensures proper pronunciation instead of gibberish delivered with a bad accent. Check out my new post to learn why it matters: th3s4mur41.me/blog/a11y-ti...
th3s4mur41.me
Language Attribute: Setting the Right Context
Learn how the HTML lang attribute improves screen reader pronunciation, supports multilingual accessibility, and enables language-aware testing across browsers
001
Michaël Vanderheyden @th3s4mur41.me · 18/09/2026
How is it the first time ever I'm hearing about border-area 😳
100
Michaël Vanderheyden @th3s4mur41.me · 18/09/2026
static.klipy.com
Man Screaming Excitedly with Hands Up
Alt: Man Screaming Excitedly with Hands Up
010
Michaël Vanderheyden @th3s4mur41.me · 16/09/2026
Congrats on the milestone! Looking forward to the next posts.
static.klipy.com
Celebrate Confetti
Alt: Man throwing confetti
010
Reposted by Michaël Vanderheyden
Lea Verou, PhD @lea.verou.me · 14/09/2026
🎨 Ever wondered why oklch() is so odd? Why adjusting L doesn't produce good color ramps? And why TF is L=100% not white?! I just wrote a thorough explanation of why this happens¹: github.com/web-platform... 👍 Upvote if you want this fixed in browsers in 2027! ¹ Spoiler: it’s lack of gamut mapping
Illustration of the problem (screenshot from issue)
23013
Reposted by Michaël Vanderheyden
Patrick Brosset @patrickbrosset.com · 11/09/2026
Interop 2027 prep is now. Want to help? 1. Go to developer-signals.rviscomi.workers.dev 2. Sign-in using GitHub 3. Find features you need 4. Click the comment icon, add your use case 5. Submit There aren't many ways to tell browsers what you need and why you need them. That's a very effective one.
The website, showing a list of web features and a search tool. The title says Shape what browsers build next. The github sign-in button is highlighted as step 1. The speech bubble icon on one of the features is highlighted as step 2.The website, a feature has been selected, and the Provide developer signal dialog is displayed. The use case text input field is highlighted as step 3. The workaround text input field is highlighted as optional. And the submit button is highlighted as step 4.
32311
Michaël Vanderheyden @th3s4mur41.me · 10/09/2026
Barely detecting a slight hint of sarcasm... 🤣
static.klipy.com
Leonard's Sarcasm Sign (Big Bang Theory)
Alt: Leonard's Sarcasm Sign (Big Bang Theory)
000
Michaël Vanderheyden @th3s4mur41.me · 10/09/2026
There are a few things you really need to know to avoid going crazy debugging CSS. That's one of them!
040
Michaël Vanderheyden @th3s4mur41.me · 09/09/2026
EnergyID is deprecating their legacy webhooks at the end of the month! ⚠️ To keep your setup running, I've replaced hw2energyid with hw-hooks (available on npm & Docker). Check out the update and migration details on @npmx.dev: npmx.dev/package/hw-h... and @github.com: github.com/Th3S4mur41/h...
github.com
GitHub - Th3S4mur41/hw-hooks: A tool to synchronize data from HomeWizard to EnergyID
A tool to synchronize data from HomeWizard to EnergyID - Th3S4mur41/hw-hooks
020
Reposted by Michaël Vanderheyden
Brecht De Ruyte @utilitybend.com · 08/09/2026
🚀 Container style queries are baseline; New attr() capabilities are nearly there. Neat apart, but together they change how we can wire up components. Practice will make perfect, and I still need to rewire my brain for this combo. So, time to start that rewire. utilitybend.com/blog/contain...
utilitybend.com
Container style queries and advanced attr(): rethinking how to wire up my components in CSS | utilitybend
Wiring HTML attributes into CSS with advanced typed attr(), and letting container style queries pass that state down to child components.
23314
Michaël Vanderheyden @th3s4mur41.me · 07/09/2026
Not sure about the widely available date, but definitely keep the newly available one
010
Michaël Vanderheyden @th3s4mur41.me · 05/09/2026
static.klipy.com
Jason Bourne Scopes Target in Bourne Identity
Alt: Jason Bourne Scopes Target in Bourne Identity
010
Reposted by Michaël Vanderheyden
Dave Rupert @davatron5000.bsky.social · 03/09/2026
I am once again asking for your vote for Interop 2027 github.com/web-platform...
github.com
Reference Target for Cross-Root ARIA · Issue #1333 · web-platform-tests/interop
Description After recieving 82 👍 12 ❤️ and 9 🚀 emojis from last year's interop proposal (#1011), I'm once again asking for Reference Target to be considered for Interop 2027. It solves (and doesn't...
391
Michaël Vanderheyden @th3s4mur41.me · 04/09/2026
You got it 👍
000
Michaël Vanderheyden @th3s4mur41.me · 04/09/2026
Interop 2027 is open! You don’t need to be a standards expert to help shape the future of browsers. Just vote for the things you want to see improved. The list is already filling up with suggestions. Go boost the ones you care about and make your voice count. github.com/web-platform...
github.com
Issues · web-platform-tests/interop
web-platform-tests Interop project. Contribute to web-platform-tests/interop development by creating an account on GitHub.
084
Reposted by Michaël Vanderheyden
Luke @lukewarlow.dev · 03/09/2026
Why is it not the law that if I click a link in your app it just opens in my damn browser. Never has an in-app browser done anything useful.
3222
Reposted by Michaël Vanderheyden
Patrick Brosset @patrickbrosset.com · 03/09/2026
📢 Calling for Interop 2027 proposals. If you’ve encountered web features that behave differently across browsers, or standards-based capabilities that are difficult to rely on today, we want to hear from you.
blogs.windows.com
Calling for Interop 2027 proposals
The Interop 2027 call for proposals is open, submit your ideas now! Over the past six years, the I
1129
Reposted by Michaël Vanderheyden
Chrome for Developers @developer.chrome.com · 03/09/2026
Interop 2027 proposals are officially open → goo.gle/4xh1tEY Which web platform features need better cross-browser compatibility next year? Submit your ideas before September 23rd. Also be sure to like and comment on submitted ideas.
2026 dashboard
0187
Michaël Vanderheyden @th3s4mur41.me · 03/09/2026
Great post on color contrast! Combining WCAG + APCA is the way to go. Still, always test your combos in a color blindness simulator. Math only gets you so far, and visual tests often reveal surprising fails for certain use cases!
110
Reposted by Michaël Vanderheyden
Master.dev (Formerly Frontend Masters) @frontendmasters.com · 02/09/2026
New Things You Should Know About HTML Here in Mid 2026 The foundational language of the web is getting plenty of love lately! While HTML moves a bit more slowly than its buddies, CSS and JavaScript, that tends to be a good thing. I'm not gonna do, like, in here. That's too basic for you. Tha
blog.master.dev
New Things You Should Know About HTML Here in Mid 2026
The foundational language of the web is getting plenty of love lately! While HTML moves a bit more slowly than its buddies, CSS and JavaScript, that tends to be a good thing. I’m not gonna do, like,…
02810
Michaël Vanderheyden @th3s4mur41.me · 02/09/2026
Very practical 👍
010
Michaël Vanderheyden @th3s4mur41.me · 01/09/2026
Did a quick fork to test sibling-index to stagger the animation instead of container queries. It's a bit shorter, but the real benefit is, it works with an endless amount of columns codepen.io/editor/th3s4...
codepen.io
css-only scroll-trigger animation only runs once
A code demo by Th3S4mur41 created on CodePen
161
Michaël Vanderheyden @th3s4mur41.me · 01/09/2026
Yep, unfortunately, descriptions track still needs a polyfill or some custom JavaScript to work. The native controls experience isn't great either though. When the player gets the focus, screen reader announce all the controls at once. Way too verbose.
010
Reposted by Michaël Vanderheyden
Schalk Neethling @schalkneethling.com · 31/08/2026
Figure, video, figcaption, and accessibility | What makes a video element accessible is captions, descriptions, and a transcript. When those aren't available, what options remain for providing an accessible name for a video element? | schalkneethling.com/posts/figure...
schalkneethling.com
Figure, video, figcaption, and accessibility
What makes a video element accessible is captions, descriptions, and a transcript. When those are out of reach, what are the remaining options for giving a video element an accessible name?
154
Reposted by Michaël Vanderheyden
Bramus @bram.us · 27/08/2026
In CSS you can feature detect support for selectors, properties + values, and at-rules using `@supports`. But how do you feature detect a change to an underlying implementation, or two existing properties suddenly working together? Enter `named-feature()` … → brm.us/named-feature
brm.us
Feature Detecting “Undetectable” CSS Features with @supports named-feature()
In CSS you can feature detect support for things like selectors, properties + values, and at-rules using @supports. But how do you feature detect a change to an underlying implementation, or two exist...
5408
Michaël Vanderheyden @th3s4mur41.me · 26/08/2026
Ooh. Time to progressively enhance some of those old workarounds 🧑‍💻
010
Michaël Vanderheyden @th3s4mur41.me · 26/08/2026
Wait, what?! Do you mean it's safe?
static.klipy.com
Mind Blown Reaction
Alt: Mind Blown Reaction
000
Reposted by Michaël Vanderheyden
Jake Archibald @jakearchibald.com · 26/08/2026
📝 When and how CSS custom properties are calculated might not be what you expect, and it has a big impact on your styles. Here's how it works: jakearchibald.com/2026/css-cus...
jakearchibald.com
Controlling when CSS custom properties are computed
The default might not be what you expect, and it has a big impact on your styles.
98715
Michaël Vanderheyden @th3s4mur41.me · 25/08/2026
Don't understand it either. But it's not just the web... My Android phone's camera has been storing videos in AV1 for a while now, but images are still saved as JPEG, with no option for AVIF (or WebP). 🤷
011
Reposted by Michaël Vanderheyden
Jake Archibald @jakearchibald.com · 25/08/2026
It's really weird that the response to JPEG XL shipping is "yesss fuck WebP!" Like, we've had AVIF for years, and it outperforms JPEG XL in almost all web use-cases.
261048
Michaël Vanderheyden @th3s4mur41.me · 21/08/2026
My first instinct would be to expect it to do nothing... But I guess there could be use cases where going the opposite might be useful?! 🤔 Definitely need to play around a bit with those 2.
010
Reposted by Michaël Vanderheyden
Firefox for Web Developers @webdevs.firefox.com · 20/08/2026
What should happen with text-box-trim and margin-trim when it comes to negative values? Do negatives 'trim'?
4366
Reposted by Michaël Vanderheyden
Bramus @bram.us · 20/08/2026
Help me out: I’m looking for some examples of full-page skeleton screens and loading states that are out there. Care to share your favorite examples with me? (There are a lot of examples that have skeleton screens on a component level, but I’m having trouble finding proper full-page ones)
463
Reposted by Michaël Vanderheyden
Firefox for Web Developers @webdevs.firefox.com · 19/08/2026
CSS text-box is newly baseline, and it's solves a common text layout issue. Here's how it works:
1234858
Reposted by Michaël Vanderheyden
Bramus @bram.us · 18/08/2026
Syntax aside, would you want layers that can win from unlayered styles as Dave describes here? Favorite this post to cast your vote. RT to reach more people.
3135
Michaël Vanderheyden @th3s4mur41.me · 18/08/2026
But that is basically just the accessibility tree from that element a'd children, right? Not the full document tree we used to have. Although looking at it on the body might be similar 🤔
100
Michaël Vanderheyden @th3s4mur41.me · 18/08/2026
It was there. Now it's gone
000
Michaël Vanderheyden @th3s4mur41.me · 18/08/2026
I'm with @bram.us on this one. Switching color mode shouldn’t feel like a guessing game. 3-state toggles (Light / Dark / System) win every time over 2-state toggles with hidden logic in my book. Clear UX always beats unpredictable behavior!
1161
Reposted by Michaël Vanderheyden
Kevin Powell @kevinpowell.co · 15/08/2026
The most undervalued front-end skill right now isn't prompting, it's being able to look at a broken layout and know what's causing it. youtu.be/2pJHWhmqlNU
youtu.be
The most undervalued front-end skill right now
YouTube video by Kevin Powell
6759
Michaël Vanderheyden @th3s4mur41.me · 13/08/2026
🍀
010
Michaël Vanderheyden @th3s4mur41.me · 12/08/2026
True. But it's not only about user satisfaction... Wasted time and resources should definitely be a metric
000