Kristóf Poduszló's Avatar

Kristóf Poduszló

@kripod.dev.bsky.social

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

91 Followers  |  255 Following  |  28 Posts  |  Joined: 15.12.2023  |  1.7684

Latest posts by kripod.dev on Bluesky

So far so good! The name choice might be a bit of a stretch considering the small amount of authors the project was influenced by.

I have my own flavor based upon the comparison of UA stylesheets if interested: github.com/kripod/css-h...

13.08.2025 19:31 — 👍 1    🔁 1    💬 1    📌 0

Looks neat! Keep up the great work 🙌

19.07.2025 17:23 — 👍 1    🔁 0    💬 0    📌 0

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…

28.06.2025 03:46 — 👍 8    🔁 2    💬 0    📌 0
CSS Form Control Styling Level 1

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/

05.03.2025 17:41 — 👍 114    🔁 22    💬 4    📌 3

Could be a coincidence but ‘Réka’ is also a Hungarian given name for females 😄

22.02.2025 08:34 — 👍 0    🔁 0    💬 0    📌 0

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⁠)⁠;

15.02.2025 19:46 — 👍 35    🔁 4    💬 4    📌 0
Preview
no-labels - ESLint - Pluggable JavaScript Linter A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.

There’s even an @eslint.org rule which prevents using labels in general but has the options ‘allowLoop’ and ‘allowSwitch’ to exempt those constructs: eslint.org/docs/latest/...

20.12.2024 07:40 — 👍 3    🔁 0    💬 0    📌 0

I agree. Just tried putting my thoughts more concisely, using a shorthand for ‘in my opinion’.

The answer here, like for most engineering problems, is ‘it depends’ 😄

17.12.2024 16:00 — 👍 0    🔁 0    💬 0    📌 0

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...

16.12.2024 23:02 — 👍 10    🔁 0    💬 1    📌 0

Visually-hidden elements should be preferred over explicit labeling.

Despite being aware of that, I could never explain the “whys” before this article.

08.12.2024 04:50 — 👍 1    🔁 0    💬 0    📌 0
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...

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...

07.12.2024 07:13 — 👍 2    🔁 0    💬 0    📌 0

It was all fun until missing the flagpole top in the invisible bit of “that” level 🙃

05.12.2024 09:19 — 👍 1    🔁 0    💬 1    📌 0

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 🚀

04.12.2024 07:35 — 👍 1    🔁 0    💬 0    📌 0

Literal unions ("a" | "b") are a thing while literal intersections aren’t 😅 The former has a certain ring to it, I hope that might help.

03.12.2024 20:32 — 👍 1    🔁 0    💬 0    📌 0
Preview
The best approach to SVG icons Inline SVG, <use>, <symbol>, spritesheets, JSX...

fullystacked.net/svg-icons/

30.11.2024 16:52 — 👍 3    🔁 1    💬 0    📌 0
Preview
The Surprising Truth About Pixels and Accessibility: should I use pixels or rems? • Josh W. Comeau “Should I use pixels or rems?”. In this comprehensive blog post, we'll answer this question once and for all. You'll learn about the accessibility implications, and how to determine the best unit to u...

Also, @joshwcomeau.com wrote extensive guidance on the subtleties of px vs. rem www.joshwcomeau.com/css/surprisi...

30.11.2024 14:42 — 👍 1    🔁 0    💬 1    📌 0
Understanding Success Criterion 1.4.10: Reflow | WAI | W3C

‘Reflow’ deserves more spotlight as a WCAG criterion.

Visitors of a website should be able to browse content comfortably on a 320×256px viewport. That equals 400% zoom on a 1280×1024px screen but such an enlargement may also consist of 200% text-only + 200% UI zoom. www.w3.org/WAI/WCAG22/U...

30.11.2024 14:33 — 👍 0    🔁 0    💬 1    📌 0

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? 🤔

30.11.2024 14:14 — 👍 1    🔁 0    💬 1    📌 0

I wish more rules had convenient defaults nudging us to write better code 😄 (some are just a matter of preference, though) github.com/kripod/eslin...

30.11.2024 07:27 — 👍 1    🔁 0    💬 1    📌 0

That’s also why I use the ‘always’ option in my own linter config: github.com/kripod/eslin...

28.11.2024 10:45 — 👍 1    🔁 0    💬 1    📌 0
Preview
await - JavaScript | MDN The await operator is used to wait for a Promise and get its fulfillment value. It can only be used inside an async function or at the top level of a module.

That isn’t exactly the case as typescript-eslint’s docs refer to this example on MDN which throws an error asynchronously. The `await null` line makes a difference for the stack trace: developer.mozilla.org/en-US/docs/W...

28.11.2024 10:44 — 👍 5    🔁 0    💬 1    📌 1
Preview
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.

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...

17.11.2024 23:32 — 👍 3    🔁 0    💬 0    📌 0

Guess who got lucky today, @jamie.build 😄 bsky.app/profile/jami...

15.11.2024 12:37 — 👍 2    🔁 0    💬 0    📌 0

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.

10.11.2024 07:57 — 👍 2    🔁 0    💬 0    📌 0

Great article, thanks for the idea 🙌

I also have my own reset built upon the line-by-line comparison of user-agent stylesheets: github.com/kripod/css-h...

08.11.2024 05:27 — 👍 3    🔁 0    💬 0    📌 0

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.

07.11.2024 20:12 — 👍 1    🔁 0    💬 0    📌 0

Shouldn’t we just assume that by default unless in a public-facing leadership position or stated otherwise?

07.11.2024 07:30 — 👍 1    🔁 0    💬 0    📌 0

“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.

07.11.2024 07:05 — 👍 1    🔁 0    💬 0    📌 0

It depends. Guards on top for precondition checks but nesting otherwise.

I find control flow statements like ‘continue’/‘break’ to have less affordance than ‘return’ but the latter also gets harder to notice with more indentation.

05.11.2024 07:12 — 👍 1    🔁 0    💬 0    📌 0
Preview
Kristóf Poduszló Software engineer with a special interest in accessibility. Builds for the web, mainly using React and Tailwind CSS nowadays.

Updated socials on my blog 🦋 to get rid of that confusing ‘X’ icon in the corner.

It’s a great relief 💆 www.kripod.dev

05.11.2024 06:20 — 👍 0    🔁 0    💬 0    📌 0

@kripod.dev is following 20 prominent accounts