Intent to Ship: CSS Relative Color Syntax (RCS)

250 views
Skip to first unread message

Aaron Krajeski

unread,
Aug 29, 2023, 10:17:34 AM8/29/23
to blink-dev
Contact emails: aar...@chromium.org, fs...@chromium.org

Explainer: go/rcs-chromium

Specification: https://www.w3.org/TR/css-color-5/#relative-colors

Summary

The relative color syntax allows developers to define colors by modifying the parameters of other colors. For example: oklab(from magenta calc(l * 0.8) a b); Will result in an oklab magenta that is 80% as light.


Blink component: Blink>CSS

TAG review: None

Risks

Interoperability and Compatibility

None


Gecko: No signal

WebKit: Shipped (https://caniuse.com/css-relative-colors)

Web developers: No signals

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None



Debuggability

bra...@chromium.org of dev tools team is on it. Work in progress.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Yes

Is this feature fully tested by web-platform-testsYes
https://wpt.fyi/results/css/css-color/parsing/color-valid-relative-color.html

Flag name on chrome://flags: Experimental Web Platform features

Finch feature name: WebFeature::kCSSRelativeColor

Requires code in //chrome? False

Tracking bug: https://crbug.com/1475009

Estimated milestones
DevTrial on desktop

118


Anticipated spec changes
None

Link to entry on the Chrome Platform Status: https://chromestatus.com/feature/5205844613922816

This intent message was generated by Chrome Platform Status.

Manuel Rego Casasnovas

unread,
Aug 30, 2023, 10:54:27 AM8/30/23
to Aaron Krajeski, blink-dev


On 29/08/2023 16:17, Aaron Krajeski wrote:
> *Explainer: *go/rcs-chromium <http://go/rcs-chromium>

That's not a public link, please could you make it public?

> Risks
>
> Interoperability and Compatibility
>
> None
>
>
> /Gecko/: No signal

Why no signals from Gecko? Have we filled a standards position request
or do we know other information about Gecko supporting this feature?

> /WebKit/: Shipped (https://caniuse.com/css-relative-colors
> <https://caniuse.com/css-relative-colors>)
>
> /Web developers/: No signals

I guess some developers have asked about this feature right? Do we have
any info regarding that?

Thanks,
Rego

Aaron Krajeski

unread,
Aug 30, 2023, 11:34:31 AM8/30/23
to Manuel Rego Casasnovas, blink-dev, arg...@chromium.org
That's not a public link, please could you make it public?
Why no signals from Gecko? Have we filled a standards position request
or do we know other information about Gecko supporting this feature?

It's part of stable spec right now. Gecko has an implementation bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1701488

I guess some developers have asked about this feature right? Do we have
any info regarding that?

Yes! Just to name a few:
https://www.matuzo.at/blog/2023/100daysof-day92/
https://12daysofweb.dev/2022/css-color-spaces-relative-color-syntax/
https://www.stefanjudis.com/notes/new-in-css-relative-colors/
https://chriscoyier.net/2023/01/26/relative-color-syntax-plzzzzz/
"Both Dave and Tyler pointed to the Relative Color Syntax on their 2023 CSS Wishlist."

Thanks to arg...@chromium.org for finding these.

Sorry for the incompleteness of my I2S thread and thank you for the follow up Rego!

Cheers,
  Aaron

Alex Russell

unread,
Aug 30, 2023, 12:25:41 PM8/30/23
to blink-dev, Aaron Krajeski, blink-dev, arg...@chromium.org, Manuel Rego
Hey Aaron, thanks for the links.

I'm goint to LGTM1 this on the condition you dot some i's and cross some t's.

First, please use the Mozilla Standards Positions process to guage their temperature rather than links to bugs:


When Mozilla replies, please update the issue and post the reply to this thread.

Next, not having an explainer is not great, and pointing to a Google-internal doc is not on. 

Lastly, please send this feature to the TAG as an FYI. There's no "pass" for new, large features like this.

Best,

Alex

Aaron Krajeski

unread,
Aug 31, 2023, 8:41:07 AM8/31/23
to Alex Russell, blink-dev, arg...@chromium.org, Manuel Rego
Thanks for your review Alex!


> First, please use the Mozilla Standards Positions process to guage their temperature rather than links to bugs:

Chris Lilley opened a bug for that in July, no response yet: https://github.com/mozilla/standards-positions/issues/841

> Next, not having an explainer is not great, and pointing to a Google-internal doc is not on. 

How about the blog I responded to Rego with, is it sufficient?
> Lastly, please send this feature to the TAG as an FYI. There's no "pass" for new, large features like this.

As an issue on github.com/w3ctag/design-reviews/issues? It being an FYI, can I keep it brief or do I need to dig around for "User research", "Key pieces of existing multi-stakeholder review or discussion of this specification" from when the spec was originally written?

Thanks!
  Aaron 



Yoav Weiss

unread,
Sep 6, 2023, 11:17:47 AM9/6/23
to Aaron Krajeski, Alex Russell, blink-dev, arg...@chromium.org, Manuel Rego
LGTM2

On Thu, Aug 31, 2023 at 2:41 PM 'Aaron Krajeski' via blink-dev <blin...@chromium.org> wrote:
Thanks for your review Alex!

> First, please use the Mozilla Standards Positions process to guage their temperature rather than links to bugs:

Chris Lilley opened a bug for that in July, no response yet: https://github.com/mozilla/standards-positions/issues/841

> Next, not having an explainer is not great, and pointing to a Google-internal doc is not on. 

How about the blog I responded to Rego with, is it sufficient?

I think Stefan's blog post is a great explainer + it shows developer enthusiasm towards this!
 

> Lastly, please send this feature to the TAG as an FYI. There's no "pass" for new, large features like this.

As an issue on github.com/w3ctag/design-reviews/issues? It being an FYI, can I keep it brief or do I need to dig around for "User research", "Key pieces of existing multi-stakeholder review or discussion of this specification" from when the spec was originally written?

Given that this is shipped in Safari, the TAG review is not a blocker based on our process. So I think you can keep it brief.
 
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPhTwY2hoE4ObOn1zqaWWO8949QGqewJf0VX-etZR0RPskuytA%40mail.gmail.com.

Aaron Krajeski

unread,
Sep 6, 2023, 11:40:54 AM9/6/23
to Yoav Weiss, Alex Russell, blink-dev, arg...@chromium.org, Manuel Rego
> Given that this is shipped in Safari, the TAG review is not a blocker based on our process. So I think you can keep it brief.

Alex Russell

unread,
Sep 6, 2023, 11:43:55 AM9/6/23
to blink-dev, Yoav Weiss, Alex Russell, blink-dev, arg...@chromium.org, Manuel Rego, Aaron Krajeski
Sorry for the slow reply. I agree that Stefan's post is great, but I'm not sure it's what we'd like to see in terms of design-time process here. In general, we want to see features built with developer involvement, which is why Explainers and Incubation are important. Post-hoc documentation is helpful, but not a replacement for showing our work and discussing potential design alternatives with end-users. Given that we're not going first here, I'm not going to block here, but for future work, know that this isn't the bar and isn't how our process works.

On TAG review, as Yoav says, please send an FYI so that when we do the next feature, the folks there have this context. Our process doesn't allow us to skip this. 

Best,

Alex

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Chris Harrelson

unread,
Sep 6, 2023, 11:51:44 AM9/6/23
to Alex Russell, blink-dev, Yoav Weiss, arg...@chromium.org, Manuel Rego, Aaron Krajeski
LGTM3

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/aa23cec1-5edd-42e8-aeca-e2f0742a5107n%40chromium.org.
Reply all
Reply to author
Forward
0 new messages