W3C home > Mailing lists > Public > www-style@w3.org > February 2016

Re: [css-color] wider/deeper colors

From: Simon Fraser <smfr@me.com>
Date: Thu, 11 Feb 2016 13:59:26 +1100
Cc: Dean Jackson <dino@apple.com>, Chris Lilley <chris@w3.org>, www-style list <www-style@w3.org>
Message-id: <7D65A4DB-E339-43AD-A123-F099805AC038@me.com>
To: "Tab Atkins Jr." <jackalmage@gmail.com>

> On Feb 11, 2016, at 11:40 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
> 
> On Wed, Feb 3, 2016 at 1:51 AM, Dean Jackson <dino@apple.com> wrote:
>>>> 2. We will add a new function for describing colors that accepts a
>>>> color-profile name and a variable number of arguments. e.g.
>>>> color("bt2020", 0.7, 0.3, 0.1). The name can be linked to a
>>>> @color-profile, but we will also have some predefined keywords for
>>>> the most common profiles.
>>> 
>>> Yes, exactly. I was thinking of icc rather than color, which is
>>> shorter and more descriptive (these are icc profiles).
>> 
>> That sounds fine by me.
> 
> Yeah, I like icc() fine.

I dislike this name. icc is short for "International Color Consortium”, and that doesn’t make sense as a function name to me.

Is CSS going to spec the acceptable list of ICC profile names, or is this left undefined?

Simon

> 
> Note to Chris: per fantasai's and my general rule that functions are
> just a way of separating/naming chunks of CSS syntax and act like
> normal CSS syntaxes, let's omit commas unless necessary.  In
> particular, icc() should probably have the grammar:
> 
> icc( <string> <number>+ , <alpha-value>? )
> 
> Because the inputs to a profile aren't parallel iterations on a
> concept (the usual trigger for comma usage in properties), so they
> should just be space-separated.  Comma-separating the alpha value
> matches the other color functions, and separates it grammatically from
> the profile inputs (which might not always have a fixed arity, I
> dunno).
> 
>> While we could come up with media queries that detect all
>> these things individually (extended gamut accepted as input,
>> extended gamut supported on output, greater bit depth as input,
>> greater bit depth preserved on output, number of bits per
>> channel, etc), I think a more simple media query works in the
>> majority of cases: developers just want to know if the hardware
>> and software stack on the user's computer supports "better"
>> colours than today's typical hardware.
> 
> I agree with your reasoning; my only concern is what to name the
> "better" value that'll allow us to discriminate between "new normal"
> and "even more betterer" in ten years, when devices with deeper/wider
> colors than 3*8 are commonplace.
> 
>>>> 3.a (alternate) Florian suggested something more like @supports,
>>>> where you give something from points 1 or 2 above, and the system
>>>> will tell you if it could handle it. I like this idea, but we'd need
>>>> to be careful to describe what it means to handle the color.
>>> 
>>> That seems odd; for an icc-aware system it is asking if it could
>>> handle a given icc profile. Except for v.2 implementation vs v.4
>>> profile issues, the answer is always "yes".
>> 
>> I think the intent was "will this color be accurately displayed
>> or will it be clipped/mapped/munged"?
> 
> Simple use of @supports, like "@supports (color: icc(...)) {...}"
> won't do this - it'll return yay/nay based on whether the declaration
> parses, which at *most* will let you know whether or not the profile
> is recognized (assuming we make unknown profiles invalid, which we
> probably should).  But we made the grammar for @supports extra-wide
> for a reason - we can add something like "@supports icc(...) {...}",
> which'll return yay if the UA knows the hardware can handle that
> *particular* color without munging, and nay otherwise.
> 
> ~TJ
> 
Received on Thursday, 11 February 2016 03:00:06 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:09:00 UTC