Contact emails kbabb...@microsoft.com<mailto:kbabb...@microsoft.com>
Explainer None Specification https://www.w3.org/TR/css-color-5/#resolving-rcs Design docs https://docs.google.com/document/d/1568wVjrIRbrU9_O37gPu10cj0CDWRiAc6ZMk9t0JpXs/edit Summary Allow relative colors in CSS (using the 'from' keyword) to use 'currentcolor' as a base. This will make it easy for web developers to set complementary colors, based on an element's text color, for that element's borders, shadows, backgrounds, etc. This feature also includes use cases where color functions are nested with a dependency on 'currentcolor', for example `color-mix(in srgb, rgb(from currentcolor r g b), white))` or `rgb(from rgb(from currentcolor 1 g b) b g r)`. Blink component Blink>CSS<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS> TAG review https://github.com/w3ctag/design-reviews/issues/894 TAG review status Issues addressed The link above is for Relative Color Syntax in general. Tests for 'currentcolor' cases were added as part of the discussion before the TAG signed off on the review. I discussed with Alex Russell, and he supports my interpretation that the TAG is satisfied with this use case. Risks Interoperability and Compatibility Interoperability: Relative Color Syntax is a focus area for Interop 2024, and inclusion of 'currentcolor' is well covered by existing WPTs, so the risk of other engines not converging on an interoperable implementation is low. Compatibility: The only risk here is that enabling 'currentcolor' support will "light up" color declarations that are being rejected at present. Total usage of Relative Color Syntax on the Web (including 'currentcolor' or otherwise) is ~0.15% of page loads as of September 1, 2024[1]. I haven't done an analysis of 'currentcolor' in RCS, but given that no major engine supported it until May of this year, I would expect it to be a tiny fraction of those. [1] https://chromestatus.com/metrics/feature/timeline/popularity/4632 Gecko: Positive (https://github.com/mozilla/standards-positions/issues/841) Implementation bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1893966 WebKit: Shipped/Shipping (https://bugs.webkit.org/show_bug.cgi?id=245970) Changes landed May 13. Web developers: Positive (https://github.com/web-platform-tests/interop/issues/426) This feature is part of Interop 2024. 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? Low risk. This feature is additive in nature and potential for app impact is cosmetic only. Debuggability Covered by existing DevTools support for debugging CSS properties. Property text displays correctly in the Styles and Computed panes. I did identify one minor issue with color swatches in the Styles pane, but that's now fixed: https://issues.chromium.org/issues/367154236 Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? Yes Is this feature fully tested by web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>? Yes https://wpt.fyi/results/css/css-color?label=master&label=experimental&aligned&view=interop&q=label%3Ainterop-2024-relative-color There are a few subtest failures that remain with this feature in status=experimental, but those are cases for relative colors *not* based on 'currentcolor' and are being tracked separately. Flag name on chrome://flags None Finch feature name CSSRelativeColorSupportsCurrentcolor Requires code in //chrome? False Tracking bug https://issues.chromium.org/issues/325309578 Estimated milestones Shipping on desktop 131 Shipping on Android 131 Shipping on WebView 131 Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way). There are several ongoing discussions in the CSSWG related to colors, mostly around serialization of values. However, I did not find any open issues that were specific to 'currentcolor' support in relative colors - what I found were instead questions that apply more broadly and thus would need to be considered independently from this feature. Link to entry on the Chrome Platform Status https://chromestatus.com/feature/4755025804132352?gate=6199731202818048 Links to previous Intent discussions Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH0PR00MB11527917FE827C65D0277F0EC0A52%40PH0PR00MB1152.namprd00.prod.outlook.com This intent message was generated by Chrome Platform Status<https://chromestatus.com/>. -- 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+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH0PR00MB1152AC9D2DCC898FD587494FC0632%40PH0PR00MB1152.namprd00.prod.outlook.com.