Re: [community-group] Clarification needed for custom properties in tokens (#174)

While the spec wording is not currently clear (and we ought to update it so that it is), I've always taken the view that if it's not explicitly included in the spec, then it is not allowed. My assumption has therefore been that custom properties are _not_ allowed.

As @TravisSpomer pointed out, this is exactly the kind of thing `$extensions` is intended for (Btw, while the current draft only allows them on tokens, we intend to update the spec to allow them on groups too, as proposed in #106).

While I accept that the `$extensions` syntax is more clunky than adding custom properties, I'd argue there are a few benefits to that:

* Extensions are explicitly namespaced, so there's less risk of clashes. If we allowed custom properties and tools A & B each added a `~foobar` custom property but used it for different things, that might cause issues for anyone who happens to be using both of those tools
* The spec recommends reverse domain notation as the key for an extension. Where people use that, it provides a bit of a clue as to who made that extension. So if the spec editors or other tool makers want to understand it, they've got a better chance of finding out who to speak to.
    * If paired with something like the proposal in #144 folks who use extensions could even provide an explicit URL to visit for more info
* While I think there are some valuable use-cases for `$extensions` (mainly as a means for people to prototype new features which can later be standardised as "proper" format properties in future versions of the spec), they are nonetheless proprietary and IMHO should be the exception rather than the rule. Consequently, introducing a bit more friction to authoring them could be a good thing as it will make people think twice.

My preference would therefore be to keep things as they are but update the wording of the spec to make it clear that. custom properties are not allowed.

What do you think?

-- 
GitHub Notification of comment by c1rrus
Please view or discuss this issue at https://github.com/design-tokens/community-group/issues/174#issuecomment-1295847906 using your GitHub account


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

Received on Saturday, 29 October 2022 14:10:29 UTC