Re: [css3-gcpm] Printing backgrounds (thread reboot)

Tab Atkins Jr.:
>> If we can learn anything from Google’s success or from charset and mediatype sniffing, it is that *we cannot trust authors*
> 
> Those became polluted because there was no feedback when it was done wrong.

More precisely, there was no negative feedback in the scenario(s) most common to the author.

> We *are*, in general, able to trust data tied to noticeable feedback.

Print (preview) is not one of the common scenarios. People will copy-paste “do print my background commands” even if they didn’t think about print at all, or templates and frameworks will do it for them. They will not notice the effect.

Another, very raw idea: a ‘@profile’ at-rule binds supported and ignored types and properties to media types. This would usually reside in UA stylesheets.

  @profile default          {media: all /* what this may apply to*/;}
  @profile visual           {media: screen, handheld, projection;}
  @profile screen           {media: screen;
    ignore-type: absolute-length;
    ignore-property: page-, column-;}
  @profile touchscreen      {media: screen and (input), handheld;
    honor-type: absolute-length/*override ignores*/;}
  @profile ultramobile      {media: handheld and (device-width < 5cm);
    ignore-type: url;}
  @profile print            {media: print;}
  /* MQ binary features become pseudo classes: */
  @profile print:color      {media: print and (color);}
  @profile print:monochrome {media: print;
    ignore-type: image;
    adapt-type: color;}
  @profile paged            {media: print, projection;
    honor-property: page-;}
  @profile continuous       {media: screen;
    ignore-property: -break-;}
  @profile projection       {media: projection /*fallback:*/ screen;}
  @profile slides           {media: projection;}
  @profile aural            {media: aural, speech;}
  @profile …

TThis is, of course, a workaround, because ‘@media’ already exists, but is a wrapper for normal rulesets and cannot accept additional descriptors, unless we model this functionality into MQ.

Received on Friday, 19 August 2011 11:42:48 UTC