Ariel Salminen's Avatar

Ariel Salminen

@arielsalminen.com

Design systems architect โ€ข Author of various open source tools โ€ข A girl who lost her heart somewhere in California ๐Ÿงก โ€ข Mainly posting about design systems, web components & the web platform. ๐Ÿ“ฎ https://arielsalminen.com ๐Ÿ“Œ https://elenajs.com ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฐ She/her

3,128
Followers
175
Following
1,379
Posts
15.05.2023
Joined
Posts Following

Latest posts by Ariel Salminen @arielsalminen.com

Will launch it end of this month!

10.03.2026 19:56 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

haha, wellโ€ฆ Iโ€™ve mostly built this for my own needs so far so I have no idea if anyone else would even use this ๐Ÿ˜‚

10.03.2026 19:53 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

This was kinda triggered by Stu tho

10.03.2026 19:39 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
Make custom elements behave with scoped registries ย |ย  Blog ย |ย  Chrome for Developers You can now encapsulate custom elements.

๐ŸŽ‰ I'm so excited that scoped custom element registries is landing in Chrome and Edge! ๐Ÿฅณ

This solves one of the biggest complaints with the web components APIs: the global tag name namespace.

Standards is a long game though: I first proposed this in 2017! ๐Ÿ˜ฒ

developer.chrome.com/blog/scoped-...

10.03.2026 16:20 ๐Ÿ‘ 48 ๐Ÿ” 11 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0

The <baseline-status> was more of a proof-of-concept as Iโ€™ve been building slightly more complex web components to stress-test things. Starting to look pretty stable now. ๐Ÿคž๐Ÿป

10.03.2026 17:42 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

(โ€ฆfrom the original ~19.5 kB!)

10.03.2026 17:30 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
<baseline-status> web component recreated with Elena.

<baseline-status> web component recreated with Elena.

Also, just re-created this <baseline-status> web component (github.com/web-platform...) using Elena instead and managed to get the whole web component, including styles, icons and all, down to 4.89 kB ๐Ÿ˜…

10.03.2026 17:26 ๐Ÿ‘ 12 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 1
A screenshot of the latest iteration of the upcoming https://elenajs.com documentation website.

A screenshot of the latest iteration of the upcoming https://elenajs.com documentation website.

Ok, think Iโ€™m ready to hit the publish button *soon* with this thing.

10.03.2026 17:19 ๐Ÿ‘ 78 ๐Ÿ” 2 ๐Ÿ’ฌ 7 ๐Ÿ“Œ 0

Finished the documentation for Elena this morning. Also re-worked some bits to simplify lots of aspects and thereโ€™s now also an opt-in Shadow DOM support for those who want it.

09.03.2026 09:00 ๐Ÿ‘ 8 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

View transitions, anchor positioning, โ€‹@scope, focusgroup, invokers, popovers, container queries, grid, relative colors, style-able selects, and more.

The web feels like itโ€™s getting so good at exactly the moment our collective worst practices are getting calcified as the default.

07.03.2026 17:23 ๐Ÿ‘ 163 ๐Ÿ” 26 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
A screenshot of upcoming component lifecycle documentation for a progressive web component library called Elena.

A screenshot of upcoming component lifecycle documentation for a progressive web component library called Elena.

What Iโ€™ve been up to this week: *docs, docs, docs.*

07.03.2026 08:57 ๐Ÿ‘ 15 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

on my way through Hull

06.03.2026 15:36 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

Hosted such a fun design system office hours session today. We ended up nerding out about typefaces the whole time.

05.03.2026 15:23 ๐Ÿ‘ 12 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Not yet! will eventually live at elenajs.com

05.03.2026 14:59 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

<cheese> elements

05.03.2026 14:36 ๐Ÿ‘ 9 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
A photograph of a cheese shop in Tรถรถlรถ, Helsinki.

A photograph of a cheese shop in Tรถรถlรถ, Helsinki.

Grabbing some cheese ๐Ÿง€ on my way home from the clientโ€™s offices.

05.03.2026 14:15 ๐Ÿ‘ 15 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
A screenshot of macOS terminal showing a test suite summary for Elena.

A screenshot of macOS terminal showing a test suite summary for Elena.

Been recently really enjoying working with Vitest tbh (both for clientโ€™s design system and also for my personal projects).

Iโ€™m just nerding out over the terminal colors at this point tho

05.03.2026 13:08 ๐Ÿ‘ 81 ๐Ÿ” 3 ๐Ÿ’ฌ 7 ๐Ÿ“Œ 0
A screenshot of an upcoming documentation website for a tool called Elena.

A screenshot of an upcoming documentation website for a tool called Elena.

Letting that @darn.es get an early sneak peek of this thingy made me realize it needs proper docs website, even if I tried to resist it and dump it all onto .md files on GitHub. So yeah, here we areโ€ฆ

05.03.2026 12:48 ๐Ÿ‘ 39 ๐Ÿ” 2 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
W3C Accessibility Guidelines (WCAG) 3.0 W3C Accessibility Guidelines (WCAG) 3.0 will provide a wide range of recommendations for making web content more accessible to users with disabilities. Following these guidelines will address many of ...

