[csswg-drafts] [css2][css-position-4] When to paint in-band outlines seems wrong (Appendix E) (#8642)

tabatkins has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css2][css-position-4] When to paint in-band outlines seems wrong (Appendix E) ==
I'm porting [Appendix E(laborate Description of Stacking Contexts)](https://w3c.github.io/csswg-drafts/css2/#painting-order) to Position 4, and while rewriting to try and improve its usage of element/box/fragment, I realized that, as far as I can tell, it specifies the wrong thing for outline painting.

Specifically, step 7.2 has a sub-algorithm that, as its final step (7.2.2) says

> Optionally, the outline of the element

Step 7.3 (the final sub-step of 7 itself) says

> Optionally, if the element is block-level, the outline of the element 

As far as I can tell, these two steps are referring to the same entity with "element" - step 7.2 doesn't appear to rebind that referent such that 7.2.2 would have a different meaning than 7.3.

I think what was intended is that 7.2.2 refers to the boxes being looped over in in 7.2.1

> For each box that is a child of that element

(the "element" again refers to the same entity as the other steps here)

And so step 7.2.2 should really be step 7.2.1.5, moving to be the last step of 7.2.1 instead of following after it.

Without this change, I believe the specification doesn't end up drawing outlines on inlines whenever it says "jump to 7.2.1" - I presume the intent of that command is to just invoke 7.2.1 itself and finish when it wraps up, not proceed to further and/or higher steps? (I'm rewriting these to actually be separate algos that get invoked, rather than this confusing "jump to" wording, to avoid this kind of confusion.)

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8642 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 24 March 2023 18:48:51 UTC