[Bug 2920] Several invalid forms using @charset passed as valid

http://www.w3.org/Bugs/Public/show_bug.cgi?id=2920





------- Comment #2 from cecil@cecilward.com  2006-04-21 15:40 -------
(In reply to comment #1)
> I assume with "the spec" you mean the CSS 2.1 Working Draft? CSS 2.1 changed 
> the rules for this and the CSS Validator predates those draft rules...

Good point. Indeed, I was looking at CSS 2.1. But my point stands, because even
if you explicitly set the validator to use CSS 2.1, it passes all the above. (I
just rechecked.) So it basically can not validate against the 2.1 grammar.

As for CSS2.0 (if you like0, I would need to look at the test cases again with
CSS2.0 eyes. But presumably having something that is valid only against CSS2.0
but is not actually going to work in (any? some?) browsers isn't useful. Maybe
the validator should issue a warning about certain highly questionable forms of
css if the user explicitly selects CSS2.0.

A further point. If the user has not specified a version of CSS, and the
various grammars are in conflict, in the sense that what the user has entered
is legal in one version of CSS but illegal in another, then maybe the best
thing to do would be to warn the user rather than just saying "valid!" which is
meaningless and sort-of dangerous.

Suggestion: In the case where the user does not pick as CSS version one
possible improvement would be to parse the user's CSS fragment multiple times
against the various grammars and if there are both passes and fails, tell the
user the details. Warnings about lack of backwards- or forwards capability
would be a valuable added benefit of using the validator.

Received on Friday, 21 April 2006 15:41:02 UTC