2525
2626 < h1 > CSS Lists and Counters Module Level 3</ h1 >
2727
28- < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 30 April 2011</ h2 >
28+ < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 2 May 2011</ h2 >
2929
3030 < dl >
3131 < dt > This version:
3232
33- < dd > <!-- <a href="http://www.w3.org/TR/2011/WD-css3-lists-20110430 ">http://www.w3.org/TR/2011/WD-css3-lists-20110430 </a></dd> -->
33+ < dd > <!-- <a href="http://www.w3.org/TR/2011/WD-css3-lists-20110502 ">http://www.w3.org/TR/2011/WD-css3-lists-20110502 </a></dd> -->
3434 < a
3535 href ="http://dev.w3.org/csswg/css3-lists/ "> http://dev.w3.org/csswg/css3-lists/</ a >
3636
@@ -180,19 +180,16 @@ <h2 class="no-num no-toc" id=contents> Table of contents</h2>
180180 < li > < a href ="#predefined-counters "> < span class =secno > 8. </ span > Predefined
181181 Counter Styles</ a >
182182 < ul class =toc >
183- < li > < a href ="#decimal-counters "> < span class =secno > 8.1. </ span > The
184- ‘< code class =css > decimal</ code > ’ counter style</ a >
183+ < li > < a href ="#glyph-counters "> < span class =secno > 8.1. </ span > Glyphs</ a >
185184
186- < li > < a href ="#glyph-counters "> < span class =secno > 8.2. </ span > Glyphs</ a >
187-
188- < li > < a href ="#complex-counters "> < span class =secno > 8.3. </ span > Complex
185+ < li > < a href ="#complex-counters "> < span class =secno > 8.2. </ span > Complex
189186 counter styles</ a >
190187 < ul class =toc >
191- < li > < a href ="#ethiopic-numeric "> < span class =secno > 8.3 .1. </ span > The
188+ < li > < a href ="#ethiopic-numeric "> < span class =secno > 8.2 .1. </ span > The
192189 ‘< code class =property > ethiopic-numeric</ code > ’ counter
193190 style</ a >
194191
195- < li > < a href ="#cjk-counter-styles "> < span class =secno > 8.3 .2. </ span > The
192+ < li > < a href ="#cjk-counter-styles "> < span class =secno > 8.2 .2. </ span > The
196193 Chinese longhand counter styles</ a >
197194 </ ul >
198195 </ ul >
@@ -1091,21 +1088,7 @@ <h2 id=predefined-counters><span class=secno>8. </span> Predefined Counter
10911088 require special handling beyond what can be expressed in a stylesheet,
10921089 though. Those counter styles are described in this section.
10931090
1094- < h3 id =decimal-counters > < span class =secno > 8.1. </ span > The ‘< code
1095- class =css > decimal</ code > ’ counter style</ h3 >
1096-
1097- < p > The ‘< code class =css > decimal</ code > ’ counter style is the
1098- default fallback counter style for the ‘< code
1099- class =css > @counter-style</ code > ’ rule, and is also used in
1100- extraordinary situations like fallback loop. As such, it has to be
1101- well-defined at all times, so that a counter can always be formatted
1102- regardless of the validity of the defined counter styles.
1103-
1104- < p > UAs must not allow the definition of the ‘< code
1105- class =css > decimal</ code > ’ counter style given in Appendix A to be
1106- overridden.
1107-
1108- < h3 id =glyph-counters > < span class =secno > 8.2. </ span > Glyphs</ h3 >
1091+ < h3 id =glyph-counters > < span class =secno > 8.1. </ span > Glyphs</ h3 >
11091092
11101093 < p > CSS 2.1 defined three single-glyph counter styles (‘< code
11111094 class =css > circle</ code > ’, ‘< code class =css > disc</ code > ’,
@@ -1116,9 +1099,10 @@ <h3 id=glyph-counters><span class=secno>8.2. </span> Glyphs</h3>
11161099
11171100 < p > Appendix A gives normative definitions for these styles, but UAs may
11181101 instead default to rendering these styles using a browser-generated image
1119- matching the description below. If the styles are overridden, the new
1120- style must be honored; this relaxation of the rendering requirements
1121- applies only to the default value of each counter style.
1102+ matching the description below. This only describes the rendering of the
1103+ default counter styles associated with these names - if an author or user
1104+ creates their own counter style with one of these names (overriding the
1105+ UA-default version), they must be honored as normal.
11221106
11231107 < p > If the UA chooses to use an image for the default rendering of these
11241108 counter styles, the image must be scalable and designed to attractively
@@ -1138,19 +1122,22 @@ <h3 id=glyph-counters><span class=secno>8.2. </span> Glyphs</h3>
11381122 < dd > A filled square, similar to ■ U+25A0 BLACK SQUARE.
11391123 </ dl >
11401124
1141- < h3 id =complex-counters > < span class =secno > 8.3 . </ span > Complex counter
1125+ < h3 id =complex-counters > < span class =secno > 8.2 . </ span > Complex counter
11421126 styles</ h3 >
11431127
1144- < p > Some real-life counter styles are unfortunately too complex to be
1145- accurately described using the ‘< code
1146- class =css > @counter-style</ code > ’ rule. The following styles must be
1147- supported as default counter styles as if they were defined by theoretical
1148- ‘< code class =css > @counter-style</ code > ’ rules placed at the
1149- end of the UA stylesheet defined in Appendix A, using the given name as
1150- the counter style name and the given algorithm to format counter values.
1151- They must be overrideable like any other predefined counter style.
1152-
1153- < h4 id =ethiopic-numeric > < span class =secno > 8.3.1. </ span > The ‘< code
1128+ < p > Nearly all counter styles can be described using the small set of
1129+ algorithms described by the ‘< a href ="#type "> < code
1130+ class =property > type</ code > </ a > ’ descriptor. A small handful, though,
1131+ require more complex handling which is too specialized to warrant crafting
1132+ a generalized algorithm to use in ‘< a href ="#type "> < code
1133+ class =property > type</ code > </ a > ’. Instead, their algorithms are
1134+ described here. Just like a counter style defined with the @counter-style
1135+ rule, these counter styles can be overridden by creating another
1136+ @counter-style rule with the same name, or can be used in the ‘< code
1137+ class =property > override</ code > ’ type to alter their descriptors
1138+ while keeping the algorithms described here.
1139+
1140+ < h4 id =ethiopic-numeric > < span class =secno > 8.2.1. </ span > The ‘< code
11541141 class =property > ethiopic-numeric</ code > ’ counter style</ h4 >
11551142
11561143 < p > The Ethiopian numbering system is defined for all positive non-zero
@@ -1317,7 +1304,8 @@ <h4 id=ethiopic-numeric><span class=secno>8.3.1. </span> The ‘<code
13171304 < li > Concatenate the groups into one string.
13181305 </ ol >
13191306
1320- < p > For this system, the < a href ="#lower-range-bound "> < i
1307+ < p > For this system, the < a href ="#name "> < i title =counter-name > name</ i > </ a >
1308+ is "ethiopian-numeric", the < a href ="#lower-range-bound "> < i
13211309 title =counter-lower-bound > lower range bound descriptor</ i > </ a > is 1, the
13221310 < a href ="#upper "> < i title =counter-upper-bound > upper range bound
13231311 descriptor</ i > </ a > is infinity, and the rest of the descriptors have their
@@ -1339,7 +1327,7 @@ <h4 id=ethiopic-numeric><span class=secno>8.3.1. </span> The ‘<code
13391327 U+137B <!-- odd --> U+137A U+136A. <!-- 90 2 --> </ p >
13401328 </ div >
13411329
1342- < h4 id =cjk-counter-styles > < span class =secno > 8.3 .2. </ span > The Chinese
1330+ < h4 id =cjk-counter-styles > < span class =secno > 8.2 .2. </ span > The Chinese
13431331 longhand counter styles</ h4 >
13441332
13451333 < p > Chinese, Japanese, and Korean have longhand counter styles, which have a
@@ -1787,24 +1775,37 @@ <h2 id=counter-style><span class=secno>9. </span> Defining Custom Counter
17871775 counter styles in CSS.
17881776
17891777 < p > A < dfn id =counter-style0 > counter style</ dfn > defines how to construct
1790- the representation of a counter value. Counter styles are composed of: a
1791- < dfn id =name title =counter-name > name</ dfn > , to identify the style; a < dfn
1792- id =negative-sign title =counter-negative > negative sign</ dfn > , which is
1793- prepended or appended to the representation of a negative counter value; a
1794- < dfn id =prefix title =counter-prefix > prefix</ dfn > , to prepend to the
1795- representation; a < dfn id =suffix title =counter-suffix > suffix</ dfn > , to
1796- append to the representation; a < dfn id =fallback-style
1797- title =counter-fallback > fallback style</ dfn > , to render the representation
1798- with when the counter value is outside the counter style's range or the
1799- counter style otherwise can't render the counter value; an < dfn id =upper
1800- title =counter-upper-bound > upper</ dfn > and < dfn id =lower-range-bound
1801- title =counter-lower-bound > lower range bound</ dfn > , to specify the
1802- (inclusive) range that the counter style can handle; and an < dfn
1803- id =algorithm title =counter-algorithm > algorithm</ dfn > that transforms
1804- counter values into a string representation. The algorithm is usually
1805- specified implicitly by a combination of the ‘< a href ="#type "> < code
1806- class =css > type</ code > </ a > ’, ‘< a href ="#glyphs "> < code
1807- class =css > glyphs</ code > </ a > ’, and ‘< a
1778+ the representation of a counter value. Counter styles are composed of:
1779+
1780+ < ul >
1781+ < li > a < dfn id =name title =counter-name > name</ dfn > , to identify the style
1782+
1783+ < li > a < dfn id =negative-sign title =counter-negative > negative sign</ dfn > ,
1784+ which is prepended or appended to the representation of a negative
1785+ counter value
1786+
1787+ < li > a < dfn id =prefix title =counter-prefix > prefix</ dfn > , to prepend to the
1788+ representation
1789+
1790+ < li > a < dfn id =suffix title =counter-suffix > suffix</ dfn > , to append to the
1791+ representation
1792+
1793+ < li > a < dfn id =fallback-style title =counter-fallback > fallback style</ dfn > ,
1794+ to render the representation with when the counter value is outside the
1795+ counter style's range or the counter style otherwise can't render the
1796+ counter value
1797+
1798+ < li > an < dfn id =upper title =counter-upper-bound > upper</ dfn > and < dfn
1799+ id =lower-range-bound title =counter-lower-bound > lower range bound</ dfn > ,
1800+ to specify the (inclusive) range that the counter style can handle
1801+
1802+ < li > and an < dfn id =algorithm title =counter-algorithm > algorithm</ dfn > that
1803+ transforms counter values into a string representation
1804+ </ ul >
1805+
1806+ < p > The algorithm is usually specified implicitly by a combination of the
1807+ ‘< a href ="#type "> < code class =css > type</ code > </ a > ’, ‘< a
1808+ href ="#glyphs "> < code class =css > glyphs</ code > </ a > ’, and ‘< a
18081809 href ="#additive-glyphs "> < code class =css > additive-glyphs</ code > </ a > ’
18091810 properties, but some counter styles instead have their algorithm
18101811 explicitly defined.
@@ -1818,7 +1819,7 @@ <h2 id=counter-style><span class=secno>9. </span> Defining Custom Counter
18181819}
18191820 </ pre >
18201821
1821- < p > Each @counter-style rule specifies a value for ever counter-style
1822+ < p > Each @counter-style rule specifies a value for every counter-style
18221823 descriptor, either implicitly or explicitly. Those not given explicit
18231824 value in the rule take the initial value listed with each descriptor in
18241825 this specification. These descriptors apply solely within the ontext of
@@ -1837,12 +1838,10 @@ <h2 id=counter-style><span class=secno>9. </span> Defining Custom Counter
18371838 must be ignored. @counter-style rules require a ‘< a
18381839 href ="#type "> < code class =property > type</ code > </ a > ’ descriptor; if
18391840 this is missing the @counter-style is invalid and must be ignored. The
1840- < i > <counter-style-name> < i > must be be a valid identifier and must not
1841- be ‘< code class =css > decimal</ code > ’, ‘< a
1842- href ="#inside "> < code class =css > inside</ code > </ a > ’, ‘< a
1843- href ="#outside "> < code class =css > outside</ code > </ a > ’, or ‘< a
1844- href ="#hanging "> < code class =css > hanging</ code > </ a > ’; otherwise the
1845- @counter-style is invalid and must be ignored.</ i > </ i >
1841+ < i > <counter-style-name> </ i > must be be a valid identifier and must not
1842+ be "decimal", "default", "hanging", "inherit", "initial", "inline",
1843+ "inside", "none", or "outside"; otherwise the @counter-style is invalid
1844+ and must be ignored.
18461845
18471846 < h3 id =counter-style-type > < span class =secno > 9.1. </ span > Counter
18481847 algorithms: the ‘< a href ="#type "> < code
@@ -3914,21 +3913,21 @@ <h2 class=no-num id=index>Index</h2>
39143913 < li > range, < a href ="#range " title =range > < strong > 9.5.</ strong > </ a >
39153914
39163915 < li > simp-chinese-formal, < a href ="#simp-chinese-formal "
3917- title =simp-chinese-formal > < strong > 8.3 .2.</ strong > </ a >
3916+ title =simp-chinese-formal > < strong > 8.2 .2.</ strong > </ a >
39183917
39193918 < li > simp-chinese-informal, < a href ="#simp-chinese-informal "
3920- title =simp-chinese-informal > < strong > 8.3 .2.</ strong > </ a >
3919+ title =simp-chinese-informal > < strong > 8.2 .2.</ strong > </ a >
39213920
39223921 < li > <string> , < a href ="#ltstring "
39233922 title ="<string> "> < strong > 3.</ strong > </ a >
39243923
39253924 < li > suffix, < a href ="#suffix0 " title =suffix > < strong > 9.4.</ strong > </ a >
39263925
39273926 < li > trad-chinese-formal, < a href ="#trad-chinese-formal "
3928- title =trad-chinese-formal > < strong > 8.3 .2.</ strong > </ a >
3927+ title =trad-chinese-formal > < strong > 8.2 .2.</ strong > </ a >
39293928
39303929 < li > trad-chinese-informal, < a href ="#trad-chinese-informal "
3931- title =trad-chinese-informal > < strong > 8.3 .2.</ strong > </ a >
3930+ title =trad-chinese-informal > < strong > 8.2 .2.</ strong > </ a >
39323931
39333932 < li > type, < a href ="#type " title =type > < strong > 9.1.</ strong > </ a >
39343933 </ ul >
0 commit comments