Re: [csswg-drafts] [css-values] Distinction between `attr(foo type(<string>))` and `attr(foo string)` is too subtle (#11645)

One thing that confuses me is that once `type(<string>)` is used, then the attribute value in HTML must be added with two levels of nested quotes, otherwise no string will be inserted or the value will use fallback.

This increases the learning cost for the user, can we simplify it?

That is, I want to produce the same result in `test1` as in `test2`.

```html
data:text/html;charset=UTF-8,<!DOCTYPE html>
<style>
.test1:after {
  content: attr(data-foo type(<string>), "none");
}
.test2:after {
  content: attr(data-foo type(<string>), "none");
}
.test3:after {
  content: attr(data-foo raw-string, "none");
}
</style>
<div class="test1" data-foo="bar\30"></div>
<div class="test2" data-foo="'bar\30'"></div>
<div class="test3" data-foo="bar\30"></div>
```

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


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

Received on Thursday, 22 May 2025 08:23:08 UTC