Sign in

Kristóf Poduszló

@kripod.dev
104 followers 278 following 50 posts

Software engineer with a special interest in accessibility. Builds for the web, mainly using React and Tailwind CSS nowadays.

PostsRepliesMedia
Kristóf Poduszló @kripod.dev · 13/09/2026
On a high-DPI screen, a chat can stop half a pixel off the bottom. The gap is too small to notice, yet the browser stops following new messages. Here’s why, with a demo and a small fix: www.kripod.dev/blog/half-a-...
kripod.dev
Half a pixel from the bottom
Your chat looks caught up, yet new messages land out of view. The browser thinks you scrolled away, and it’s not wrong.
001
Kristóf Poduszló @kripod.dev · 09/09/2026
A phone… with a stylus? Pencil, I mean? We just went full circle.
000
Kristóf Poduszló @kripod.dev · 09/09/2026
Nobody walks into a meeting and says "Hi, I'm Sam, I'm in debt." Or in therapy. Or gay. Yet here I am, telling the whole internet. www.kripod.dev/blog/im-gay-...
kripod.dev
I’m gay, and so are you
A carol, a meme, a reunion. On the older meaning of a word, the newer one that arrived uninvited, and the daily question of who gets told which.
061
Kristóf Poduszló @kripod.dev · 02/09/2026
Ten years of accessibility links in a private note. One question kept coming back. Who decided this, and where do I go to disagree? There’s almost always an answer, and it’s rarely where you’d look first. www.kripod.dev/blog/accessi...
kripod.dev
Accessibility decisions made without you
Voice control hears “click Next.” Nothing happens: a well-meant label made your button answer to “Continue.” That label is yours, but ARIA decided the rest.
000
Reposted by Kristóf Poduszló
Eric Bailey @ericwbailey.website · 24/08/2026
One thing that I'm particularly delighted about was a great GitHub engineer partnering with the accessibility team to quietly push this out. A lot of people use GitHub via the command line and email, and folks there often forget it: github.blog/engineering/... www.osnews.com/story/144892...
osnews.com
The text mode lie: why modern TUIs are a nightmare for accessibility – OSnews
0235
Kristóf Poduszló @kripod.dev · 18/08/2026
envista loads your .env files. The right ones. Cascades by mode, in Vite’s order. Searches upward, so nested packages find the root .env. Node’s util.parseEnv does the parsing. envista is the last mile. Zero deps. github.com/kripod/envista
github.com
GitHub - kripod/envista: Cascading .env loader built on Node's own parser. Zero dependencies.
Cascading .env loader built on Node's own parser. Zero dependencies. - kripod/envista
130
Kristóf Poduszló @kripod.dev · 02/08/2026
I was a bit hesitant getting this off my chest but here goes nothing 🙈
kripod.dev
In defense of AI
I used to view LLMs as slop machines stealing our craft. A reflection on burnout, originality, and why we aren’t being replaced.
300
Reposted by Kristóf Poduszló
Ollie Williams @ollie-williams.bsky.social · 31/07/2026
OpaqueRange API landed in Chrome/Edge beta youtu.be/Sp9C68TZXiE?...
youtu.be
Try the OpaqueRange API. Stop using mirror divs to measure text positions in inputs!
YouTube video by Patrick Brosset
1113
Reposted by Kristóf Poduszló
Jake Archibald @jakearchibald.com · 28/07/2026
I made an accessibility error when coding up some tooltips. Here's where I went wrong, and how you can avoid making the same mistake: jakearchibald.com/2026/my-tool...
jakearchibald.com
Fixing my tooltip accessibility mistake
aria-describedby isn't always enough.
413018
Kristóf Poduszló @kripod.dev · 17/06/2026
Moment.html
000
Reposted by Kristóf Poduszló
Stef Walter @stephaniewalter.bsky.social · 01/06/2026
Fontastic Space is a free tool to help you find the mathematically optimal font pairing. It give you pairing score on multiple categories (including anatomical comparison of ascender, cap height, x-height and more) fontastic.space/
Screenshot of Fontastic Space web app comparing two font Libre Baskerville to Libre Franklin. The word Handgloves is shown in both fonts at 72px with typographic guides. Filters to compare include guides, overlay, size, etc.
3445
Reposted by Kristóf Poduszló
Eduardo.𝚟𝚞𝚎 @esm.dev · 15/05/2026
TIL you can very simply type the key of a `for in` loop in TS by just hoisting the variable
2292
Reposted by Kristóf Poduszló
bombshell @bomb.sh · 14/05/2026
Given recent exploits, we set out to harden our GitHub Actions. Our approach to syncing workflows across multiple repos made it easy.
bomb.sh
One repo, every workflow
How Bombshell maintains GitHub Actions across many repositories from a single source of truth, making hardening against recent npm supply-chain attacks a one-PR job
0111
Reposted by Kristóf Poduszló
Seb ⚛️ ThisWeekInReact.com @sebastienlorber.com · 06/05/2026
Really cool idea 🤯 - Install this web font - Just add plain text to the DOM - It renders a chart using font ligatures No JS, no hydration FOUC franktisellano.github.io/datatype/
515525
Reposted by Kristóf Poduszló
Eric Bailey @ericwbailey.website · 09/04/2026
A post on social media promoting a post I wrote. ericwbailey.website/published/a-...
ericwbailey.website
A compelling title that is cryptic enough to get you to take action on it
An enticing social media preview summary.
144512
Reposted by Kristóf Poduszló
Harry Roberts @csswizardry.com · 02/04/2026
🎨 I gotta say, my latest is a little treasure trove: what even is `contain`?! csswizardry.com/2026/04/what...
csswizardry.com
What Is CSS Containment and How Can I Use It? – CSS Wizardry
CSS containment lets you isolate layout and paint work to self-contained ‘islands’. Here’s what each contain value does and how to use it safely.
2288
Reposted by Kristóf Poduszló
Artem Zakharchenko @kettanaito.com · 30/03/2026
Excited to open source Async History Stack: an undo/redo system I've been using for a while. ⏳ Async-friendly 🚫 Abortable entries 🚦 Merges, batches, chained operations 🌱 Works with anything github.com/kettanaito/...
github.com
GitHub - kettanaito/async-history-stack: Arbitrary change history management in JavaScript.
Arbitrary change history management in JavaScript. - kettanaito/async-history-stack
1297
Kristóf Poduszló @kripod.dev · 28/06/2025
Today marks the first illegal Budapest Pride march 🏳️‍🌈 🇭🇺 Just a reminder how brittle democracy can be, despite the citizens becoming more inclusive over time. Evil triumphs when the good do nothing…
082
Reposted by Kristóf Poduszló
Jen Simmons @jensimmons.bsky.social · 05/03/2025
Styling HTML form controls is something web designers & developers have wanted for years! My team is working on a solution — apply `appearance: base` and switch to a new interoperable consistent default control. Then override it using new pseudo-elements. See the details: drafts.csswg.org/css-forms/
drafts.csswg.org
CSS Form Control Styling Level 1
411321
Reposted by Kristóf Poduszló
Haz @haz.dev · 15/02/2025
Here's the math needed to adjust a color's lightness and eliminate the gray area where WCAG2 and APCA conflict on black/white foregrounds. Yes, it's CSS. And yes, it's blazingly fast. Usage: background: oklch⁠(⁠from⁠ ⁠<⁠color⁠>⁠ ⁠var⁠(⁠-⁠-⁠_⁠ak⁠-⁠safe⁠-⁠l⁠)⁠ ⁠c⁠ ⁠h⁠)⁠;
Screenshot of a CSS registered property with an initial value that consists of 12 lines of functions: calc(), clamp(), cos(), and several other mathematical operations.

