[css-counter-style] overriding symbolic counter styles. · Issue #3584 · w3c/csswg-drafts (original) (raw)

Hmm, good point. I agree the question to resolve is - if a "special" counter like disc, circle, square is extended, does it remain special?

If we try and propagate this "specialness" through inheritance, I can see it getting quite complex.

@counter-style my-circle { system: extends circle; suffix: ":" } /* circle or \25E6? / @counter-style my-circle2 { system: extends circle; symbols: \25E6 } / circle or \25E6? / @counter-style my-circle3 { system: extends square; symbols: \25E6 } / circle or \25E6? / @counter-style tmp { system: extends disc; symbols: A } @counter-style my-circle5 { system: extends tmp; symbols: \25E6 } / circle or \25E6? */

I guess there are probably three options:

  1. The moment you extend a special type, it becomes not special. We lose the ability to change the prefix/suffix for special types, which seems like a loss.
  2. You can extend a special type and it remains special unless "symbols" is overridden, at which point it becomes not special.
  3. Extending a special type means specialness remains - presumably, transitively, as with my-circle5

I can see an argument for 1 or 2, but not 3 myself - it starts to get weird and complex for what is, ultimately, something we're only doing for compatibility.