Contact emailsschen...@chromium.org

ExplainerNone

Specificationhttps://www.w3.org/TR/css-pseudo-4/#highlight-selectors

SummaryChromium currently checks all selection highlight colors against the
text color and inverts the highlight color if it matches the text. Hence,
author-defined ::selection CSS properties may be modified by the browser
despite explicit author intent. For example, a CSS rule "::selection {
color: cyan; background: cyan; }" the background is inverted and red color
is used. In https://github.com/w3c/csswg-drafts/issues/6150 the CSS Working
Group resolved to disallow the chromium behavior. We propose to implement
this spec change and bring chromium into compatibility with other browsers.

Blink componentBlink>CSS
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS>

TAG reviewNone

TAG review statusNot applicable

Risks


Interoperability and Compatibility

Low risk. Gecko and WebKit both respect author colors from
::selection already. The change makes chromium compatible. It is highly
unlikely that authors are depending on chromium behavior given it is hard
to predict and the number of people who have looked at the workarounds.
Note the workarounds (adding some transparency) will not be broken by the
change.


*Gecko*: Shipped

*WebKit*: Shipped

*Web developers*:
https://stackoverflow.com/questions/14970891/css-selection-color-behaving-strangely-on-chrome

*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

Improved because the rendered result now matches the colors specified by
authors and reported in DevTools.


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

Flag name on chrome://flagsNone

Finch feature nameSelectionRespectsColors

Non-finch justification

The change has been behind Experimental Web Platform Features for 4 months,
with no issues reported.


Requires code in //chrome?False

Tracking bughttps://issues.chromium.org/issues/40771258

Estimated milestones
Shipping on desktop 127
Shipping on Android 127

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).
None

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5657973985640448?gate=6583848377253888

-- 
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/CAGsbWzRMGvrzVNmHyJzbgw-fjwBi%2BJm8O0UCt-ZPRF%2BdBN_ddQ%40mail.gmail.com.

Reply via email to