W3C home > Mailing lists > Public > www-style@w3.org > October 2006

[CSS21] Conflict between source text and example in section 4.2

From: Rainer Ahlfors <rahlfors@wildcatsoftware.net>
Date: Thu, 19 Oct 2006 22:31:54 -0600
Message-ID: <8527943F19DEA542A0D2AC7263A8481E010F8F07@DENALI.OUTDOORS.geartrade.com>
To: <www-style@w3.org>
The last bullet under 4.2 (Rules for handling parsing errors) reads:
------------------------------------------------------------------------
-------
Unexpected end of string.
User agents must close strings upon reaching the end of a line, but then
drop the construct (declaration or rule) in which the string was found.
For example: 
 
      p {
       color: green;
       font-family: 'Courier New Times
       color: red;
       color: green;
     }
 
...would be treated the same as: 
 
      p { color: green; color: green; }
 
...because the second declaration (from 'font-family' to the semicolon
after 'color: red') is invalid and is dropped.
------------------------------------------------------------------------
-------
 
There appears to be a clear conflict between the statement "upon
reaching the end of a line" and the subsequent example with explanation
"the second declaration (from 'font-family' to the semicolon after
'color: red')." In other words -- is this rule meant to actually mean
"end of a line" or should it instead be taken to mean "end of a line or
declaration block, whichever comes first" instead?
 
There is certainly disagreement between browsers which are otherwise
standards compliant and even pass the Acid2 test.
 
An example code which various browsers disagree on is:
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
    <title>hack test</title> 
    <style type="text/css"> 
        #mydiv { 
            color: blue; 
            error: "; 
            color: red; 
            background: silver; 
            /*";/* IE */ 
            font-weight: bold; 
        } 
        #ourdiv { 
            color: blue; 
            error: "; 
            error: ""; 
            color: red; 
            background: silver; 
            /*";/* IE */ 
            font-weight: bold; 
        } 
    </style> 
</head> 
<body> 
    <div id="mydiv">mydiv</div> 
    <div id="ourdiv">ourdiv</div> 
</body> 
</html>
 
Further discussion on the topic, including the example above, can also
be found at: http://www.webmasterworld.com/css/3115990.htm


Received on Friday, 20 October 2006 04:32:04 GMT

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