[community-group] Themes/Schemes vs. Design Tokens (#187)

equinusocio has just created a new issue for https://github.com/design-tokens/community-group:

== Themes/Schemes vs. Design Tokens ==
After some years of working with DS and design tokens, I'm happy to see something "official" around this topic, but I would like to highlight the concepts of design tokens and themes.

## Design tokens vs. themes. Semantic vs. non-semantic.

We know design tokens have specific core values:

- Design tokens don't change across implementations. They are constants.
- Design tokens are platform-agnostic raw data; you must transform them into specific formats used by destination platforms, like the web, iOS, and Android.
- Design tokens are non-semantic. They hold an absolute value.
- Design tokens are the single source of truth to keep consistency across the system and platforms. Read the first point.

But what we have right now is a need for clarification about what a design token is and what it can do. I see the idea that design tokens' value can change across the system while what can change are only the keys used for themes/schemes, as shown in the official talk below.

![From 
https://youtu.be/ssOdzxZdg58?t=833](https://user-images.githubusercontent.com/10454741/203501971-c8cfdf60-834b-4064-b4bf-c55f46b7e87a.png)
> From https://youtu.be/ssOdzxZdg58?t=833

Since design tokens never change across the system, but themes do, don't we think we can clarify what a theme is and what a design token is? Calling everything "design token" is wrong since they have different scopes and add confusion about the actual usage.

I don't know how, but adding a section in the spec about themes/schemes and clarifying examples by avoiding theme-style names for design tokens. Like `--global-background` isn't likely a real name for a design token; it is probably a key used inside themes instead.

## Conclusion

- `Theme`'s values (semantic keys) may change across the system and implementation.
- `Design Tokens` values are the same across every implementation (of course, i'm talking about the raw data, not the transformed platform-specific value)

Isn't calling everything "design tokens" lot confusing and far to be clear for users?



Please view or discuss this issue at https://github.com/design-tokens/community-group/issues/187 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 23 November 2022 08:45:52 UTC