Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Lea Verou, PhD

@leaverou@front-end.social
mastodon 4.7.3
  • Open on front-end.social

I make things that help people make things. • W3C TAG alum • CSS WG Invited Expert • CS/HCI PhD @MIT • Shy extrovert.

8202 Followers
234 Following
43 Posts
Joined November 06, 2022
Pronouns:
she/her
Website:
https://lea.verou.me
GitHub:
https://github.com/leaverou
🦋 Bsky:
https://bsky.app/profile/lea.verou.me
Open post
Lea Verou, PhD @leaverou@front-end.social
· 5mo ago
Boosted by @hypebot@tacocat.space
TIL crows, starlings and similar birds only *look* black to us — they’re actually very colorful in ways human eyes are unable to perceive. 🤯 Remember that next time people can’t see your “colors”. Some colors just require different eyes.
1093
75
749
2
Open post
Lea Verou, PhD @leaverou@front-end.social
· 3mo ago
If one user gets it wrong, it *might* be them. If multiple users get it wrong, it's *definitely* you. — Ancient UX proverb
42
0
26
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 3mo ago
RE: https://front-end.social/@css/116846332363731850 I proposed this feature in 2023. Safari implemented in 2024. Chrome just shipped it too. This means that it's now a matter of time before it’s available for >88% of web users. And as a progressive enhancement, you can use even before that. Timeline: https://lea.verou.me/specs/#continuous-image-borders “But standards are so slow!” PS1: Credits to yisibl for implementing this in Chrome! PS2: You don't actually need border-box in there, it's the default background-origin if background-clip includes border-area.
front-end.social

CSS by T. Afif :verified:: "They just released :chrome: Google Chrome V150…" - Front-End Social

32
2
10
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 13mo ago

This is excellent. 👌🏼

“Open source, the thing that drives the world, the thing Harvard says has an economic value of $8.8 trillion.
Most of it is one person.

And […] not one of those single person projects have the proper amount of resources they need. If you want to talk about possible risks to your supply chain, a single maintainer that’s grossly underpaid and overworked.”

Yuuup. Baffling how so many companies depend on open source software without funding it, ever.

https://opensourcesecurity.io/2025/08-oss-one-person

opensourcesecurity.io
322
29
337
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago

Kids are so weird sometimes.

Tonight, at dinner, I suddenly notice my 6 year old staring into the void, looking pensive.
Eventually, she exclaims “I am completely lost with where I am in my life!”.

Join the club, kiddo. Join the club. 🤣🤣🤣

73
3
16
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 8mo ago

The @csswg needs your input!

We just resolved to support multiple borders and outlines per element, comma separated! 🎉

But we can’t decide on the order: inside out or outside in?
What feels more natural to you, A or B?

Poll in @leaverou@front-end.social

front-end.social
40
17
60
1
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago

Claude: I can understand complex architectures in minutes and write highly maintainable code in a fraction of the time it would have taken a human!

Also Claude: Um, how do I put this. I know you gave me permission to run a bunch of terminal commands, but I need you to approve this one manually because ampersands are hard.

14
1
3
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago

RE: @cssday@mastodon.social

I don’t have time to do as many conference talks these days but CSS Day always has a special place in my heart. It’s such a fantastic conference, both for the content and the community.

mastodon.social

CSS Day: "Also, we announce new speakers today. @kevinpowel…" - Mastodon

13
0
1
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 9mo ago

🎄 Holiday gift from the #ColorJS team: v0.6.0 is out with a host of fixes and improvements!

We’ve also crossed 100 million installs on npm a few weeks ago!

Release notes:
https://github.com/color-js/color.js/releases/tag/v0.6.0

front-end.social
22
1
7
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 5mo ago
Replying to
@catraxx Thanks! I did fact check it and it seems to apply to crows too, but couldn't tell what the bird was in the infographic. I edited the OP.
7
1
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 15mo ago

🔥 I have news! After a 1y hiatus, I’m once again leading this year’s #StateOfHTML survey, thanks to generous funding by Google. ❤️

🙋🏽‍♀️ Is there is an HTML feature or Web API you're dying to see progress on? Suggest it and it could be included!

Browsers fund these surveys to see what matters to devs — so if others care too, it can really help. E.g. these surveys are the reason we have CSS Nesting.

⌛️ The survey is launching later this month, so time is of the essence!

https://lea.verou.me/blog/2025/design-state-of-html/

front-end.social
45
10
30
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago

RE: @leaverou@front-end.social

This ended up being such a useful lil' utility I just published a package with it so others can enjoy hassle-free symbols by the truckload!