The initial value:

calc(l * (1 - clamp(0, (l - (0.56 + (c / 0.4) * (-0.005 + (0.055 * cos(((h + 45) * pi / 180)))))) * ((0.72 + (c / 0.4) * (0.015 + (0.035 * cos((h * pi / 180))))) - l) * 1000, 1)) + ((0.56 + (c / 0.4) * (-0.005 + (0.055 * cos(((h + 45) * pi / 180))))) * (1 - clamp(0, (l - ((0.56 + (c / 0.4) * (-0.005 + (0.055 * cos(((h + 45) * pi / 180))))) + (0.72 + (c / 0.4) * (0.015 + (0.035 * cos((h * pi / 180)))))) / 2) * 1000, 1)) + (0.72 + (c / 0.4) * (0.015 + (0.035 * cos((h * pi / 180))))) * clamp(0, (l - ((0.56 + (c / 0.4) * (-0.005 + (0.055 * cos(((h + 45) * pi / 180))))) + (0.72 + (c / 0.4) * (0.015 + (0.035 * cos((h * pi / 180)))))) / 2) * 1000, 1)) * clamp(0, (l - (0.56 + (c / 0.4) * (-0.005 + (0.055 * cos(((h + 45) * pi / 180)))))) * ((0.72 + (c / 0.4) * (0.015 + (0.035 * cos((h * pi / 180))))) - l) * 1000, 1))
4354
Kristóf Poduszló @kripod.dev · 16/12/2024
Reduce should never be used with a non-primitive accumulator imo. We have more semantic alternatives like: • Object.fromEntries() + entries​.map() • Object.groupBy() / Map.groupBy() Even for primitives we’ll have Math.sumPrecise() soon ⏳ github.com/tc39/proposa...
github.com
GitHub - tc39/proposal-math-sum: TC39 proposal to add a summation method to JavaScript
TC39 proposal to add a summation method to JavaScript - tc39/proposal-math-sum
1100
Kristóf Poduszló @kripod.dev · 08/12/2024
Visually-hidden elements should be preferred over explicit labeling. Despite being aware of that, I could never explain the “whys” before this article.
010
Kristóf Poduszló @kripod.dev · 07/12/2024
Had to use Safari for browsing the @npmjs.bsky.social ‘Versions’ tab of @astro.build The ‘astro’ package has 1,000+ releases and the associated page just froze while searching on Chrome: www.npmjs.com/package/astr... Perhaps the ‘content-visibility’ CSS property could help? web.dev/articles/con...
web.dev
content-visibility: the new CSS property that boosts your rendering performance  |  Articles  |  web.dev
The CSS content-visibility property enables web content rendering performance benefits by skipping rendering of off-screen content. This article shows you how to use this new CSS property for faster i...
020
Kristóf Poduszló @kripod.dev · 04/12/2024
Just upgraded kripod.dev to Astro v5. While the migration took some effort, I could pull it off in one go thankfully to the well-written guidelines. It took less than an hour, running stronger than ever 🚀
kripod.dev
Kristóf Poduszló
Software engineer with a special interest in accessibility. Builds for the web, mainly using React and Tailwind CSS nowadays.
010
Reposted by Kristóf Poduszló
Ollie Williams @ollie-williams.bsky.social · 30/11/2024
fullystacked.net/svg-icons/
fullystacked.net
The best approach to SVG icons
Inline SVG, <use>, <symbol>, spritesheets, JSX...
031
Kristóf Poduszló @kripod.dev · 30/11/2024
I wish the @tailwindcss.com will revise some changes before releasing v4, especially concerning accessibility. It’s such a responsibility to get things right at their scale. Perhaps advanced features like breaking out of atomicity might be put behind a flag or at least discouraged by the docs? 🤔
110
Kristóf Poduszló @kripod.dev · 17/11/2024
I never really found an ESLint config that’s fairly strict without going overboard So I went through hundreds of core + @typescript-eslint.io rules 1 by 1, hand-picking the severity and options for each. This project culminates all my years of experience with JS/TS so far github.com/kripod/eslin...
github.com
GitHub - kripod/eslint-config: Pragmatic ESLint config for robust collaboration
Pragmatic ESLint config for robust collaboration. Contribute to kripod/eslint-config development by creating an account on GitHub.
030
Kristóf Poduszló @kripod.dev · 10/11/2024
The deterministic nature of feeds here feels underappreciated in comparison to X. Finally I don’t lose track of where I’ve been when refreshing. I wish there was a catch-up marker splitting read and unread posts apart, like on Slack.
020
Kristóf Poduszló @kripod.dev · 07/11/2024
So ironic how JavaScript is among the most forgiving languages and yet TypeScript offers mind-boggling safety & convenience features built on top of such a flexible base.
010
Kristóf Poduszló @kripod.dev · 07/11/2024
“You either die a hero or you live long enough to see yourself become the villain.” Not quite literally but it’s so disheartening to see past role models showing their true colors.
010
Kristóf Poduszló @kripod.dev · 05/11/2024
Updated socials on my blog 🦋 to get rid of that confusing ‘X’ icon in the corner. It’s a great relief 💆 www.kripod.dev
kripod.dev
Kristóf Poduszló
Software engineer with a special interest in accessibility. Builds for the web, mainly using React and Tailwind CSS nowadays.
000
Kristóf Poduszló @kripod.dev · 04/11/2024
Hello, Bluesky 👋 Feeds bring a breath of fresh air over here 🌬️
0120