Re: [csswg-drafts] [css-values-5] Arbitrary substitution function definition is ambiguous (#13083)

The intended meaning is (2). An ASF cannot provide parts of the [argument grammar](https://drafts.csswg.org/css-values-5/#argument-grammar) of an outer ASF by _default_ (but see the [spread syntax](https://drafts.csswg.org/css-values-5/#spread-syntax)):

> This also means that, ordinarily, parsing according to a function’s [argument grammar](https://drafts.csswg.org/css-values-5/#argument-grammar) does not see the results of any nested [arbitrary substitution functions](https://drafts.csswg.org/css-values-5/#arbitrary-substitution-function); the contents are divided into arguments based only on the values literally present inside the function.

[(Source)](https://drafts.csswg.org/css-values-5/#example-af866466:~:text=This%20also%20means%20that%2C%20ordinarily%2C%20parsing%20according%20to%20a%20function%E2%80%99s%20argument%20grammar%20does%20not%20see%20the%20results%20of%20any%20nested%20arbitrary%20substitution%20functions%3B%20the%20contents%20are%20divided%20into%20arguments%20based%20only%20on%20the%20values%20literally%20present%20inside%20the%20function.)

---

> ```css
> :root {
>   --list: red, green, blue;
>   background-color: random-item(--x, var(--list));
> }
>```

This `random-item()` call unambiguously has two arguments: `--x`, and whatever `var(--list)` expands to. See [Example 39](https://drafts.csswg.org/css-values-5/#example-af866466).



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


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

Received on Tuesday, 11 November 2025 07:59:21 UTC