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.
The notion of
<absolute-color-base>was introduced to the grammar of<color>in CSS Color 4 to separate out problematic things likecurrentColor(which can't be resolved until used-value time and depends on the value ofcoloron that element and its ancestors) or<system-color>which depend on light/dark mode, and forced colors modeIt 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 theoverride-colorsdescriptor on@font-palette-values(to excludecurrentColor). But there is no good reason to excludedevice-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 likergb(30% 70% 20%)could now bergb(from currentColor r g b)orcolor-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.