https://www.npmjs.com/package/get-symbols

front-end.social
8
1
1
1
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago

There are currently two mature @TC39@fosstodon.org proposals for the low-level functionality that would make it possible to declare *any* file type as a dependency:

1. Import text (Stage 3 as of last week!): https://github.com/tc39/proposal-import-text
2. Import bytes (Stage 2.7): https://github.com/tc39/proposal-import-bytes

Perhaps we should push for these to get implemented *first* instead of ad hoc types for every possible type of dependency (CSS modules, HTML modules, etc), which doesn’t scale.

github.com
8
1
2
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 14mo ago

🚀 The #StateOfHTML 2025 survey is now open!

➡️ Take it now: https://survey.devographics.com/en-US/survey/state-of-html/2025/?source=leaverou

Spending time to fill these out thoughtfully is an investment into your craft, as browsers are using the results to make prioritization decisions.

You don't have to do it in one go (or even in one device).

Blog post with more background: https://lea.verou.me/blog/2025/state-of-html/

Big thanks to @sachagreif@front-end.social @dmitrysharabin@mastodon.social @kadirtopal@mastodon.social @foolip@mastodon.nu!

#StateOfHTML2025

front-end.social
22
5
32
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago

RE: @leaverou@front-end.social

Thank you all for voting! Thanks to your input we managed to reverse the resolution that forced all mixins to be scoped — sibling and ancestor rules will no longer be silently dropped from mixins. 🎉

Relevant WG resolution: https://github.com/w3c/csswg-drafts/issues/13727#issuecomment-4173187508

My slides: https://webplatform.design/talks/mixins

front-end.social

Lea Verou, PhD: "🚨 Want mixins in CSS? Help the @csswg@bird.makeup…" - Front-End Social

4
2
1
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 28mo ago

Less than a week ago, I predicted that @Firefox would implement Relative Colors (RCS) *very* soon.

I didn’t expect my prediction to come true that quickly: Firefox 128 (Nightly) shipped with RCS support! 🎉
Pretty solid implementation too.

This means that Relative Colors will be Baseline 2024! 🎉

Testcase: https://dabblet.com/gist/58ec6a5493b95097a0c6a17b0cc9a840

Now if someone could update caniuse…

@leaverou@front-end.social

dabblet.com
45
0
18
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 7mo ago
Replying to
@tobz@mastodon.nz Heh, I feel your pain SO MUCH. This is what got me to write https://lea.verou.me/blog/2026/web-deps/ a while back. Here's something I've been working on to fix this, hoping to release it soon: https://nudeps.dev/ Would love your feedback!
Web dependencies are broken. Can we fix them? • Lea Verou
lea.verou.me

Web dependencies are broken. Can we fix them? • Lea Verou

Dear JS ecosystem, I love you, but you have a dependency management problem when it comes to the Web, and the time has come for an intervention.

3
1
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 29mo ago

The #StateOfHTML 2023 results are finally out!

Enjoy insights from 22K responses about the state of the web platform, from HTML and interactivity to #webcomponents, PWAs, and a lot more.

This project is a monumental effort from people across the world. We even designed novel data collection UIs to gather the data we needed while minimizing friction, which I plan to write a case study about soon.

https://2023.stateofhtml.com/en-US

front-end.social
37
0
33
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 11mo ago

If your company uses web technologies but has never tried to solve pain points by fixing the web platform rather than working around the issues, why is that?

6
0
8
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
@gumnos@mastodon.bsd.cafe No, it shouldn't. The width is injected via the mixin (which is used via @-apply
2
1
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
@AmeliaBR@front-end.social @bramus@front-end.social Yes. But the main point wasn't A vs B, but A&B vs C&D.
1
1
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
@gumnos@mastodon.bsd.cafe All four options would produce the same results for the order in your toot.
1
0
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
@mez@mastodon.nz The question is asking which outcome feels most natural *to you*. If it seems weird for no width declaration to apply in that case, then don't pick these answers! 😀
1
2
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
Question in https://front-end.social/@leaverou/116297807826814028
front-end.social

Lea Verou, PhD: "🚨 Want mixins in CSS? Help the @csswg@bird.makeup…" - Front-End Social

1
16
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
@westbrook@mastodon.social Of course, here CSS modules have already shipped in 2/3 so it's low-hanging fruit to support them. I'm not suggesting doing Import Text *instead*, unless we figure out time travel meanwhile. But we should definitely focus on these primitives before asking for any other types IMO or this situation will keep repeating.
1
1
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 7mo ago

What best expresses your setup?

1
5
3
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 13mo ago

