W3C home > Mailing lists > Public > www-style@w3.org > August 2002

Re: CSS 2.1 WD and non-CSS presentational hints

From: Stuart Ballard <sballard@netreach.com>
Date: Wed, 28 Aug 2002 11:05:18 -0400
Message-ID: <3D6CE6AE.6090401@netreach.com>
To: Chris Lilley <chris@w3.org>
CC: www-style@w3.org, Lachlan Cannon <luminosity@members.evolt.org>

Chris Lilley wrote:
> On Wednesday, August 28, 2002, 9:36:59 AM, Lachlan wrote:
> 
> 
> LC> Could non-CSs presentational hints be defined as:
> 
> LC> "Any element of the markup which changes the display
> LC> of an element, for which redifining that element to display
> LC> in another way would not make sense."
> 
> No, the 'would not make sense' is dangerous. Its a default, but
> changing it might well make perfect sense.

> LC> Eg, using CSC to redefine b would be stupid, but using it to
> LC> redefine strong makes sense.
> 
> A non-stupid restyling of (b> would be to use underlining, for
> example (a common manuscript convention, where single and doubnle
> underliningare used to indicate italics and bold to copy editors).

How about this:

"Any aspect of the markup which explicitly indicates a preferred 
rendering, AND does not carry any other semantics".

This would cover <center>, align="left", <br>, <pre>, <font>, etc. All 
the usual suspects.

<em> and <strong> indicate a preferred rendering, but they do so 
*implicitly* due to historical use, rather than *explicitly* as required 
by the proposed definition. Also, they carry additional semantics: emphasis.

We might need an explicit exemption for the style= attribute, which 
otherwise would qualify based on this definition, and that would be 
wrong. Perhaps "Document languages may provide mechanisms for explicitly 
including CSS stylesheets within the document, such as HTML's "style=" 
attribute. Such mechanisms are NOT considered 'non-CSS presentational 
hints'."


By the way, an interesting implementation approach to provide the CSS2 
cascade based on this definition of "non-CSS presentational hint", while 
still using the UA stylesheet to define their rendering, would be for an 
implementation to give "!important" rules in the UA stylesheet this 
level of precedence. That would make the (CSS2) cascade look like this:

      1. !important user style rules
      2. !important author style rules
      3. ordinary author style rules
      4. !important UA style rules
         (and non-CSS-expressible presentational attributes)
      5. ordinary user style rules
      6. ordinary UA style rules

There's no particular logic to this cascade ordering, but there isn't 
any particular logic to the existing ordering either - except for the 
logic of practicality, in that this ordering provides the behavior we want.

Thus a snippet of a UA stylesheet might look like this:
b { font-weight: bold !important }
strong { font-weight: bold }
i { font-style: italic !important }
em { font-style: italic }

I think everyone has agreed that the proposed CSS2.1 modification to 
this cascade (which would swap #4 with #5) is a bad idea because it 
makes it impossible for a user to place a rule at a level of precedence 
lying between #4 and #6, which is a useful thing to be able to do. Am I 
right that this is the consensus? Will it be reflected in CSS2.1 final, 
if we can get the definition of 'non-CSS presentational hint' correct?

Stuart.

-- 
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/
Received on Wednesday, 28 August 2002 11:09:23 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:15 GMT