Kilian Valkhof

Kilian Valkhof

@kilianvalkhof.com

I build tools for devs and designers: @Polypane.app, FixA11y, Superposition | Electron governance member | He/him

5.3K followers544 following2.4K posts

hell yeah

CSS-Tricks*@css-tricks.com

CSS-Tricks has a new owner! Yes, I've got the keys to the castle, so to speak. And, even after 12 years of working on the site, I'll admit I'm a little overwhelmed and nervous about that. https://css-tricks.com/css-tricks-has-a-new-owner/

Kilian Valkhof reposted

Things are happening in browser land! Chromium 156 shipped support for CSS random() so you can try all the demos below without needing experimental features turned on. Firefox 148 has it behind a feature flag you can enable, and the demos look fantastic there too. polypane.app/blog/experim...

polypane.appExperimenting with the new pure CSS random() function | PolypaneCSS is getting a random() function that lets you set properties with a random value, opening up a ton of interesting creative possibilities. In this article…

I wonder if anyone reviewed this clearly AI-slopped article before hitting the big publish button. "A mistake like this works every time until it matters."

Building an Isolated Preview for AI-Generated HTML An iframe with srcdoc feels like a safe place to render HTML a model wrote. It isn't. Three tests show how the preview can read your page, escape the frame, and phone home, and four layers of protection close each hole.

Kilian Valkhof reposted

Every long-lived website ends up with cobwebs. 🕸️ Things that used to do something, but no longer do. Like httpequiv for IE8-10, your fb:pages id or the Windows 8 tile tags. None of them do anything anymore. But which ones can you safely get rid of? The next version of Polypane will tell you!

There surprising stuff that no longer does anything, like the `chrome-webstore-item` tag to help extension discoverability. It stopped doing anything in Chrome 71.

Every long-lived website ends up with cobwebs. 🕸️ Things that used to do something, but no longer do. Like httpequiv for IE8-10, your fb:pages id or the Windows 8 tile tags. None of them do anything anymore. But which ones can you safely get rid of? The next version of Polypane will tell you!

🤯

Josh Tumath@joshtumath.uk

Yesterday, the CSSWG accepted my proposal for mesh gradients and diffusion curve gradients! Want to make gradients like this natively in CSS? Well, we've started the work on it. It's coming! Here's the Explainer: github.com/w3c/csswg-dr...

Kilian Valkhof reposted

Tomorrow, October 16th, marks Practical Accessibility's third birthday. 🎂 To celebrate, I am gifting everybody 25% off for the next 48 hours 🎁 Individual and team licenses alike! The discount is automatically applied during checkout—no code is needed. 👉🏻 practical-accessibility.today Enjoy! #a11y

practical-accessibility.todayThe Practical Accessibility CourseA get-right-down-to-it online course for Web designers and developers who want to start creating more accessible Web user interfaces and digital products today

Kilian Valkhof reposted

We've updated our color contrast checker at colorcontrast.app. 1. It now gives suggested colors for APCA failures too 2. You can use color names along with regular color notations 3. It comes with a WebMCP tool, if you're into that. The contrast checker on our own site is updated too.

colorcontrast.appColor Contrast Checker for WCAG & APCA. Analyse, preview and get color suggestions.Check the contrast between colors using WCAG or APCA and get suggestions for better colors in hex, RGB, HSL or HWB.

At the top of my inbox is an email that was sent "tomorrow". All other new email is sorted below it. It is wild that in 2026 my email client just happily accepts the time-as-sent-by-the-sender as the time of an email.

Kilian Valkhof reposted

After literally years of pivoting my friend and I are finally launching cropguide.io 🚢 We offer a free tier with up to 100 edited images per month. During the ProductHunt launch (is that still a thing?) we offer a 50% discount code on the paid tiers. www.producthunt.com/products/cro...

cropguide.ioCropGuide Fixes User-Uploaded Images Before They Reach Your ServerSet up CropGuide on your website and help your users crop images before upload. 1 minute installation, no programming required.

Kilian Valkhof reposted

…okay apparently I should’ve added this way earlier, you all greatly prefer this over the other methods 😅 Just a reminder that I am very responsive to any user request you might have.

You can now create a new Polypane account by signing in with Google, alongside the existing GitHub and username/password registration options.

"Four billion phones ask one text file what time it is. One lecturer keeps it in his spare time. We counted the rest." This is *barely coherent*. I am offended having read even the intro. It's awful If a human couldn't fucking be bothered to write it, this human can't be bothered to read it. GTFO.

daniel:// stenberg://@bagder.mastodon.social.ap.brid.gy

"The people holding up the internet" A good-looking but somewhat depressing exposé about the people holding up current digital infrastructure as a hobby. https://sheets.works/data-viz/holding-up-the-internet

Kilian Valkhof reposted

The Polypane website has a lot of recent "AI design" things. Stuff like uppercase brow text, gradient text, blurs... But it has had those for the past 3 or 4 years. Way before LLMs. And I struggle with what do to. Keep them in defiance, or remove them to avoid the slop-association?

The accessibility AI slop takeover of LinkedIn needs to be studied. And with studied, I mean utterly erased with all the perpetrators driven out of accessibility discourse.

