Re: [csswg-drafts] [css-values-5] Normalized attr() substitution value (#10503)

Right, the point about "single token" is now moot with the new [<syntax>](https://drafts.csswg.org/css-values-5/#parse-syntax)-based spec.

Now that `attr()` and registered custom properties share a type system, it seems fairly obvious that we should keep the substitution behavior as consistent as possible between those features. For example, we don't want `--reg-length: 10.00px` to substitute as `10px` while `attr(myattr type(<length>))` (given `myattr="10.00px"`) substitutes as `10.00px`.

I suggest that we rephrase [equivalent token sequence](https://drafts.css-houdini.org/css-properties-values-api-1/#equivalent-token-sequence) to be about "values" instead of specifically "computed values", and then we spec `attr()` to substitute as that. (Sidenote: `attr(myattr type(*))` _would_ substitute as the original string, however, since that's how "untyped" values serialize; see [4.1. Serializing Custom Properties](https://drafts.csswg.org/css-variables/#serializing-custom-props)).

---

We could indeed try this as an async resolution:

Proposed: `attr() substitutes as the equivalent token sequence, and that definition is adjusted to accommodate non-computed values`

-- 
GitHub Notification of comment by andruud
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10503#issuecomment-2538283667 using your GitHub account


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

Received on Thursday, 12 December 2024 09:10:24 UTC