- From: Stuart Ballard <sballard@netreach.com>
- Date: Wed, 28 Aug 2002 11:05:18 -0400
- 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 UTC