RE: [CSS21] z-index-020 test case is invalid

On Tuesday, October 25, 2011 11:17 PM L. David Baron wrote:
> On Wednesday 2011-10-26 00:23 +0000, Arron Eicholz wrote:
> > http://test.csswg.org/suites/css2.1/20110323/html4/z-index-020.htm

> 
> > Looking at this logic it seems as if the second reference for the test
> > case is incorrect for the test. Since the outline is painted in step
> > 7.3 it paints before the inline-block and thus will be behind the aqua
> > background.
> 
> Based on attempting to read through Appendix E, I think you're right about
> what Appendix E says.  (That said, either I'm misunderstanding how appendix
> E works or I found a mistake [1] in it, so I'm not particularly confident
> tonight.)  I'm not sure if the WG really intended to forbid the option of
> drawing outlines in a step between toplevel step (7) and toplevel step (8),
> though (a step like toplevel step (10)), particularly given that
> http://www.w3.org/TR/2011/REC-CSS2-20110607/ui.html#dynamic-outlines

> says:
>   # This specification does not define how multiple overlapping
>   # outlines are drawn, or how outlines are drawn for boxes that are
>   # partially obscured behind other elements.
> 
> I think it's a reasonable alternative; it's the current behavior of both Gecko
> and WebKit.
> 

I think you misread steps in Appendix E. The Webkit and Gecko, renderings are incorrect per the reading and explanation I gave of Appendix E and the optional position to paint outlines of 7.3. The outline (fuchsia) paints in tree order and before the following inline-block (aqua).

If you reduce the case to the following markup and the same CSS:

<div class="test container">
  <div class="outline"></div>
  <div class="inline">FillertextFillerText</div>
</div>

The steps that are important here are the following in this order (super, super simplified):
Step 1 of HTML for HTML
Step 4 of HTML for BODY
Restart at Step 1 for BODY contents
Step 8 of BODY for DIV (test container)
Restart at Step 1 for DIV (test container) contents
Step 7.3 of DIV (test container) for DIV (outline)
Restart at Step 1 for DIV (test container) contents so you can process the next element
Step 7.2.1 of DIV (test container) for DIV (inline)

The only 2 implementations that are "correct" per the explanation I gave are IE (there is no reference that is what I am arguing) and Opera (the top reference).

--
Thanks,
Arron Eicholz

Received on Wednesday, 26 October 2011 21:37:32 UTC