-
Notifications
You must be signed in to change notification settings - Fork 756
Description
The notion of <absolute-color-base> was introduced to the grammar of <color> in CSS Color 4 to separate out problematic things like currentColor (which can't be resolved until used-value time and depends on the value of color on that element and its ancestors) or <system-color> which depend on light/dark mode, and forced colors mode
It continued on in CSS Color 5 where it is also used to exclude problematic device-cmyk() (which has no colorimetric basis and might be resolved by an ICC profile or might be an eye-searingly inaccurate naive color conversion
<absolute-color-base> is used directly in the grammar for the override-colors descriptor on @font-palette-values (to exclude currentColor). But there is no good reason to exclude device-cmyk() there.
However, this is no longer sufficient because CSS Color 5 introduces color-mix() and Relative Color Syntax so what used to be a resolvable, colorimetric item like rgb(30% 70% 20%) could now be rgb(from currentColor r g b) or color-mix(in oklab, rgb(30% 70% 20%) 40%, currentColor).
There is still a need to exclude certain problematic color forms for various reasons, but I am now of the opinion that doing this via formal syntax is no longer workable and the exclusion should be case-by-case in prose, instead.
/cc @fantasai @cdoublev @drott @LeaVerou because I have had discussions touching on this in various other issues and would like feedback.