https://drafts.csswg.org/css-counter-styles/#counter-style-range
The range property falls back (eventually, through other fallbacks as needed) to decimal.
The normative stylesheet limits a bunch of languages to -9999 ... +9999, e.g. Armenian, and uses a single rule so that user agents are required to fall back to decimal. This is also true for Hebrew, Arabic, and CJK scripts, where roman decimal numbers don't use the same script (or direction?).
The range feature has practical uses that are helpful, but requiring that the UA fall back to roman numerals isn't one of them.
We have only one implementation of range, since only firefox implements @counter-style at all.
I propose
(1) change range so that it only falls back to explicitly mentioned fallback styles (so that you can chain rules, or say you want to fall back to Roman) - if you specify range without a fallback, the UA is to ignore the range property. You can still get the old (current) behaviour by specifying fallback to roman.
This will give some awkward results for numbers > 10,000 but see the next part of this proposal...
(2) remove range properties from the normative stylesheets and allow UAs to do better than 10,000
optional:
(3) move range and fallback to level 4, and stylesheet authors would just have to define numbering (or use predefined numbering) if they needed higher values - without requiring the UA to fail at 10,000.
(4) move the corresponding tests for range/fallback (maybe a dozen or so) to level 4
Of course, we still only have one implementation of the basic counter-style at-rule as far as i can tell, but this would simplify the spec, remove some tests that actually fail everywhere, and allow better results than the normative stylesheet allows.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3