- From: Jukka K. Korpela <jkorpela@cs.tut.fi>
- Date: Tue, 11 Sep 2007 07:38:23 +0300 (EEST)
- To: CSS validator list <www-validator-css@w3.org>
- cc: CSS list <www-style@w3.org>, QA-dev Dev <public-qa-dev@w3.org>
On Wed, 5 Sep 2007, olivier Thereaux wrote: > People familiar with the CSS validator will know that it generally follows a > per-profile behavior. And people who are not so familiar with it are puzzled by the word "profile". > That is, it will check stylesheets against the syntax, > properties and values of a given CSS profile (e.g CSS1, CSS2, CSS2.1, etc), > and will use a default profile (by default, CSS 2.1 at the tim of this mail) > if no profile is given. Evidently, the mystery word "profile" cannot be replaced by "specification", since CSS 2.1 and CSS 3 are not specifications. I guess the word "version" is avoided because it suggests... uh... er... the existence of versions. > 1) There is only one CSS syntax. That is not correct according to documents issued by the W3C as authoritative specifications (CSS 1 and CSS 2). > If the syntax defined in CSS1 is to be obsoleted, but the rest of the CSS1 > profile should remain in effect, I suggest following the part of the W3C > process that allows "rescinding" of an existing RECommendation: Obsoleting CSS 1 sounds odd, since CSS 2 has in practice been abandoned and the rest is at various draft levels. It would leave the world with _no_ CSS specification that is both declared as authoritative and actually promoted by the organization that issued it. > 2) CSS is the sum of its profile I guess you meant "profiles". > The CSS working group sees CSS as the sum of all CSS specifications that have > reached the maturity of "candidate recommendation" or further, and thus > disagrees that the usage of properties from mixed profiles is a problem. That sounds extraordinary loose. The "specifications" (i.e., drafts) other than CSS 1 and CSS 2 carry an explicit statement saying that they should not be cited except as work in progress and may be changed without notice. > In my opinion, this situation is confused and confusing because of the lack > of an umbrella specification defining what CSS is, and what is a conformant > CSS stylesheet. In my opinion, it's the umbrella concept that confuses. It is not uncommon that a computer language exists in different versions by specifications. However, each version then has its own specification, or a single specification defines different versions. > If CSS has no version and is the sum of all its specs, this > should be defined somewhere. Without such a document, the mere existence of > the CSS validator becomes an exercise in exegesis, and I don't think it's a > good thing. Would an "umbrella specification" really be a specification, or just a draft, i.e. discussion document? That is, would it have the status of a W3C Recommendation? If not, would the idea be that a draft supersedes, trumps, and obsoletes parts of W3C Recommendations? There seems to be something in the W3C process that created this problem. I don't expect that the process could be changed, but I don't think it's correct and useful to add to the confusion by treating specifications as obsoleted and drafts as specifications. > I have argued for this a number of times, but I may not have made the request > publicly yet. If so, here is my formal, public request to the CSS working > group: please produce a document (ideally a REC, and it doesn't have to be > complicated) defining once and for all what a CSS style sheet is, and what a > *conformant* CSS style sheet is. Thanks in advance. I think it's intentional that "CSS style sheet" is a moving target. Generally, in IT, an authoritative specification is expected to answer such a question in a strict manner, but not "once and for all". Maybe you meant a specification that defines the low-level syntax (lexical structure) and the topmost-level syntax (rule, declaration, property name) of CSS. That might be feasible in principle, but how soon could it become a _specification_, and could it really be stable? And could you just declare that it obsoletes the conflicting parts of CSS 1, without really defining, say, CSS 1.1? I have often mentioned that the name "W3C CSS Validator" is a misnomer. The word "validator" can easily be mixed with the rigorously defined concept of markup (SGML or XML) validator. Moreover, even independently of this, the name suggests that the software checks whether a CSS style sheet is valid by W3C specifications. Yet, it by default checks against a draft (which itself says it should not be cited except as work in progress and that it may change without notice). If the software checks against some CSS 2.1 draft (by default), it should clearly declare which, and it would best be called "checker" or "analyzer" rather than "validator". Checking against CSS 1 is generally not useful, but I see little reason to remove _or modify_ that functionality, unless some internal design and coding issues affect this. Checking against CSS 3 drafts is mostly misleading, since none of them is currently a specification (a stable, properly citeable document issued by an authority as a specification) and none of them is even close to having a serious attempt at full implementation. Checking against a CSS 2.1 draft is the most useful thing that the software can perform, for practical reasons, so it is natural to make it the default. Other aspects should be considered as relative to this. It might be best to remove all support to CSS 1 in the checker, unless someone can come up with a reason to keep it. (This naturally would not change the formal status of the CSS 1 specification.) And the checker might have options for selecting different sets of extensions, defined by different drafts. Calling them collectively "CSS 3" tends to support the misunderstanding that CSS 3 is some version of CSS 3 that we have as a specification and even as implementations. (This misconception is fairly common among people who haven't yet met the reality and just try to use "CSS 3 properties".) If, however, the extensions are to treated as one set, I would suggest calling it "CSS 3 drafts" rather than just "CSS 3". -- Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/
Received on Tuesday, 11 September 2007 04:40:47 UTC