2828
2929 < h1 > CSS Values and Units Module Level 3</ h1 >
3030
31- < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 28 June 2012</ h2 >
31+ < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 4 July 2012</ h2 >
3232
3333 < dl >
3434 < dt > This version:
3535
3636 < dd > < a
37- href ="http://www.w3.org/TR/2012/ED-css3-values-20120628 / "> http://www.w3.org/TR/2012/ED-css3-values-20120628 /</ a >
37+ href ="http://www.w3.org/TR/2012/ED-css3-values-20120704 / "> http://www.w3.org/TR/2012/ED-css3-values-20120704 /</ a >
3838
3939 < dt > Latest version:
4040
@@ -299,29 +299,26 @@ <h2 class="no-num no-toc" id=contents>Table of contents</h2>
299299 References: ‘< code class =css > attr()</ code > ’</ a >
300300 </ ul >
301301
302- < li > < a href ="#limits "> < span class =secno > 9. </ span > Appendix A: Recommended
303- Minimum Ranges and Precision of Computed Values</ a >
304-
305302 < li class =no-num > < a href ="#acknowledgments "> Acknowledgments</ a >
306303
307304 < li class =no-num > < a href ="#conformance "> Conformance</ a >
308305 < ul class =toc >
309- < li > < a href ="#conventions "> < span class =secno > 9.1 . </ span > Document
306+ < li > < a href ="#conventions "> < span class =secno > 8.4 . </ span > Document
310307 conventions</ a >
311308
312- < li > < a href ="#conformance-classes "> < span class =secno > 9.2 . </ span >
309+ < li > < a href ="#conformance-classes "> < span class =secno > 8.5 . </ span >
313310 Conformance classes</ a >
314311
315- < li > < a href ="#partial "> < span class =secno > 9.3 . </ span > Partial
312+ < li > < a href ="#partial "> < span class =secno > 8.6 . </ span > Partial
316313 implementations</ a >
317314
318- < li > < a href ="#experimental "> < span class =secno > 9.4 . </ span > Experimental
315+ < li > < a href ="#experimental "> < span class =secno > 8.7 . </ span > Experimental
319316 implementations</ a >
320317
321- < li > < a href ="#testing "> < span class =secno > 9.5 . </ span > Non-experimental
318+ < li > < a href ="#testing "> < span class =secno > 8.8 . </ span > Non-experimental
322319 implementations</ a >
323320
324- < li > < a href ="#cr-exit-criteria "> < span class =secno > 9.6 . </ span > CR exit
321+ < li > < a href ="#cr-exit-criteria "> < span class =secno > 8.9 . </ span > CR exit
325322 criteria</ a >
326323 </ ul >
327324
@@ -760,9 +757,12 @@ <h2 id=numeric-types><span class=secno>4. </span> Numeric Data Types</h2>
760757
761758 < p > CSS theoretically supports infinite precision and infinite ranges for
762759 all value types; however in reality implementations have finite capacity.
763- The recommended minimum ranges and precision, and the required rounding
764- and clamping rules, are given in < a href ="#required-ranges "> Appendix
765- A</ a > .
760+ UAs should support reasonably useful ranges and precisions. <!--
761+ The recommended minimum ranges and precision,
762+ and the required rounding and clamping rules,
763+ are given in <a href="#required-ranges">Appendix A</a>.
764+ -->
765+
766766
767767 < h3 id =integers > < span class =secno > 4.1. </ span > Integers: the ‘< a
768768 href ="#integer-value "> < code class =css > <integer> </ code > </ a > ’ type</ h3 >
@@ -1747,13 +1747,12 @@ <h3 id=attr-notation><span class=secno>8.3. </span> Attribute References:
17471747 < dd > The attribute value will be parsed as the contents of a CSS < a
17481748 href ="#string-value "> < var > <string> </ var > </ a > . It is interpreted as a
17491749 quoted string within the ‘< a href ="#url "> < code
1750- class =css > url()</ code > </ a > ’ notation. The default is a UA-dependent URI
1751- defined to point to a non-existent document with a generic error
1752- condition. (i.e. it shouldn't be an FTP URI that causes a DNS error, or
1753- an HTTP URI that results in a 404, it should be a nondescript error
1754- condition.) Relative URLs must be made absolute according to the rules of
1755- the document language as applied to URLs originating from the element;
1756- they are not relative to the style sheet.
1750+ class =css > url()</ code > </ a > ’ notation. The default is ‘< code
1751+ class =css > about:invalid</ code > ’, which is a URI defined to point to a
1752+ non-existent document with a generic error condition. Relative URLs must
1753+ be made absolute according to the rules of the document language as
1754+ applied to URLs originating from the element; they are not relative to
1755+ the style sheet.
17571756
17581757 < dt > ‘< a href ="#integer "> < code class =css > integer</ code > </ a > ’
17591758
@@ -1911,99 +1910,74 @@ <h3 id=attr-notation><span class=secno>8.3. </span> Attribute References:
19111910 < p class =note > The ‘< a href ="#attr "> < code class =css > attr()</ code > </ a > ’
19121911 expression cannot currently fall back onto another attribute. Future
19131912 versions of CSS may extend ‘< a href ="#attr "> < code
1914- class =css > attr()</ code > </ a > ’ in this direction.
1915-
1916- < h2 id =limits > < span class =secno > 9. </ span > Appendix A: Recommended Minimum
1917- Ranges and Precision of Computed Values</ h2 >
1918-
1919- < p > For unrestricted values, the recommended minimum range and precision of
1920- computed values is given in the table below.
1921-
1922- < table class =data >
1923- < thead >
1924- < tr >
1925- < th > Type
1926-
1927- < th > Recommended Minimum Precision
1928-
1929- < th > Recommended Minimum Maximum (Absolute Value)
1930-
1931- < tbody >
1932- < tr >
1933- < th > < a href ="#integer-value "> < var > <integer> </ var > </ a >
1934-
1935- < td > 1
1936-
1937- < td > 2< sup > 24</ sup > −1
1938-
1939- < tr >
1940- < th > < a href ="#number-value "> < var > <number> </ var > </ a >
1941-
1942- < td > 0.01 < small > (within the range -100 < < var > x</ var > <
1943- 100)</ small >
1944-
1945- < td > 2< sup > 17</ sup > −1
1946-
1947- < tr >
1948- < th > < a href ="#percentage-value "> < var > <percentage> </ var > </ a >
1949-
1950- < td > 0.01% < small > (within the range -100 < < var > x</ var > <
1951- 100)</ small >
1952-
1953- < td > (2< sup > 17</ sup > −1)%
1954-
1955- < tr >
1956- < th > < a href ="#length-value "> < var > <length> </ var > </ a >
1957-
1958- < td > 0.1px
1959-
1960- < td > (2< sup > 24</ sup > −1)px
1961-
1962- < tr >
1963- < th > < a href ="#angle-value "> < var > <angle> </ var > </ a >
1964-
1965- < td > 0.1deg
1966-
1967- < td > (2< sup > 24</ sup > −1)deg
1968-
1969- < tr >
1970- < th > < a href ="#time-value "> < var > <time> </ var > </ a >
1971-
1972- < td > 1ms
1973-
1974- < td > (2< sup > 24</ sup > −1)ms
1975-
1976- < tr >
1977- < th > < a href ="#frequency-value "> < var > <frequency> </ var > </ a >
1978-
1979- < td > 0.01Hz
1980-
1981- < td > (2< sup > 17</ sup > −1)Hz
1982- </ table >
1983-
1984- < p > Values outside the supported range must be clamped into the supported
1985- range. Values specified with an unsupported amount of precision must be
1986- rounded to the closest supported value; except that values that are not
1987- equal to, but would round to, either zero or the boundary of a closed
1988- range, are rounded away from that value rather than to it.
1989-
1990- < div class =example >
1991- < p > For example, in a UA that only supports a precision of 0.01, an
1992- ‘< code class =property > opacity</ code > ’ value of ‘< code
1993- class =css > 0.9999</ code > ’ would round to ‘< code
1994- class =css > 0.99</ code > ’, not ‘< code class =css > 1.0</ code > ’, and would
1995- therefore cause the element to create a stacking context. Similarly, a
1996- ‘< code class =css > flex-grow</ code > ’ value of ‘< code
1997- class =css > 0.001</ code > ’ would round to ‘< code
1998- class =css > 0.01</ code > ’, not ‘< code class =css > 0</ code > ’, and would
1999- therefore be flexible.
2000- </ div >
2001-
2002- < p > When arithmetic is performed with numeric types (for example, in the
2003- ‘< a href ="#calc "> < code class =css > calc()</ code > </ a > ’ expression), if
2004- the result is unsupported it must also be clamped/rounded as necessary.
2005- < span class =note > Note this means that rounding errors < em > may</ em >
2006- accumulate. </ span >
1913+ class =css > attr()</ code > </ a > ’ in this direction.</ p >
1914+ <!--
1915+ <h2 id="limits">
1916+ Appendix A: Recommended Minimum Ranges and Precision of Computed Values</h2>
1917+
1918+ <p>
1919+ For unrestricted values, the recommended minimum range and precision
1920+ of computed values
1921+ is given in the table below.
1922+
1923+ <table class="data">
1924+ <thead>
1925+ <tr><th>Type
1926+ <th>Recommended Minimum Precision
1927+ <th>Recommended Minimum Maximum (Absolute Value)
1928+ </thead>
1929+ <tbody>
1930+ <tr><th><var><integer></var>
1931+ <td>1
1932+ <td>2<sup>23</sup>−1
1933+ <tr><th><var><number></var>
1934+ <td>0.01
1935+ <small>(within the range -100 < <var>x</var> < 100)</small>
1936+ <td>2<sup>17</sup>−1
1937+ <tr><th><var><percentage></var>
1938+ <td>0.01%
1939+ <small>(within the range -100 < <var>x</var> < 100)</small>
1940+ <td>(2<sup>17</sup>−1)%
1941+ <tr><th><var><length></var>
1942+ <td>0.1px
1943+ <td>(2<sup>23</sup>−1)px
1944+ <tr><th><var><angle></var>
1945+ <td>0.1deg
1946+ <td>(2<sup>23</sup>−1)deg
1947+ <tr><th><var><time></var>
1948+ <td>1ms
1949+ <td>(2<sup>23</sup>−1)ms
1950+ <tr><th><var><frequency></var>
1951+ <td>0.01Hz
1952+ <td>(2<sup>17</sup>−1)Hz
1953+ </tbody>
1954+ </table>
1955+
1956+ <p>
1957+ Values outside the supported range must be clamped into the supported range.
1958+ Values specified with an unsupported amount of precision must be rounded
1959+ to the closest supported value when parsed;
1960+ except that values that are not equal to, but would round to,
1961+ either zero or the boundary of a closed range,
1962+ should be rounded away from that value rather than to it.
1963+
1964+ <div class="example">
1965+ <p>
1966+ For example, in a UA that only supports a precision of 0.01,
1967+ an 'opacity' value of ''0.9999'' would round to ''0.99'', not ''1.0'',
1968+ and would therefore cause the element to create a stacking context.
1969+ Similarly, a ''flex-grow'' value of ''0.001'' would round to ''0.01'',
1970+ not ''0'', and would therefore be flexible.
1971+ </div>
1972+
1973+ <p>
1974+ When arithmetic is performed with numeric types
1975+ (for example, in the ''calc()'' expression),
1976+ if the result is unsupported
1977+ it must also be clamped/rounded as necessary.
1978+ <span class="note">
1979+ Note this means that rounding errors <em>may</em> accumulate.
1980+ -->
20071981
20081982 < h2 class =no-num id =acknowledgments > Acknowledgments</ h2 >
20091983
@@ -2013,7 +1987,7 @@ <h2 class=no-num id=acknowledgments>Acknowledgments</h2>
20131987
20141988 < h2 class =no-num id =conformance > Conformance</ h2 >
20151989
2016- < h3 id =conventions > < span class =secno > 9.1 . </ span > Document conventions</ h3 >
1990+ < h3 id =conventions > < span class =secno > 8.4 . </ span > Document conventions</ h3 >
20171991
20181992 < p > Conformance requirements are expressed with a combination of descriptive
20191993 assertions and RFC 2119 terminology. The key words “MUST”, “MUST
@@ -2040,7 +2014,7 @@ <h3 id=conventions><span class=secno>9.1. </span> Document conventions</h3>
20402014
20412015 < p class =note > Note, this is an informative note.
20422016
2043- < h3 id =conformance-classes > < span class =secno > 9.2 . </ span > Conformance
2017+ < h3 id =conformance-classes > < span class =secno > 8.5 . </ span > Conformance
20442018 classes</ h3 >
20452019
20462020 < p > Conformance to CSS Values and Units Level 3 is defined for three
@@ -2084,7 +2058,7 @@ <h3 id=conformance-classes><span class=secno>9.2. </span> Conformance
20842058 module, and meet all other conformance requirements of style sheets as
20852059 described in this module.
20862060
2087- < h3 id =partial > < span class =secno > 9.3 . </ span > Partial implementations</ h3 >
2061+ < h3 id =partial > < span class =secno > 8.6 . </ span > Partial implementations</ h3 >
20882062
20892063 < p > So that authors can exploit the forward-compatible parsing rules to
20902064 assign fallback values, CSS renderers < strong > must</ strong > treat as
@@ -2098,7 +2072,7 @@ <h3 id=partial><span class=secno>9.3. </span> Partial implementations</h3>
20982072 unsupported values must be), CSS requires that the entire declaration be
20992073 ignored.
21002074
2101- < h3 id =experimental > < span class =secno > 9.4 . </ span > Experimental
2075+ < h3 id =experimental > < span class =secno > 8.7 . </ span > Experimental
21022076 implementations</ h3 >
21032077
21042078 < p > To avoid clashes with future CSS features, the CSS2.1 specification
@@ -2112,7 +2086,7 @@ <h3 id=experimental><span class=secno>9.4. </span> Experimental
21122086 vendor-prefixed syntax for such features, including those in W3C Working
21132087 Drafts. This avoids incompatibilities with future changes in the draft.
21142088
2115- < h3 id =testing > < span class =secno > 9.5 . </ span > Non-experimental
2089+ < h3 id =testing > < span class =secno > 8.8 . </ span > Non-experimental
21162090 implementations</ h3 >
21172091
21182092 < p > Once a specification reaches the Candidate Recommendation stage,
@@ -2134,7 +2108,7 @@ <h3 id=testing><span class=secno>9.5. </span> Non-experimental
21342108 href ="http://lists.w3.org/Archives/Public/public-css-testsuite "> public-css-testsuite@w3.org</ a >
21352109 mailing list.
21362110
2137- < h3 id =cr-exit-criteria > < span class =secno > 9.6 . </ span > CR exit criteria</ h3 >
2111+ < h3 id =cr-exit-criteria > < span class =secno > 8.9 . </ span > CR exit criteria</ h3 >
21382112
21392113 < p > For this specification to be advanced to Proposed Recommendation, there
21402114 must be at least two independent, interoperable implementations of each
@@ -2273,10 +2247,9 @@ <h3 class=no-num id=other-references>Other references</h3>
22732247 < dt id =MEDIAQ > [MEDIAQ]
22742248
22752249 < dd > Florian Rivoal. < a
2276- href ="http://www.w3.org/TR/2012/PR-css3-mediaqueries-20120426/ "> < cite > Media
2277- Queries.</ cite > </ a > 26 April 2012. W3C Proposed Recommendation. (Work in
2278- progress.) URL: < a
2279- href ="http://www.w3.org/TR/2012/PR-css3-mediaqueries-20120426/ "> http://www.w3.org/TR/2012/PR-css3-mediaqueries-20120426/</ a >
2250+ href ="http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/ "> < cite > Media
2251+ Queries.</ cite > </ a > 19 June 2012. W3C Recommendation. URL: < a
2252+ href ="http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/ "> http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/</ a >
22802253 </ dd >
22812254 <!---->
22822255
@@ -2305,7 +2278,7 @@ <h2 class=no-num id=index>Index</h2>
23052278 < li > attr(), < a href ="#attr " title ="attr() "> < strong > 8.3.</ strong > </ a >
23062279
23072280 < li > authoring tool, < a href ="#authoring-tool "
2308- title ="authoring tool "> < strong > 9.2 .</ strong > </ a >
2281+ title ="authoring tool "> < strong > 8.5 .</ strong > </ a >
23092282
23102283 < li > calc(), < a href ="#calc " title ="calc() "> < strong > 8.1.</ strong > </ a >
23112284
@@ -2392,7 +2365,7 @@ <h2 class=no-num id=index>Index</h2>
23922365
23932366 < li > rem, < a href ="#rem-unit " title =rem > < strong > 5.1.1.</ strong > </ a >
23942367
2395- < li > renderer, < a href ="#renderer " title =renderer > < strong > 9.2 .</ strong > </ a >
2368+ < li > renderer, < a href ="#renderer " title =renderer > < strong > 8.5 .</ strong > </ a >
23962369
23972370
23982371 < li > <resolution> , < a href ="#resolution-value "
@@ -2409,7 +2382,7 @@ <h2 class=no-num id=index>Index</h2>
24092382 < li > style sheet
24102383 < ul >
24112384 < li > as conformance class, < a href ="#style-sheet "
2412- title ="style sheet, as conformance class "> < strong > 9.2 .</ strong > </ a >
2385+ title ="style sheet, as conformance class "> < strong > 8.5 .</ strong > </ a >
24132386 </ ul >
24142387
24152388 < li > <time> , < a href ="#time-value "
0 commit comments