I think the Orion browsers makes (made?) some questionable choices, but more cross-platform browsers is generally a good thing. So it's too bad they're giving up on Linux and Windows. They're right that it's a lot of work for a small team, but speaking from experience, it's worth the effort.

blog.kagi.comAn Update on Orion for Linux and WindowsKagi is ending development of Orion for Linux and Windows and open-sourcing both so the community can carry them forward. Our small team will now focus fully on making Orion for macOS and iOS faster, ...

Kilian Valkhof reposted

Relevant to my course students who get a free Polypane trial (and recurring discount) with their purchase! 👇🏻 Polypane is fantastic browser for us devs and the #a11y features make it even more valuable for our work 🙌🏻

If you're an accessibility auditor or implementer, Polypane 31 has a massive time-saving feature for you! With per-pane zoom settings, you can now check 100% page zoom right alongside 200% and 400% zooms, letting you check WCAG 1.4.4 and 1.4.10 in one fell swoop, with easy comparison back to 100%.

Kilian Valkhof reposted

If you're an accessibility auditor or implementer, Polypane 31 has a massive time-saving feature for you! With per-pane zoom settings, you can now check 100% page zoom right alongside 200% and 400% zooms, letting you check WCAG 1.4.4 and 1.4.10 in one fell swoop, with easy comparison back to 100%.

I love Firefox, and the new video is really cute, but I still can't get over the fact that they made their headline feature "you can turn the AI off"

Kilian Valkhof reposted

Something I haven't seen people talk about in regards to LLM-use is the almost complete collapse of people giving feedback on the tools they use. I am *very* blessed w/ the feedback, suggestions and ideas Polypane users continue to give me, but there's a clear split between pre-2026 and post-2026.

Working on an infinite canvas is just so, so smooth.

Polypane 31 is here and ...it has a boatload of cool new features! 🖼️ Canvas layout with free-form placement ↔️ Flex item inspector 🎯 Navigate to custom properties ...and back! 🔍 Per-pane zoom settings 🏎️ Page performance monitoring 📱new iPhone 18 and duo presets polypane.app/blog/polypan...

Kilian Valkhof reposted

if I were to start working on a Software Release lexicon for us to get @electronjs.org release metadata on protocol, would anyone else be interested in collaborating on it?

Kilian Valkhof reposted

Polypane 31 is here and ...it has a boatload of cool new features! 🖼️ Canvas layout with free-form placement ↔️ Flex item inspector 🎯 Navigate to custom properties ...and back! 🔍 Per-pane zoom settings 🏎️ Page performance monitoring 📱new iPhone 18 and duo presets polypane.app/blog/polypan...

polypane.appPolypane 31: Canvas layout, elements panel improvements and Chromium 155 | PolypaneThis release has a new canvas layout that lets you freely arrange panes on an infinite canvas. The elements panel now lets you filter styles, search the DOM…

Apple seems to have updated their notarization server again and it's now *much* faster than before. This is great, but initially made me really worried something was broken because building was way too fast.

Kilian Valkhof reposted

This advent calendar is your chance to share your knowledge with a large audience. You have 5 more days to submit your ideas. First-time authors are welcome!

Friends, it's that time of the year: Once again, I'm asking you to help me create another amazing HTMHell Advent Calendar by writing about HTML. The CFP is open until October 3! docs.google.com/forms/d/e/1F...

A thing that didn't make it into this article is that the root scroller has better performance because despite being the case in the past, that hasn't been true for a while. There's no longer a performance difference between the root and other scroll containers, but it still has extra features.

The root scroller in your browser (the one scrolling the viewport) is special, but it's really easy to accidentally create a new scroll container. Learn how those nested scroll containers break scroll restoration, mobile browser UI and more, plus how to avoid them.

This is gonna be super useful. I didn't spend more time on finding an icon than the actual feature, but it's pretty close and I'm still not 100% happy.

Go to definition for CSS custom properties is pretty nice. Finding your way back with a single click, that's even nicer.

Kilian Valkhof reposted

The root scroller in your browser (the one scrolling the viewport) is special, but it's really easy to accidentally create a new scroll container. Learn how those nested scroll containers break scroll restoration, mobile browser UI and more, plus how to avoid them.

polypane.appThe root scroller and how not to lose it | PolypaneEvery page has one main scroll container that scrolls the page itself: the root scroll container, or root scroller for short. Because it scrolls the entire page…

Kilian Valkhof reposted

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!

Friends, it's that time of the year: Once again, I'm asking you to help me create another amazing HTMHell Advent Calendar by writing about HTML. The CFP is open until October 3! docs.google.com/forms/d/e/1F...

Kilian Valkhof reposted

I've been debugging sites using different scroll containers at different viewports widths and thinking of ways to make it clearer what's happening, rather than people thinking the sync in Polypane doesn't work. The first change is in: highlighting the scroll badge of whatever is being scrolled.

I've been debugging sites using different scroll containers at different viewports widths and thinking of ways to make it clearer what's happening, rather than people thinking the sync in Polypane doesn't work. The first change is in: highlighting the scroll badge of whatever is being scrolled.