The latest Working Draft of WCAG 3 is out today! w3.org/TR/wcag3/

In this version, we've:
- moved lots of requirements to โ€œDevelopingโ€ phase,
- wrote down how to test,
- mapped reqs to user needs (using DAF),
- split out 'applies when' and 'except when' to massively increase readability
1/2

03.03.2026 10:45 ๐Ÿ‘ 34 ๐Ÿ” 11 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

yeah it is an open source project Iโ€™m working on. it will be all explained, Iโ€™ve written on the topic already and what I mean with it, but want to properly finish and test things before publishing the whole set of tools. ๐Ÿ˜…

02.03.2026 19:44 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
A screenshot of an upcoming Elena CLI tool which presents three options for the language: JavaScript, TypeScript & HTML.

A screenshot of an upcoming Elena CLI tool which presents three options for the language: JavaScript, TypeScript & HTML.

Made this thing support generating an HTML page as well as an output.

02.03.2026 19:34 ๐Ÿ‘ 16 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
Video thumbnail

It seems we can now customize the select element, right? right?!

Demo: codepen.io/t_afif/pen/P... via @codepen.io

02.03.2026 13:44 ๐Ÿ‘ 374 ๐Ÿ” 83 ๐Ÿ’ฌ 11 ๐Ÿ“Œ 13

End of March is go live (plan at least). If you want a preview access DM me!

28.02.2026 14:30 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

๐Ÿ˜ I really need to visit you folks at some point

28.02.2026 13:57 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Video thumbnail

Had fun this morning building this thing:

28.02.2026 11:54 ๐Ÿ‘ 24 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
A screenshot from a GitHub readme โ€œTable of contentsโ€ that is so long that it canโ€™t fit into the viewport.

A screenshot from a GitHub readme โ€œTable of contentsโ€ that is so long that it canโ€™t fit into the viewport.

There are docs

26.02.2026 21:14 ๐Ÿ‘ 7 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

what if it whirls too much

26.02.2026 16:16 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
A screenshot from Elenaโ€™s GitHub project readme. It says:

Elena is a simple, tiny library for building Progressive Web Components. With Elena, you immediately render the componentโ€™s base HTML & CSS, then progressively enhance the experience with JavaScript rather than relying on it from the start. This approach provides great support for Server Side Rendering (SSR and e.g. React Server Components) without additional configuration or tooling.

Also shows a glimpse from the documentationโ€™s โ€œtable of contentsโ€ which includes โ€œIntroduction,โ€ โ€œCore Principlesโ€ and โ€œWhat is a Progressive Web Component?โ€ sections.

Finally, at the top, there are badges that show โ€œMIT licenseโ€, โ€œ100% test coverageโ€ and a โ€œtests passingโ€ badge.

A screenshot from Elenaโ€™s GitHub project readme. It says: Elena is a simple, tiny library for building Progressive Web Components. With Elena, you immediately render the componentโ€™s base HTML & CSS, then progressively enhance the experience with JavaScript rather than relying on it from the start. This approach provides great support for Server Side Rendering (SSR and e.g. React Server Components) without additional configuration or tooling. Also shows a glimpse from the documentationโ€™s โ€œtable of contentsโ€ which includes โ€œIntroduction,โ€ โ€œCore Principlesโ€ and โ€œWhat is a Progressive Web Component?โ€ sections. Finally, at the top, there are badges that show โ€œMIT licenseโ€, โ€œ100% test coverageโ€ and a โ€œtests passingโ€ badge.

Ok, figured Iโ€™ve been sitting on this project for a while now so decided to give test access to @darn.es to tell me if itโ€™s all shit and I should just throw it away ๐Ÿคท๐Ÿปโ€โ™€๏ธ

Also: **Am I the only one who feels like this when getting close to publishing a big project _(like every single time)?!_** ๐Ÿซ 

26.02.2026 16:01 ๐Ÿ‘ 50 ๐Ÿ” 1 ๐Ÿ’ฌ 6 ๐Ÿ“Œ 0

& does not fix it in Firefox, already tested the alternative routes ๐Ÿ˜…

26.02.2026 11:31 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
@scope (.test) { :scope { ... } }
@scope (.test) { :scope[disabled] { ... } }
@scope (.test) { :scope[variant] { ... } }
@scope (.test) { :scope[type="green"] { ... } }
@scope (.test) { :scope[variant="danger"] { ... } }

Hover the last <div class="test" variant="danger">...</div> and itโ€™ll work ๐Ÿคท๐Ÿปโ€โ™€๏ธ

@scope (.test) { :scope { ... } } @scope (.test) { :scope[disabled] { ... } } @scope (.test) { :scope[variant] { ... } } @scope (.test) { :scope[type="green"] { ... } } @scope (.test) { :scope[variant="danger"] { ... } } Hover the last <div class="test" variant="danger">...</div> and itโ€™ll work ๐Ÿคท๐Ÿปโ€โ™€๏ธ

Found a bug in Firefox with CSS @scope and [attr=value], but now checked out the pre-release build and seems to be fixed there. So perhaps this won't exist soon anymore (in v149?).

Minimal reproduction regardless:
codepen.io/arielsalmine...

26.02.2026 11:16 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0