Re: [csswg-drafts] [css-lists] counter scopes should be based on box tree, not element tree

Ran into counter issues in the display:contents implementation in Blink.

So, by box tree, do you mean that the ::before counters below should both be displaying 1 (anonymous table-row around the cell)?:

<!DOCTYPE html>
<style>
  div > div::before { content: counter(x); }
</style>
<div style="display:table">
  <div style="display:table-cell; counter-increment: x 1">X</div>
  <div style="display:table-row;  counter-increment: x 1">Y</div>
</div>

Also, box tree means that you'll get "1X" and "2Y" below:

<!DOCTYPE html>
<style>
  .count { counter-increment: x 1 }
  .count::before { content: counter(x); }
</style>
  <div style="display:contents">
    <div class="count">X</div>
  </div>
  <div class="count">Y</div>
</div>

For Shadow DOM and distribution I think box tree (or flat tree) makes sense.

Blink currently uses light tree traversal, but uses flat tree traversal for style containment for counters.


-- 
GitHub Notification of comment by lilles
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/674#issuecomment-333541595 using your GitHub account

Received on Monday, 2 October 2017 13:55:45 UTC