- From: Coises <Randy@Coises.com>
- Date: Mon, 26 Aug 2002 20:57:28 -0700
- To: www-style@w3.org
[Mon, 26 Aug 2002 15:08:57 -0400] Boris Zbarsky: >> A "non-CSS presentational hint" is information which is derived >> from the document and is translated into CSS properties by >> the user agent through some mechanism other than CSS style rules. >> >> Note that "CSS style rules" includes the user agent default style sheet. > >This definition is, unfortunately, not acceptable in my mind. To use >your own example, <p align="left"> could be implemented by putting > >p[align="left"] { text-align: left } > >in the UA stylesheet _if_ the UA supports attribute selectors. It must >be implemented in some other way if the UA does not support these >selectors (eg IE/Win at present). Does that mean that 'align="left"' on >a <p> is sometimes a "non-CSS presentational hint" and sometimes not, >depending on the UA? That is exactly what I mean. We should note --- before becoming panicked --- that the distinction between "non-CSS presentational hints" and presentation expressed in the user agent default style sheet is irrelevant in the proposed CSS 2.1 and CSS 3 standards; in CSS 2 the difference is limited to changing the impact of user style sheets. In no existing or proposed CSS standard does this distinction affect the presentation of documents in the absence of a user style sheet. One common assertion is that <B> should be classified as a non-CSS presentational hint, but <STRONG> should not. What is the difference? In "A sample style sheet for HTML 4.0" found here: http://www.w3.org/TR/REC-CSS2/sample.html we see: H1, H2, H3, H4, H5, H6, B, STRONG { font-weight: bolder } @media speech { STRONG { pitch: medium; pitch-range: 60; stress: 90; richness: 90 } B { pitch: medium; pitch-range: 60; stress: 90; richness: 90 } } and nothing else about <B> and <STRONG>. To distinguish between the two, we have to get into the semantics of the document language (HTML). It seems to me undesirable that CSS should concern itself with document language semantics. In any case, if "B {font-weight: bolder}" appears in the user agent default style sheet, how can it also be a non-CSS presentational hint? This would give the same specification two separate priorities in the cascade. It makes no sense to call something a non-CSS presentational hint if it appears in the user agent default style sheet. It is --- in my opinion --- a separate question whether the CSS standards should include guidelines describing which document language features should be specified in user agent default style sheets and which should be implemented as non-CSS presentational hints. But it seems to me that at least two things are clear: * What is in the user agent default style sheet can't be "non-CSS." * What affects CSS properties but can't be coded as a CSS declaration (and thus cannot be in the user agent default style sheet) *must* be a non-CSS presentational hint (else it would have no place in the cascade, and we wouldn't know how to weight it against CSS sources). Dividing up the rest strikes me as best handled through recommendation, not definition. The definition I propose avoids ambiguity; it leaves the question of guidelines to a separate statement, should that be desired. An advantage of this is that it forces whatever the user agent can't express in CSS to be classified as a non-CSS presentational hint. Following the CSS 2 model (changed, I believe for the worse, in the proposed CSS 2.1 and CSS 3 models), this assures that a user style sheet can always define a default presentation in such a way that explicit specifications in the document can override it. >> CSS is a means of specifying various details regarding presentation, so it >> makes sense that "presentational hints" would be things that affect CSS >> properties. > >So as new CSS properties are added (in CSS3, eg) things would suddenly >stop being "non-CSS presentational hints"? No... things would *start* being non-CSS presentational hints --- if they're not implemented through the user agent default style sheet. The point of that clause in my suggested definition is to avoid the need to define, in some "deep" way, what "presentation" is. If a document language feature doesn't affect any CSS properties, then (for the purposes of CSS), it isn't "presentational." If a particular feature of the document language doesn't affect any CSS properties, then it has no interaction with CSS --- so I simply exclude it. If a new version of CSS includes new properties, then document language features that were formerly outside the scope of CSS might have to be considered: if they are specified through the user agent default style sheet, they're just ordinary CSS properties assigned according to the cascade; if they aren't (and perhaps can't) be specified through the user agent default style sheet, but still affect CSS properties in some way, then they're non-CSS presentational hints. -- Randall Joseph Fellmy aka Randy@Coises.com
Received on Monday, 26 August 2002 23:58:02 UTC