[css3-2d-transforms] Various spec comments

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. (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'.

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.

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.

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.

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.

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 NOT_SUPPORTED_ERR".

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".

-- 
Øyvind Stenhaug
Core Norway, Opera Software ASA

Received on Wednesday, 24 June 2009 13:13:25 UTC