- 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>
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 UTC