Hi, reviving this thread as the CSSWG resolution at [css-color]
[css-color-adjust] Make system colors fully resolve (but flag
they were system colors) thus reversing the resolution of #3847 ·
Issue #6773 · w3c/csswg-drafts (github.com)
<https://github.com/w3c/csswg-drafts/issues/6773> has been
reached (though the standards posiiton for this particular
feature hasn't been updated yet). preserve-parent-color value for
forced-color-adjust CSS property · Issue #591 ·
mozilla/standards-positions (github.com)
<https://github.com/mozilla/standards-positions/issues/591>.
To summarize,
- If both system colors and forced colors were resolved at
compute time, `preserve-parent-color` would not be needed. This
is similar to Mozilla, which gets the behavior of
`preserve-parent-color` "for free".
- The resolution of #6773 is to resolve system colors at
compute time. Forced color are still resolved at used value time.
- Thus, `preserve-parent-color` is still needed.
I believe we should now be unblocked to ship
`preserve-parent-color` :)
Sara
On Sunday, November 21, 2021 at 1:10:54 PM UTC-8 Danny Holly wrote:
cause no harm
On Thursday, October 28, 2021 at 4:45:04 PM UTC-5 Sara Tang
wrote:
Contact emails
[email protected],[email protected]
Explainer
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Accessibility/PreserveParentColor/explainer.md
Specification
https://www.w3.org/TR/css-color-adjust-1/#forced-color-adjust-prop
Summary
Adds the ‘preserve-parent-color' value to the
‘forced-color-adjust' CSS property. When Forced Colors
Mode is enabled, the ‘color’ property is inherited, and
we’ve set ‘forced-color-adjust: preserve-parent-color',
the ‘color’ property will compute to the used value of
its parent. Otherwise, ‘forced-color-adjust:
preserve-parent-color' value behaves the same as
‘forced-color-adjust: none’.
Contact emails
[email protected],[email protected]
Explainer
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Accessibility/PreserveParentColor/explainer.md
Specification
https://www.w3.org/TR/css-color-adjust-1/#forced-color-adjust-prop
Summary
Adds the ‘preserve-parent-color' value to the
‘forced-color-adjust' CSS property. When Forced Colors
Mode is enabled, the ‘color’ property is inherited, and
we’ve set ‘forced-color-adjust: preserve-parent-color',
the ‘color’ property will compute to the used value of
its parent. Otherwise, ‘forced-color-adjust:
preserve-parent-color' value behaves the same as
‘forced-color-adjust: none’.
*Motivation*
*
‘forced-color-adjust'is a CSS property that allows
developers to opt out ofForcedColorsMode.
Previously, there were
twosupportedvalues:‘auto’and‘none’, which can be used to
controlwhether or notan element’s stylesare adjusted by
the UA in Forced Colors Mode.Athird
value,‘preserve-parent-color',has recently been
introducedin the spec, which provides similar behavior to
‘none’, exceptthatit alsoallowsan elementto
inherititsparent's used‘color’value.In other
words,‘preserve-parent-color' provides the ability foran
element to inherit its parent’sForced Colors Mode
adjusted‘color’ value.
The intentionof ‘preserve-parent-color’is to get a
reasonable behavior forSVGicons that utilize
‘currentColor’when styling‘fill’ and ‘stroke’in Forced
Colors Mode, asdescribedin[css-color-adjust-1] Spec
currently breaks use of currentColor for SVG icons in
WHCM · Issue #6310 · w3c/csswg-drafts · GitHub
<https://github.com/w3c/csswg-drafts/issues/6310>.
The use of ‘currentColor’when styling anSVG iconis a
common pattern used by authors to ensure an accessible
experiencein Forced Colors Mode.For example,in thissample
logo, <https://codepen.io/somelaniesaid/pen/Yzqxogg>an
author would expectthe logo to automatically adjust to
use the‘CanvasText’ system color for ‘fill’ and ‘stroke’
in Forced Colors Mode, as a result of setting each to
‘currentColor’.
Thisbehavior, however,becamebrokenwhen we movedfrom
forcing colors at computed value time to used value
time:[css-color-adjust-1] Is forced color computed or
used value? · Issue #4915 · w3c/csswg-drafts · GitHub
<https://github.com/w3c/csswg-drafts/issues/4915>.Instead
of inheriting ‘CanvasText’, as before, the abovesample
logo <https://codepen.io/somelaniesaid/pen/Yzqxogg>would
inherit the computed ‘color’ value of its
parent,resulting in a logo that is no longer readable in
Forced Colors Mode.
Thenew ‘preserve-parent-color' valuewas added to address
this commonSVGuse case.By changing the default value of
‘forced-color-adjust’for SVGsfrom ‘none’ to
‘preserve-parent-color',SVG icons that make use of
‘currentColor’willnowinherit the used ‘color’ value of
its parent, as expected.
It is important to note that this may break SVGs that
expect the opposite inheritance behavior for the ‘color’
property. However, thebehavior of `preserve-parent-color`
handles the most commonSVGuse cases, and the
behaviorbettermatches legacy implementations of High
Contrast Mode.
*
*
*
Blink component
Blink>CSS
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS>
Search tags
css
<https://www.chromestatus.com/features#tags:css>,forced
<https://www.chromestatus.com/features#tags:forced>,colors
<https://www.chromestatus.com/features#tags:colors>,forced-colors
<https://www.chromestatus.com/features#tags:forced-colors>,forced-color-adjust
<https://www.chromestatus.com/features#tags:forced-color-adjust>,preserve-parent-color
<https://www.chromestatus.com/features#tags:preserve-parent-color>
TAG review
https://github.com/w3ctag/design-reviews/issues/681
TAG review status
Issues open
Risks
Interoperability and Compatibility
Interoperability Risks Gecko has shipped a version of
Forced Colors Mode without support for
‘forced-color-adjust’. Although there is an open bug for
adding support
(https://bugzilla.mozilla.org/show_bug.cgi?id=1591210),
development has not been started yet. Compatibility Risks
We are updating the default value of
‘forced-color-adjust’ for SVGs in Forced Colors Mode from
‘none’ to ‘preserve-parent-color'. This means that SVGs
will now inherit the used ‘color’ of their parent at
computed value time. The new behavior will better match
author expectation and historical SVG behavior in IE and
legacy Edge.
/Gecko/: In development
(https://bugzilla.mozilla.org/show_bug.cgi?id=1591210)
/WebKit/: No signal
(https://lists.webkit.org/pipermail/webkit-dev/2020-December/031642.html)
/Web developers/: Positive
(https://github.com/w3c/csswg-drafts/issues/6310)
Debuggability
This will be included in the larger effort to emulate
Forced Colors Mode:
https://bugs.chromium.org/p/chromium/issues/detail?id=1130859&q=owner:kahinds%40microsoft.com&can=2
<https://bugs.chromium.org/p/chromium/issues/detail?id=1130859&q=owner%3Akahinds%40microsoft.com&can=2>
Is this feature fully tested byweb-platform-tests
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>?
Yes
Flag name
--enable-blink-features=ForcedColorsPreserveParentColor
Requires code in //chrome?
False
Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1242706
Estimated milestones
No milestones specified
Link to entry on the Chrome Platform Status
https://www.chromestatus.com/feature/4887620095049728
This intent message was generated byChrome Platform
Status <https://www.chromestatus.com/>.
Blink component
Blink>CSS
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS>
Search tags
css
<https://www.chromestatus.com/features#tags:css>,forced
<https://www.chromestatus.com/features#tags:forced>,colors
<https://www.chromestatus.com/features#tags:colors>,forced-colors
<https://www.chromestatus.com/features#tags:forced-colors>,forced-color-adjust
<https://www.chromestatus.com/features#tags:forced-color-adjust>,preserve-parent-color
<https://www.chromestatus.com/features#tags:preserve-parent-color>
TAG review
https://github.com/w3ctag/design-reviews/issues/681
TAG review status
Issues open
Risks
Interoperability and Compatibility
Interoperability Risks Gecko has shipped a version of
Forced Colors Mode without support for
‘forced-color-adjust’. Although there is an open bug for
adding support
(https://bugzilla.mozilla.org/show_bug.cgi?id=1591210),
development has not been started yet. Compatibility Risks
We are updating the default value of
‘forced-color-adjust’ for SVGs in Forced Colors Mode from
‘none’ to ‘preserve-parent-color'. This means that SVGs
will now inherit the used ‘color’ of their parent at
computed value time. The new behavior will better match
author expectation and historical SVG behavior in IE and
legacy Edge.
/Gecko/: In development
(https://bugzilla.mozilla.org/show_bug.cgi?id=1591210)
/WebKit/: No signal
(https://lists.webkit.org/pipermail/webkit-dev/2020-December/031642.html)
/Web developers/: Positive
(https://github.com/w3c/csswg-drafts/issues/6310)
Debuggability
This will be included in the larger effort to emulate
Forced Colors Mode:
https://bugs.chromium.org/p/chromium/issues/detail?id=1130859&q=owner:kahinds%40microsoft.com&can=2
<https://bugs.chromium.org/p/chromium/issues/detail?id=1130859&q=owner%3Akahinds%40microsoft.com&can=2>
Is this feature fully tested byweb-platform-tests
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>?
Yes
Flag name
--enable-blink-features=ForcedColorsPreserveParentColor
Requires code in //chrome?
False
Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1242706
Estimated milestones
No milestones specified
Link to entry on the Chrome Platform Status
https://www.chromestatus.com/feature/4887620095049728
This intent message was generated byChrome Platform
Status <https://www.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 on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a9a84c55-08c1-4eb6-893d-4447bfbb2e2dn%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a9a84c55-08c1-4eb6-893d-4447bfbb2e2dn%40chromium.org?utm_medium=email&utm_source=footer>.