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

Re: [css3-2d-transforms] Various spec comments

From: Dean Jackson <dino@apple.com>
Date: Sat, 31 Oct 2009 11:52:46 +1100
Cc: "www-style@w3.org" <www-style@w3.org>
Message-Id: <1B8FDF5E-7B7C-45A5-8774-DDF0F4CD52F5@apple.com>
To: Řyvind Stenhaug <oyvinds@opera.com>

On 24/06/2009, at 11:12 PM, Řyvind Stenhaug wrote:

> Following are some possible issues with the 2D Transforms spec (WD  
> dated 2009-03-20), and some inconsistencies with the implementation  
> as observed in Safari.
> 1) Section 1: "The object acts as though position: relative has been  
> specified[...]" should perhaps be specified more clearly. As written  
> it would have an effect on the interpretation of the  
> 'top'/'bottom'/'left'/'right' properties, but that doesn't happen in  
> Safari 4 or Minefield.

That part was badly worded. The important part was that transform  
creates a stacking context. I've removed the part about acting as if  
position:relative was specified.

> (As mentioned elsewhere, several parts of this section look like  
> they should be normative.)


> 2) Section 3: The definition of the 'transform-origin' property  
> doesn't specify what should happen when only one keyword/length/ 
> percentage is provided. Compare with the CSS2 definition of  
> 'background-position'.

I've added the similar text from background-position into transform- 

> 3) Section 3: The set of valid values doesn't allow for e.g.  
> "transform-origin: 0% left;", but Safari 4 does (actually it seems  
> to allow a lot of things). I guess this might be an issue with  
> Safari rather than the spec.

That should work the same as background-position.

> 4) Section 4: The list of allowed transform functions includes the  
> keyword 'none', but both Safari 4 and Minefield drop the declaration  
> if it's included along with other functions (e.g. "none rotate 
> (180deg)"). The value 'none' is already mentioned separately (in  
> addition to <transform-function>) in section 2.

I believe Safari/Minefield are doing what we intended. My suggested  
change is to remove "none" from the list of allowed transform  
functions, but leave the text in section 2 for now. That would make  
the "none rotate(1deg)" property invalid, and match current  

> 5) Section 6: The (non-2D) transform function 'translateZ' is  
> mentioned in the first list item. On the other hand, 'skew' is not  
> mentioned.


> 6) Section 7.1: There is a description of the Point interface (which  
> other methods expect to be passed), but no way to retrieve/construct  
> such an object.

Correct, there should be a constructor.

> 7) Section 7.2: The functions (should perhaps say "methods" to be  
> consistent?) specified are "added to the Window interface", but it  
> seems the DOM specs use 'AbstractView' instead of 'Window'. The  
> HTML5 draft has Window, though.

I've changed to "methods". Not sure about AbstractView v Window. Which  
do you prefer?

> 8) Sections 7.3 and 7.4: "SYNTAX_ERR" should probably say  
> "DOMException SYNTAX_ERR". "NOT_SUPPORTED_ERROR" (occurs twice, note  
> the two extra letters) should probably say "DOMException  


> 9) Section 7.3: The description of the 'scale' method mentions a "z  
> component".


> 10) Section 7.3: There is no 'skew' method, it seems like this could  
> be an unintended omission.


> 11) Section 7.4: "CSSTranformValue" (in the Exceptions part) should  
> be "CSSTransformValue".


Received on Saturday, 31 October 2009 00:53:29 UTC

This archive was generated by hypermail 2.4.0 : Monday, 23 January 2023 02:13:40 UTC