Contact emails
Specification
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
Web Feature ID
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
TAG review
TAG review status
Issues addressed
Risks
Interoperability and Compatibility
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
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
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