To add to @bramus@front-end.social's question [1]:
What "queries" would you use it with?

E.g.
- first input descendant
- closest name=foo sibling
- input within the same etc

Don't think just /ARIA but all attributes that take ids, e.g. list, commandfor, popovertarget + component attributes

[1]: @bramus@front-end.social

front-end.social
3
2
3
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 36mo ago

After popular demand, we decided to extend the #StateOfHTML survey until Oct 16th. 🥳

Last chance to take it, or finalize your answers if you have already taken it!

Maybe you remembered more pain points after taking it? Go back and write them in!

https://survey.devographics.com/en-US/survey/state-of-html/2023

front-end.social
15
0
17
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 39mo ago
Replying to

Spinoff Blog Post 1: Rethinking Categorization

https://lea.verou.me/blog/2023/rethinking-categorization/

This explores questions like…

  • What is really the difference between categories and tags? Do we really need both?
  • Are tags really a folksonomy?
  • How to fix some of the most common UX problems with tags?
lea.verou.me
11
4
3
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 39mo ago
Replying to
Spinoff Blog Post 2: 11ty: Index ALL the things! https://lea.verou.me/blog/2023/11ty-indices/ Principles of good URLs, and how to follow them with @eleventy@fosstodon.org (in particular, the one about indices, which can be tricky).
lea.verou.me

11ty: Index ALL the things! • Lea Verou

This is a second spinoff post in the migration saga of this blog from WordPress to 11ty. On good URLs It was important to me to have good, RESTful, usable, hackable URLs. While a lot of that is easy and comes for free, following this principle with Eleventy proved quite hard: URLs that are “hackable” to allow users to move to higher levels of the information architecture by hacking off the end of the URL What does this mean in practice? It means it’s not enough if tags/foo/ shows all posts tagge

7
2
1
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 39mo ago
Replying to
Spinoff Blog Post 3: Migrating Disqus from WP to 11ty https://lea.verou.me/blog/2023/preserve-disqus/ How to preserve your Disqus comment threads when switching to @eleventy@fosstodon.org, and (optionally) continue to use Disqus in your new blog.
lea.verou.me

Migrating Disqus from WP to 11ty • Lea Verou

So I recently ported my 14 year old blog from WordPress to Eleventy. I had been using Disqus for comments for years, so I didn’t want to lose them, even if I ended up using a different solution for the future (or no comments at all). Looking around for an existing solution did not yield many results. There’s Zach’s eleventy-import-disqus but it’s aimed at importing Disqus comments as static copies, but I wanted to have the option to continue using Disqus. Looking at the WP generated HTML source,

7
0
1
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 39mo ago
Replying to
@lonekorean@front-end.social @eleventy@fosstodon.org thank you so much for writing it! ❤️
1
0
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 39mo ago
Replying to
@dsw@mastodon.social Done!
1
0
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
@bramus@front-end.social Yes, but also… https://github.com/LeaVerou/blog/discussions/137#discussioncomment-16344301
GitHub

What mixin behavior feels most natural to you around nested rules? · LeaVerou/blog · Discussion #137

🚨 Want mixins in CSS? Help the CSS WG by telling us what feels natural to you! Look at this code: @mixin --foo(--arg <length>) { @result { &, & > h2, & + p { width: var(--arg); } } } div { @apply -...

0
0
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 13mo ago
Replying to
@katanova@retro.social did you read the article?
0
1
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
@mez@mastodon.nz Sorry, I meant no width declaration is applied to it, i.e. it just gets the default width.
0
4
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to

@westbrook@mastodon.social When designing any product/API/language a common tension is:

  1. Cover all use cases at 80% (low-level primitive) vs
  2. Cover only the common cases at 100% (high-level primitive).

The right call depends on the specifics, including:

  1. What % of use cases would 2 leave out?
  2. How painful are those use cases now?

If the answers are "high" and "very", 1 tends to be the right call, and buys you time to do 2 well, because now it's about reducing friction, not making things possible.

0
1
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
@mattbroughton@mastodon.online Wow, thankfully it hasn't tried to pull that sh*t with me so far 😅
0
1
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 6mo ago
Replying to
@seiz@mastodon.social ems are relative units, they need to eventually resolve to an absolute unit
0
1
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 39mo ago
Replying to
@dsw@mastodon.social Thanks! Wrt RSS could you file an issue? If a few people ask for it, I will!
0
2
0
0
Open post
Lea Verou, PhD @leaverou@front-end.social
· 39mo ago
Replying to
@brad@definitely.social nah, I still prefer my local VS Code with my extensions and preferences 🤷🏽‍♀️
0
0
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 02:35:18 UTC