W3C home > Mailing lists > Public > www-style@w3.org > April 2008

Re: Fwd: [cssom-view] small update

From: Anne van Kesteren <annevk@opera.com>
Date: Mon, 21 Apr 2008 21:11:00 +0200
To: "Garrett Smith" <dhtmlkitchen@gmail.com>
Cc: Www-style <www-style@w3.org>
Message-ID: <op.t9y58mhh64w2qv@annevk-t60.oslo.opera.com>

On Mon, 21 Apr 2008 20:33:31 +0200, Garrett Smith <dhtmlkitchen@gmail.com>  
wrote:
> You've made a spec that disagrees with 3/4 implementations. It sounds
> like you're saying you did it on purpose. Am I right? Please confirm
> that this was deliberate and intentional.

It actually disagrees with all implementations. That's pretty much the  
behavior you get when you define legacy features. See HTML 5 for more  
examples of this.


> Opera doesn't disagree with the spec. You said yourself that you
> changed Opera's implementation then the spec and the spec came first.
> You actually followed up with saying that neither Opera's impl, nor
> CSSOM came first:
> http://lists.w3.org/Archives/Public/www-style/2008Apr/0259.html

Opera does disagree with the specification for a number of features. If I  
remember correctly offset* is not done correctly on inline boxes for  
instance.


> [...] The algorithm was backed by an example. Here it is again:
>
> <body style='position:relative' onload="alert(a.offsetParent ==  
> document.body)">
> <div id=a style='position:relative'>a</div>
> </body>
>
> The intuitive outcome of the display would be an alert with the value  
> 'true'.
> However, CSSOM would make it so that the outcome would 'false' in the  
> alert.

Actually, per the CSSOM the outcome would be 'true'. Replacing  
a.offsetParent with document.getElementById('a') I get 'true' in Firefox  
and Opera in both quirks and standards mode.


> I've also explained that we need a test suite for these properties and
> why. A test suite provides instant knowledge to everyone. Page
> authors, implementors, and even the spec writer. The test suite, and I
> don't mean one of those "Acid Tests", would be formally composed of a
> test case for each property or set of properties, such as offset*
> would seem to eliminate the need for a spec.

It doesn't eliminate the need for a specification. Boris Zbarsky already  
tried to explain this to you.

I agree that a test suite would be useful. I don't think it should be  
produced before the specification is considered to be done because if the  
specification changes later changing all the tests can be a lot of work.  
The current specification is mostly based on adhoc testing and the tests  
that are publicly available here:

   http://dump.testsuite.org/2006/dom/style/
   http://tc.labs.opera.com/apis/cssom/

If you think maintaining a test suite against the specification would be  
feasible at this point I encourage you to make one.


> Taking the test approach, there wouldn't be any need for web
> developers to scavenge political discussions on w3c lists for
> artifacts of browser incompatibilities that didn't make it into the
> spec. We (anyone and everyone) could all just load the test in the
> browser and see what's green or red in [browser_x]. The test doesn't
> lie; it would always be up to date with whatever browser it's running
> in.
>
> I think Anne's answer to that one was "Go start a google code project."

Indeed it was. The CSS WG has no mechanism set up yet apart from  
public-css-testsuite@w3.org to accept tests from contributors and you  
indicated you wanted to use a version control system. So I suggested  
Google Code as I have some experience with that (see html5lib for  
instance).


-- 
Anne van Kesteren
<http://annevankesteren.nl/>
<http://www.opera.com/>
Received on Monday, 21 April 2008 19:11:21 GMT

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