Contact emails
[email protected]<mailto:[email protected]>

Specification
https://drafts.csswg.org/css-color-adjust-1/#forced-colors-properties

Summary
This change updates Chromium’s emoji rendering behavior in Forced Colors Mode. 
During computed-value resolution, emoji whose font-variant-emoji value computes 
to normal or unicode are rendered using their monochrome glyphs when available.

Chromium will therefore suppress color emoji rendering, which ensures emojis 
fully participate in the Forced Colors Mode pipeline and respect system 
high-contrast colors. Behavior outside forced colors mode is unchanged.

Blink component
Blink>Fonts<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EFonts%22>

Web Feature ID
forced-colors<https://webstatus.dev/features/forced-colors>

Motivation
Forced Colors Mode (High Contrast Mode) is designed to improve readability for 
visually impaired users by applying system-defined high-contrast colors across 
all content. However, colorful emoji do not adapt to these enforced colors. 
They often retain their original multicolor appearance, which can make them 
blend into the background, appear low-contrast, or become visually distracting. 
This undermines the purpose of the mode and creates inconsistent accessibility 
behavior compared to the rest of the text rendering pipeline.

To address this, Chromium now ensures that in Forced Colors Mode, at 
computed-value time, any emoji whose font-variant-emoji value resolves to 
normal or unicode will render using a monochrome variant when available. This 
makes emoji follow the same contrast and color constraints as surrounding text, 
improves readability, and aligns emoji rendering with user expectations for 
high-contrast environments.

Initial public proposal
https://github.com/w3c/csswg-drafts/issues/8064

TAG review
https://github.com/w3ctag/design-reviews/issues/1156

TAG review status
Issues addressed

Risks


Interoperability and Compatibility
This will change emoji font rendering for web pages when in Forced Colors Mode, 
but no major interoperability or compatibility issues are anticipated.

Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1323)

WebKit: No signal Forced color mode is not entirely supported in Apple systems.

Web developers: Positive Four users have reported being affected by this issue: 
https://issues.chromium.org/issues/420857717

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?
No information provided


Debuggability
Existing DevTools capabilities already cover this.

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/forced-colors-mode/forced-colors-mode-57.html?label=master&label=experimental&aligned
Https://wpt.fyi/results/forced-colors-mode/forced-colors-mode-58.html?label=master&label=experimental&aligned<https://wpt.fyi/results/forced-colors-mode/forced-colors-mode-58.html?label=master&label=experimental&aligned>
Https://wpt.fyi/results/forced-colors-mode/forced-colors-mode-59.html?label=experimental&label=master&aligned<https://wpt.fyi/results/forced-colors-mode/forced-colors-mode-59.html?label=experimental&label=master&aligned>
https://wpt.fyi/results/forced-colors-mode/forced-colors-mode-60.html?label=experimental&label=master&aligned

Flag name on about://flags
No information provided

Finch feature name
EmojiMonochromeRendering

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
False

Tracking bug
https://issues.chromium.org/issues/420857717

Estimated milestones
Shipping on desktop
144
Shipping on Android
144
Shipping on WebView
144
Shipping on iOS
144


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/5861138256494592?gate=6515528338374656

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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SIAP153MB1127867C34B9382068C95748D4DFA%40SIAP153MB1127.APCP153.PROD.OUTLOOK.COM.

Reply via email to