[html5] r4458 - [cgiow] (0) Remove the magic for <progress> and <meter>. Fixing http://www.w3.or [...]

whatwg at whatwg.org whatwg at whatwg.org
Mon Jan 4 15:38:05 PST 2010


Author: ianh
Date: 2010-01-04 15:38:02 -0800 (Mon, 04 Jan 2010)
New Revision: 4458

Modified:
   complete.html
   index
   source
Log:
[cgiow] (0) Remove the magic for <progress> and <meter>.
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=8152

Modified: complete.html
===================================================================
--- complete.html	2010-01-04 11:27:05 UTC (rev 4457)
+++ complete.html	2010-01-04 23:38:02 UTC (rev 4458)
@@ -219,10 +219,9 @@
        <li><a href=#non-negative-integers><span class=secno>2.4.4.1 </span>Non-negative integers</a></li>
        <li><a href=#signed-integers><span class=secno>2.4.4.2 </span>Signed integers</a></li>
        <li><a href=#real-numbers><span class=secno>2.4.4.3 </span>Real numbers</a></li>
-       <li><a href=#ratios><span class=secno>2.4.4.4 </span>Ratios</a></li>
-       <li><a href=#percentages-and-dimensions><span class=secno>2.4.4.5 </span>Percentages and lengths</a></li>
-       <li><a href=#lists-of-integers><span class=secno>2.4.4.6 </span>Lists of integers</a></li>
-       <li><a href=#lists-of-dimensions><span class=secno>2.4.4.7 </span>Lists of dimensions</a></ol></li>
+       <li><a href=#percentages-and-dimensions><span class=secno>2.4.4.4 </span>Percentages and lengths</a></li>
+       <li><a href=#lists-of-integers><span class=secno>2.4.4.5 </span>Lists of integers</a></li>
+       <li><a href=#lists-of-dimensions><span class=secno>2.4.4.6 </span>Lists of dimensions</a></ol></li>
      <li><a href=#dates-and-times><span class=secno>2.4.5 </span>Dates and times</a>
       <ol>
        <li><a href=#months><span class=secno>2.4.5.1 </span>Months</a></li>
@@ -3035,126 +3034,8 @@
   </ol></div>
 
 
-  <h5 id=ratios><span class=secno>2.4.4.4 </span>Ratios</h5>
-
-  <p class=note>The algorithms described in this section are used by
-  the <code><a href=#the-progress-element>progress</a></code> and <code><a href=#the-meter-element>meter</a></code> elements.</p>
-
-  <p>A <dfn id=valid-denominator-punctuation-character>valid denominator punctuation character</dfn> is one of
-  the characters from the table below. There is <dfn id=values-associated-with-denominator-punctuation-characters title="values
-  associated with denominator punctuation characters">a value
-  associated with each denominator punctuation character</dfn>, as
-  shown in the table below.</p>
-
-  <table><thead><tr><th colspan=2>Denominator Punctuation Character</th>
-     <th>Value</th>
-    <tbody><tr><td>U+0025 PERCENT SIGN</td>
-     <td>%</td>
-     <td>100</td>
-    <tr><td>U+066A ARABIC PERCENT SIGN</td>
-     <td>٪</td>
-     <td>100</td>
-    <tr><td>U+FE6A SMALL PERCENT SIGN</td>
-     <td>﹪</td>
-     <td>100</td>
-    <tr><td>U+FF05 FULLWIDTH PERCENT SIGN</td>
-     <td>%</td>
-     <td>100</td>
-    <tr><td>U+2030 PER MILLE SIGN</td>
-     <td>‰</td>
-     <td>1000</td>
-    <tr><td>U+2031 PER TEN THOUSAND SIGN</td>
-     <td>‱</td>
-     <td>10000</td>
-    </table><div class=impl>
-
-  <p>The <dfn id=steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps for finding one or two numbers of a ratio in a
-  string</dfn> are as given in the following algorithm. This algorithm
-  will return either a number, or a number and a denominator
-  character, or two numbers, or nothing.</p>
-
-  <ol><li><p>Let <var title="">input</var> be the string being
-   parsed.</li>
-
-   <li><p>Let <var title="">position</var> be a pointer into <var title="">input</var>, initially pointing at the start of the
-   string.</li>
-
-   <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, then return nothing and abort these
-   steps.</li>
-
-   <li><p><a href=#find-a-number>Find a number</a> in the string according to the
-   algorithm below. If this returns a number, let <var title="">number1</var> be that number. Otherwise, if it returned
-   nothing or returned an error condition, return nothing and abort
-   these steps.</li>
-
-   <li><p><a href=#skip-white_space-characters>Skip White_Space characters</a>.</li>
-
-   <li><p>If the character indicated by <var title="">position</var>
-   (if any) is a <a href=#valid-denominator-punctuation-character>valid denominator punctuation character</a>,
-   let <var title="">denominator</var> be that character. Otherwise,
-   <var title="">denominator</var> has no value.</li>
-
-   <li><p>If there are any characters in the range U+0030 DIGIT ZERO
-   (0) to U+0039 DIGIT NINE (9) in <var title="">input</var> at or
-   after the character indicated by <var title="">position</var> (if
-   any), but <var title="">denominator</var> has a value, return
-   nothing and abort these steps.</li>
-
-   <li><p>Otherwise, if <var title="">denominator</var> has a value,
-   return <var title="">number1</var> and <var title="">denominator</var> and abort these steps.</li>
-
-   <li><p><a href=#find-a-number>Find a number</a> in the string again. If this
-   returns a number, let <var title="">number2</var> be that
-   number. Otherwise, if it returned nothing or an error condition,
-   return <var title="">number1</var> and abort these steps.</li>
-
-   <li><p><a href=#skip-white_space-characters>Skip White_Space characters</a>.</li>
-
-   <li><p>If the character indicated by <var title="">position</var>
-   (if any) is a <a href=#valid-denominator-punctuation-character>valid denominator punctuation character</a>,
-   return nothing and abort these steps.</li>
-
-   <li><p>If there are any characters in the range U+0030 DIGIT ZERO
-   (0) to U+0039 DIGIT NINE (9) in <var title="">input</var> at or
-   after the character indicated by <var title="">position</var> (if
-   any), return nothing and abort these steps.</li>
-
-   <li>Otherwise, return <var title="">number1</var> and
-   <var title="">number2</var>.</li>
-
-  </ol><p>The algorithm to <dfn id=find-a-number>find a number</dfn> is as follows. It
-  returns either nothing, a number, or an error condition.</p>
-
-  <ol><li><p>Let <var title="">input</var> and <var title="">position</var> be the same variables as those of the same
-   name in the algorithm that invoked these steps.</li>
-
-   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are not
-   U+002E FULL STOP characters (.) and are not characters in the range
-   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</li>
-
-   <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, then return nothing and abort these
-   steps.</li>
-
-   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are
-   either U+002E FULL STOP characters (.) or characters in the range
-   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let that be
-   <var title="">s</var>.</li>
-
-   <li><p>If the first character or the last character of <var title="">s</var> is a U+002E FULL STOP character (.), or if <var title="">s</var> contains more than one U+002E FULL STOP character
-   (.), then return an error condition and abort these steps.</li>
-
-   <li><p>Parse <var title="">s</var> according to the <a href=#rules-for-parsing-floating-point-number-values>rules for
-   parsing floating point number values</a>, to obtain <var title="">number</var>. This step cannot fail (<var title="">s</var>
-   is guaranteed to be a <a href=#valid-floating-point-number>valid floating point
-   number</a>).</li>
-
-   <li>Return <var title="">number</var>.</li>
-
-  </ol></div>
-
-
 <div class=impl>
-  <h5 id=percentages-and-dimensions><span class=secno>2.4.4.5 </span>Percentages and lengths</h5>
+  <h5 id=percentages-and-dimensions><span class=secno>2.4.4.4 </span>Percentages and lengths</h5>
 <!--(percentages are not used in valid html anymore)
   <p>A string is a <dfn>valid dimension value</dfn> if it consists of
   a character in the range U+0031 DIGIT ONE (1) to U+0039 DIGIT NINE
@@ -3257,7 +3138,7 @@
   </ol></div>
 
 
-  <h5 id=lists-of-integers><span class=secno>2.4.4.6 </span>Lists of integers</h5>
+  <h5 id=lists-of-integers><span class=secno>2.4.4.5 </span>Lists of integers</h5>
 
   <p>A <dfn id=valid-list-of-integers>valid list of integers</dfn> is a number of <a href=#valid-integer title="valid integer">valid integers</a> separated by U+002C
   COMMA characters, with no other characters (e.g. no <a href=#space-character title="space character">space characters</a>). In addition, there
@@ -3528,7 +3409,7 @@
 
   <div class=impl>
 
-  <h5 id=lists-of-dimensions><span class=secno>2.4.4.7 </span>Lists of dimensions</h5>
+  <h5 id=lists-of-dimensions><span class=secno>2.4.4.6 </span>Lists of dimensions</h5>
 
   <!-- no definition of a type since no conforming feature uses this
   syntax (it's only used in cols="" and rows="" on <frameset> -->
@@ -17341,20 +17222,21 @@
   specifies how much work the task requires in total. The units are
   arbitrary and not specified.</p>
 
-  <p>Instead of using the attributes, authors are recommended to
-  include the current value and the maximum value inline as text
-  inside the element.</p>
+  <p>Authors are encouraged to also include the current value and the
+  maximum value inline as text inside the element, so that the
+  progress is made available to users of legacy user agents.</p>
 
   <div class=example>
    <p>Here is a snippet of a Web application that shows the progress
    of some automated task:</p>
    <pre><section>
  <h2>Task Progress</h2>
- <p>Progress: <progress><span id="p">0</span>%</progress></p>
+ <p>Progress: <progress id="p" max=100><span>0</span>%</progress></p>
  <script>
   var progressBar = document.getElementById('p');
   function updateProgress(newValue) {
-    progressBar.textContent = newValue;
+    progressBar.value = newValue;
+    progressBar.getElementsByTagName('span').textContent = newValue;
   }
  </script>
 </section></pre>
@@ -17363,79 +17245,12 @@
    progress bar as the task progressed.)</p>
   </div>
 
-  <p><span class=impl><strong>Author requirements</strong>:</span>
-  The <code><a href=#the-progress-element>progress</a></code> element must match one of the following
-  conditions.</p>
-
-  <ul><li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
-   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is specified, and the element's contents
-   contain no numbers.</li>
-
-   <li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
-   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is specified, and the element's contents contain one
-   number, optionally followed by a <a href=#valid-denominator-punctuation-character title="valid denominator
-   punctuation character">denominator punctuation
-   character</a>.</li>
-
-   <li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
-   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is specified, and the element's contents contain two
-   numbers, neither followed by a <a href=#valid-denominator-punctuation-character title="valid denominator
-   punctuation character">denominator punctuation
-   character</a>.</li>
-
-   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is
-   not specified but the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is specified, and the element's contents
-   contain one number that is not followed by a <a href=#valid-denominator-punctuation-character title="valid
-   denominator punctuation character">denominator punctuation
-   character</a>.</li>
-
-   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is
-   specified but the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is not specified, and the element's contents contain no
-   numbers.</li>
-
-   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute
-   and the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute are
-   both specified. (The contents of the element are ignored.)</li>
-
-  </ul><!-- next three paragraphs are also in the <meter> section --><p>For the purposes of these requirements, a number is a sequence of
-  characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
-  (9), optionally including a single U+002E FULL STOP character (.) in
-  some position after the first digit and before the last digit,
-  interpreted as a base ten number. Numbers must be separated from
-  other numbers by at least one character that isn't any of the
-  aforementioned. In addition, if the element is required to contain
-  numbers, then the contents of the element must not contain any
-  U+002E FULL STOP characters (.) that aren't part of numbers.</p>
-
-  <p>A number if said to be followed by a <a href=#valid-denominator-punctuation-character title="valid
-  denominator punctuation character">denominator punctuation
-  character</a> if it is followed by zero or more
-  <a href=#white_space>White_Space</a> characters and a <a href=#valid-denominator-punctuation-character>valid denominator
-  punctuation character</a>.</p>
-
-  <p>The contents of the element consist of the concatenation of
-  the <a href=#text-node title="text node">text nodes</a> of all the descendants
-  of the element, in <a href=#tree-order>tree order</a>.</p>
-  <!-- previous three paragraphs are also in the <meter> section -->
-
   <p>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> and <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attributes, when present, must
   have values that are <a href=#valid-floating-point-number title="valid floating point number">valid
   floating point numbers</a>. The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute, if present, must
   have a value equal to or greater than zero, and less than or equal
   to the value of the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-  attribute, if present, or 1.0, otherwise. If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is not present,
-  but the element's contents contain a number, then the value of the
-  first number in the element's contents must be less than or equal to
-  the value of the second number in the element's contents, if any, or
-  the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
-  characters">value associated with the denominator punctuation
-  character</a> that follows the first number in the element's
-  contents, if any, or 1.0, otherwise. The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, if present, must
+  attribute, if present, or 1.0, otherwise. The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, if present, must
   have a value greater than zero.</p>
 
   <p class=note>The <code><a href=#the-progress-element>progress</a></code> element is the wrong
@@ -17446,81 +17261,35 @@
 
   <div class=impl>
 
-  <p><strong>User agent requirements</strong>: User agents must parse
-  the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> and <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attributes' values
-  according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point number
-  values</a>.</p>
+  <p><strong>User agent requirements</strong>: If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is omitted, then
+  the progress bar is an indeterminate progress bar. Otherwise, it is
+  a determinate progress bar.</p>
 
-  <p>If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute
-  is omitted, then user agents must also parse the
-  <code>textContent</code> of the <code><a href=#the-progress-element>progress</a></code> element in
-  question using the <a href=#steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps for finding one or two numbers of a
-  ratio in a string</a>. These steps will return nothing, one
-  number, one number with a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-  character">denominator punctuation character</a>, or two
-  numbers.</p>
+  <p>If the progress bar is a determinate progress bar and the element
+  has a <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, the user
+  agent must parse the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+  attribute's value according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating
+  point number values</a>. If this does not result in an error, and
+  if the parsed value is greater than zero, then the maximum value of
+  the progress bar is that value. Otherwise, if the element has no
+  <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, or if it has
+  one but parsing it resulted in an error, or if the parsed value was
+  less than or equal to zero, then the maximum value of the progress
+  bar is 1.0.</p>
 
-  <p>Using the results of this processing, user agents must determine
-  whether the progress bar is an indeterminate progress bar, or
-  whether it is a determinate progress bar, and in the latter case,
-  what its current and maximum values are, all as follows:</p>
+  <p>If the progress bar is a determinate progress bar, user agents
+  must parse the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
+  attribute's value according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating
+  point number values</a>. If this does not result in an error, and
+  if the parsed value is less than the maximum value and greater than
+  zero, then the current value of the progress bar is that parsed
+  value. Otherwise, if the parsed value was greater than or equal to
+  the maximum value, then the current value of the progress bar is the
+  maximum value of the progress bar. Otherwise, if parsing the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute's value resulted
+  in an error, or a number less than or equal to zero, then the
+  current value of the progress bar is zero.</p>
 
-  <ol><li>If the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is
-   omitted, and the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> is
-   omitted, and the result of parsing the <code>textContent</code> was
-   nothing, then the progress bar is an indeterminate progress
-   bar. Abort these steps.</li>
-
-   <li>Otherwise, it is a determinate progress bar.</li>
-
-   <li>If the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is
-   included, then, if a value could be parsed out of it, then the
-   maximum value is that value.</li>
-
-   <li>Otherwise, if the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is absent but the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is present, or,
-   if the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is
-   present but no value could be parsed from it, then the maximum is
-   1.</li>
-
-   <li>Otherwise, if neither attribute is included, then, if the
-   <code>textContent</code> contained one number with an associated
-   <a href=#valid-denominator-punctuation-character title="valid denominator punctuation character">denominator
-   punctuation character</a>, then the maximum value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
-   characters">value associated with that denominator punctuation
-   character</a>; otherwise, if the <code>textContent</code>
-   contained two numbers, the maximum value is the higher of the two
-   values; otherwise, the maximum value is 1.</li>
-
-   <li>If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute
-   is present on the element and a value could be parsed out of it,
-   that value is the current value of the progress bar. Otherwise, if
-   the attribute is present but no value could be parsed from it, the
-   current value is zero.</li>
-
-   <li>Otherwise if the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
-   attribute is absent and the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is present, then, if
-   the <code>textContent</code> was parsed and found to contain just
-   one number, with no associated <a href=#valid-denominator-punctuation-character title="valid denominator
-   punctuation character">denominator punctuation character</a>,
-   then the current value is that number. Otherwise, if the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is absent and
-   the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is present
-   then the current value is zero.</li>
-
-   <li>Otherwise, if neither attribute is present, then the current
-   value is the lower of the one or two numbers that were found in the
-   <code>textContent</code> of the element.</li>
-
-   <li>If the maximum value is less than or equal to zero, then it is
-   reset to 1.</li>
-
-   <li>If the current value is less than zero, then it is reset to
-   zero.</li>
-
-   <li>Finally, if the current value is greater than the maximum
-   value, then the current value is reset to the maximum value.</li>
-
-  </ol><p><strong>UA requirements for showing the progress bar</strong>:
+  <p><strong>UA requirements for showing the progress bar</strong>:
   When representing a <code><a href=#the-progress-element>progress</a></code> element to the user, the
   UA should indicate whether it is a determinate or indeterminate
   progress bar, and in the former case, should indicate the relative
@@ -17529,8 +17298,7 @@
   <p>The <dfn id=dom-progress-max title=dom-progress-max><code>max</code></dfn> and <dfn id=dom-progress-value title=dom-progress-value><code>value</code></dfn> IDL attributes
   must <a href=#reflect>reflect</a> the respective content attributes of the
   same name. When the relevant content attributes are absent, the IDL
-  attributes must return zero. The value parsed from the
-  <code>textContent</code> never affects the DOM values.</p>
+  attributes must return zero.</p>
 
   </div>
 
@@ -17620,149 +17388,56 @@
   lower values are better, and naturally if it is in between then it
   indicates that neither high nor low values are good.</p>
 
-  <p><strong class=impl>Authoring requirements</strong>: The
-  recommended way of giving the value is to include it as contents of
-  the element, either as two numbers (the higher number represents the
-  maximum, the other number the current value, and the minimum is
-  assumed to be zero), or as a percentage or similar (using one of the
-  characters such as "%"), or as a fraction. However, it is also
-  possible to use the attributes to specify these values.</p>
+  <p><strong class=impl>Authoring requirements</strong>: The <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute must be
+  specified. The <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>, <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes, when present,
+  must have values that are <a href=#valid-floating-point-number title="valid floating point
+  number">valid floating point numbers</a>.</p>
 
-  <p>One of the following conditions, along with all the requirements
-  that are listed with that condition, must be met:</p>
+  <p>In addition, the attributes' values are further constrained:</p>
 
-  <dl><dt>There are exactly two numbers in the contents of the element,
-   and the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are all omitted</dt>
+  <p>Let <var title="">value</var> be the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute's number.</p>
 
-   <dd>
+  <p>If the <code title=attr-meter-min><a href=#attr-meter-min>min</a></code> attribute
+  attribute is specified, then let <var title="">minimum</var> be that
+  attribute's value; otherwise, let it be zero.</p>
 
-    <p>If specified, the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>,
-    <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes must have
-    values greater than or equal to zero and less than or equal to the
-    bigger of the two numbers in the contents of the element.</p>
+  <p>If the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attribute
+  attribute is specified, then let <var title="">maximum</var> be that
+  attribute's value; otherwise, let it be 1.0.</p>
 
-    <p>If both the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> and <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attributes are specified, then
-    the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
-    be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
+  <p>The following inequalities must hold, as applicable:</p>
 
-    <p>The numbers in the contents of the element must not be followed
-    by a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>.</p>
+  <ul class=brief><li><var title="">minimum</var> ≤ <var title="">value</var> ≤ <var title="">maximum</var></li>
+   <li><var title="">minimum</var> ≤ <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> is specified)</li>
+   <li><var title="">minimum</var> ≤ <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> is specified)</li>
+   <li><var title="">minimum</var> ≤ <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> is specified)</li>
+  </ul><p>If both the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> and <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attributes are specified, then
+  the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
+  be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
 
-   </dd>
-
-   <dt>There is exactly one number followed by a <a href=#valid-denominator-punctuation-character title="valid
-   denominator punctuation character">denominator punctuation
-   character</a> in the contents of the element, and the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are all omitted</dt>
-
-   <dd>
-
-    <p>If specified, the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>,
-    <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes must have
-    values greater than or equal to zero and less than or equal to the
-    <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
-    characters">value associated with the denominator punctuation
-    character</a>.</p>
-
-    <p>If both the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> and <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attributes are specified, then
-    the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
-    be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
-
-    <p>There must not be more than one number in the contents of the
-    element.</p>
-
-   </dd>
-
-   <dt>There is exactly one number in the contents of the element, and
-   the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-   omitted</dt>
-
-   <dt>There are no numbers in the contents of the element, and the
-   <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-   specified</dt>
-
-   <dd>
-
-    <p>If the <code title=attr-meter-min><a href=#attr-meter-min>min</a></code> attribute
-    attribute is specified, then the <var title="">minimum</var> is
-    that attribute's value; otherwise, it is 0.</p>
-
-    <p>If the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attribute
-    attribute is specified, then the <var title="">maximum</var> is
-    that attribute's value; otherwise, it is 1.</p>
-
-    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-    specified, then the <var title="">value</var> is that attribute's
-    number; otherwise, there is exactly one number in the contents of
-    the element, and the <var title="">value</var> is that number.</p>
-
-    <p>The following inequalities must hold, as applicable:</p>
-
-    <ul class=brief><li><var title="">minimum</var> ≤ <var title="">value</var> ≤ <var title="">maximum</var></li>
-     <li><var title="">minimum</var> ≤ <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> is specified)</li>
-     <li><var title="">minimum</var> ≤ <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> is specified)</li>
-     <li><var title="">minimum</var> ≤ <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> is specified)</li>
-    </ul><p>If both the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> and <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attributes are specified, then
-    the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
-    be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
-
-    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-    not specified, the number in the contents of the element must not
-    be followed by a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>. (Otherwise,
-    there is no restriction on what numbers can be in the contents of
-    the element.)</p>
-
-   </dd>
-
-  </dl><!-- next three paragraphs are also in the <progress> section --><p>For the purposes of these requirements, a number is a sequence of
-  characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
-  (9), optionally including a single U+002E FULL STOP character (.) in
-  some position after the first digit and before the last digit,
-  interpreted as a base ten number. Numbers must be separated from
-  other numbers by at least one character that isn't any of the
-  aforementioned. In addition, if the element is required to contain
-  numbers, then the contents of the element must not contain any
-  U+002E FULL STOP characters (.) that aren't part of numbers.</p>
-
-  <p>A number if said to be followed by a <a href=#valid-denominator-punctuation-character title="valid
-  denominator punctuation character">denominator punctuation
-  character</a> if it is followed by zero or more
-  <a href=#white_space>White_Space</a> characters and a <a href=#valid-denominator-punctuation-character>valid denominator
-  punctuation character</a>.</p>
-
-  <p>The contents of the element consist of the concatenation of
-  the <a href=#text-node title="text node">text nodes</a> of all the descendants
-  of the element, in <a href=#tree-order>tree order</a>.</p>
-  <!-- previous three paragraphs are also in the <progress> section -->
-
-  <p>The <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>, <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes, when present,
-  must have values that are <a href=#valid-floating-point-number title="valid floating point
-  number">valid floating point numbers</a>.</p>
-
   <p class=note>If no minimum or maximum is specified, then the
   range is assumed to be 0..1, and the value thus has to be within
   that range.</p>
 
+  <p>Authors are encouraged to include a textual representation of the
+  gauge's state in the element's contents, for users of user agents
+  that do not support the <code><a href=#the-meter-element>meter</a></code> element.</p>
+
   <div class=example>
 
-   <p>The following examples all represent a measurement of three
-   quarters (of the maximum of whatever is being measured):</p>
+   <p>The following examples show three gauges that would all be
+   three-quarters full:</p>
 
-   <pre><meter>75%</meter>
-<meter>750‰</meter>
-<meter>3/4</meter>
-<meter>6 blocks used (out of 8 total)</meter>
-<meter>max: 100; current: 75</meter>
-<meter><object data="graph75.png">0.75</object></meter> <!-- using <span class=bad><img alt="0.75" ...></span> wouldn't work; the alt would be ignored -->
-<meter min="0" max="100" value="75"></meter></pre>
+   <pre>Storage space usage: <meter value=6 max=8>6 blocks used (out of 8 total)</meter>
+Voter turnout: <meter value=0.75><img alt="75%" src="graph75.png"></meter>
+Tickets sold: <meter min="0" max="100" value="75"></meter></pre>
 
    <p>The following example is incorrect use of the element, because
    it doesn't give a range (and since the default maximum is 1, both
    of the gauges would end up looking maxed out):</p>
 
-   <pre class=bad><p>The grapefruit pie had a radius of <meter>12cm</meter>
-and a height of <meter>2cm</meter>.</p> <!-- <strong>BAD!</strong> --></pre>
+   <pre class=bad><p>The grapefruit pie had a radius of <meter value=12>12cm</meter>
+and a height of <meter value=2>2cm</meter>.</p> <!-- <strong>BAD!</strong> --></pre>
 
    <p>Instead, one would either not include the meter element, or use
    the meter element with a defined range to give the dimensions in
@@ -17798,13 +17473,6 @@
   the <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>, <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>, <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes using the
   <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point number values</a>.</p>
 
-  <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute has
-  been omitted, the user agent must also process the
-  <code>textContent</code> of the element according to the <a href=#steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps
-  for finding one or two numbers of a ratio in a string</a>. These
-  steps will return nothing, one number, one number with a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation character">denominator
-  punctuation character</a>, or two numbers.</p>
-
   <p>User agents must then use all these numbers to obtain values for
   six points on the gauge, as follows. (The order in which these are
   evaluated is important, as some of the values refer to earlier
@@ -17823,33 +17491,12 @@
    <dd>
 
     <p>If the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attribute is
-    specified and a value could be parsed out of it, the maximum
-    value is that value.</p>
+    specified and a value could be parsed out of it, the maximum value
+    is that value. Otherwise, the maximum value is 1.0.</p>
 
-    <p>Otherwise, if the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>
-    attribute is specified but no value could be parsed out of it, or
-    if it was not specified, but either or both of the <code title=attr-meter-min><a href=#attr-meter-min>min</a></code> or <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attributes <em>were</em>
-    specified, then the maximum value is 1.</p>
+    <p>If the maximum value would be less than the minimum value, then
+    the maximum value is actually the same as the minimum value.</p>
 
-    <p>Otherwise, none of the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>,
-    <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attributes were
-    specified. If the result of processing the
-    <code>textContent</code> of the element was either nothing or just
-    one number with no <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>, then the
-    maximum value is 1; if the result was one number but it had an
-    associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>, then the
-    maximum value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with
-    denominator punctuation characters">value associated with that
-    denominator punctuation character</a>; and finally, if there
-    were two numbers parsed out of the <code>textContent</code>, then
-    the maximum is the higher of those two numbers.</p>
-
-    <p>If the above machinations result in a maximum value less than
-    the minimum value, then the maximum value is actually the same as
-    the minimum value.</p>
-
    </dd>
 
    <dt>The actual value</dt>
@@ -17858,37 +17505,14 @@
 
     <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
     specified and a value could be parsed out of it, then that value
-    is the actual value.</p>
+    is the actual value. Otherwise, the actual value is zero.</p>
 
-    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-    not specified but the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>
-    attribute <em>is</em> specified and the result of processing the
-    <code>textContent</code> of the element was one number with no
-    associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>, then that
-    number is the actual value.</p>
+    <p>If the actual value would be less than the minimum value, then
+    the actual value is actually the same as the minimum value.</p>
 
-    <p>If neither of the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>
-    and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are
-    specified, then, if the result of processing the
-    <code>textContent</code> of the element was one number (with or
-    without an associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>), then that is
-    the actual value, and if the result of processing the
-    <code>textContent</code> of the element was two numbers, then the
-    actual value is the lower of the two numbers found.</p>
+    <p>If, on the other hand, the actual value would be greater than
+    the maximum value, then the actual value is the maximum value.</p>
 
-    <p>Otherwise, if none of the above apply, the actual value is
-    zero.</p>
-
-    <p>If the above procedure results in an actual value less than
-    the minimum value, then the actual value is actually the same as
-    the minimum value.</p>
-
-    <p>If, on the other hand, the result is an actual value greater
-    than the maximum value, then the actual value is the maximum
-    value.</p>
-
    </dd>
 
    <dt>The low boundary</dt>
@@ -18019,17 +17643,14 @@
   <p>The <dfn id=dom-meter-min title=dom-meter-min><code>min</code></dfn>, <dfn id=dom-meter-max title=dom-meter-max><code>max</code></dfn>, <dfn id=dom-meter-value title=dom-meter-value><code>value</code></dfn>, <dfn id=dom-meter-low title=dom-meter-low><code>low</code></dfn>, <dfn id=dom-meter-high title=dom-meter-high><code>high</code></dfn>, and <dfn id=dom-meter-optimum title=dom-meter-optimum><code>optimum</code></dfn> IDL attributes
   must <a href=#reflect>reflect</a> the respective content attributes of the
   same name. When the relevant content attributes are absent, the IDL
-  attributes must return zero. The value parsed from the
-  <code>textContent</code> never affects the DOM values.</p>
+  attributes must return zero.</p>
 
   </div>
 
   <div class=example>
 
    <p>The following example shows how a gauge could fall back to
-   localized or pretty-printed text. The attributes have to be used in
-   this case, since the localized or pretty-printed numbers might not
-   match the simple expected syntax.</p>
+   localized or pretty-printed text.</p>
 
    <pre><p>Disk usage: <meter min=0 value=170261928 max=233257824>170 261 928 bytes used
 out of 233 257 824 bytes available</meter></p></pre>
@@ -18377,11 +17998,11 @@
 
     <tr><td><code><a href=#the-progress-element>progress</a></code>
      <td>Progress bar
-     <td><pre class=example>Copying: <strong><progress>75%</progress></strong></pre>
+     <td><pre class=example>Copying: <strong><progress value=0.75>75%</progress></strong></pre>
 
     <tr><td><code><a href=#the-meter-element>meter</a></code>
      <td>Gauge
-     <td><pre class=example>Disk space remaining: <strong><meter>75%<meter></strong></pre>
+     <td><pre class=example>Disk space remaining: <strong><meter value=0.75>75%<meter></strong></pre>
 
     <tr><td><code><a href=#the-ruby-element>ruby</a></code>, <code><a href=#the-rt-element>rt</a></code>, <code><a href=#the-rp-element>rp</a></code>
      <td>Ruby annotations

Modified: index
===================================================================
--- index	2010-01-04 11:27:05 UTC (rev 4457)
+++ index	2010-01-04 23:38:02 UTC (rev 4458)
@@ -216,10 +216,9 @@
        <li><a href=#non-negative-integers><span class=secno>2.4.4.1 </span>Non-negative integers</a></li>
        <li><a href=#signed-integers><span class=secno>2.4.4.2 </span>Signed integers</a></li>
        <li><a href=#real-numbers><span class=secno>2.4.4.3 </span>Real numbers</a></li>
-       <li><a href=#ratios><span class=secno>2.4.4.4 </span>Ratios</a></li>
-       <li><a href=#percentages-and-dimensions><span class=secno>2.4.4.5 </span>Percentages and lengths</a></li>
-       <li><a href=#lists-of-integers><span class=secno>2.4.4.6 </span>Lists of integers</a></li>
-       <li><a href=#lists-of-dimensions><span class=secno>2.4.4.7 </span>Lists of dimensions</a></ol></li>
+       <li><a href=#percentages-and-dimensions><span class=secno>2.4.4.4 </span>Percentages and lengths</a></li>
+       <li><a href=#lists-of-integers><span class=secno>2.4.4.5 </span>Lists of integers</a></li>
+       <li><a href=#lists-of-dimensions><span class=secno>2.4.4.6 </span>Lists of dimensions</a></ol></li>
      <li><a href=#dates-and-times><span class=secno>2.4.5 </span>Dates and times</a>
       <ol>
        <li><a href=#months><span class=secno>2.4.5.1 </span>Months</a></li>
@@ -2870,126 +2869,8 @@
   </ol></div>
 
 
-  <h5 id=ratios><span class=secno>2.4.4.4 </span>Ratios</h5>
-
-  <p class=note>The algorithms described in this section are used by
-  the <code><a href=#the-progress-element>progress</a></code> and <code><a href=#the-meter-element>meter</a></code> elements.</p>
-
-  <p>A <dfn id=valid-denominator-punctuation-character>valid denominator punctuation character</dfn> is one of
-  the characters from the table below. There is <dfn id=values-associated-with-denominator-punctuation-characters title="values
-  associated with denominator punctuation characters">a value
-  associated with each denominator punctuation character</dfn>, as
-  shown in the table below.</p>
-
-  <table><thead><tr><th colspan=2>Denominator Punctuation Character</th>
-     <th>Value</th>
-    <tbody><tr><td>U+0025 PERCENT SIGN</td>
-     <td>%</td>
-     <td>100</td>
-    <tr><td>U+066A ARABIC PERCENT SIGN</td>
-     <td>٪</td>
-     <td>100</td>
-    <tr><td>U+FE6A SMALL PERCENT SIGN</td>
-     <td>﹪</td>
-     <td>100</td>
-    <tr><td>U+FF05 FULLWIDTH PERCENT SIGN</td>
-     <td>%</td>
-     <td>100</td>
-    <tr><td>U+2030 PER MILLE SIGN</td>
-     <td>‰</td>
-     <td>1000</td>
-    <tr><td>U+2031 PER TEN THOUSAND SIGN</td>
-     <td>‱</td>
-     <td>10000</td>
-    </table><div class=impl>
-
-  <p>The <dfn id=steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps for finding one or two numbers of a ratio in a
-  string</dfn> are as given in the following algorithm. This algorithm
-  will return either a number, or a number and a denominator
-  character, or two numbers, or nothing.</p>
-
-  <ol><li><p>Let <var title="">input</var> be the string being
-   parsed.</li>
-
-   <li><p>Let <var title="">position</var> be a pointer into <var title="">input</var>, initially pointing at the start of the
-   string.</li>
-
-   <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, then return nothing and abort these
-   steps.</li>
-
-   <li><p><a href=#find-a-number>Find a number</a> in the string according to the
-   algorithm below. If this returns a number, let <var title="">number1</var> be that number. Otherwise, if it returned
-   nothing or returned an error condition, return nothing and abort
-   these steps.</li>
-
-   <li><p><a href=#skip-white_space-characters>Skip White_Space characters</a>.</li>
-
-   <li><p>If the character indicated by <var title="">position</var>
-   (if any) is a <a href=#valid-denominator-punctuation-character>valid denominator punctuation character</a>,
-   let <var title="">denominator</var> be that character. Otherwise,
-   <var title="">denominator</var> has no value.</li>
-
-   <li><p>If there are any characters in the range U+0030 DIGIT ZERO
-   (0) to U+0039 DIGIT NINE (9) in <var title="">input</var> at or
-   after the character indicated by <var title="">position</var> (if
-   any), but <var title="">denominator</var> has a value, return
-   nothing and abort these steps.</li>
-
-   <li><p>Otherwise, if <var title="">denominator</var> has a value,
-   return <var title="">number1</var> and <var title="">denominator</var> and abort these steps.</li>
-
-   <li><p><a href=#find-a-number>Find a number</a> in the string again. If this
-   returns a number, let <var title="">number2</var> be that
-   number. Otherwise, if it returned nothing or an error condition,
-   return <var title="">number1</var> and abort these steps.</li>
-
-   <li><p><a href=#skip-white_space-characters>Skip White_Space characters</a>.</li>
-
-   <li><p>If the character indicated by <var title="">position</var>
-   (if any) is a <a href=#valid-denominator-punctuation-character>valid denominator punctuation character</a>,
-   return nothing and abort these steps.</li>
-
-   <li><p>If there are any characters in the range U+0030 DIGIT ZERO
-   (0) to U+0039 DIGIT NINE (9) in <var title="">input</var> at or
-   after the character indicated by <var title="">position</var> (if
-   any), return nothing and abort these steps.</li>
-
-   <li>Otherwise, return <var title="">number1</var> and
-   <var title="">number2</var>.</li>
-
-  </ol><p>The algorithm to <dfn id=find-a-number>find a number</dfn> is as follows. It
-  returns either nothing, a number, or an error condition.</p>
-
-  <ol><li><p>Let <var title="">input</var> and <var title="">position</var> be the same variables as those of the same
-   name in the algorithm that invoked these steps.</li>
-
-   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are not
-   U+002E FULL STOP characters (.) and are not characters in the range
-   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</li>
-
-   <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, then return nothing and abort these
-   steps.</li>
-
-   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are
-   either U+002E FULL STOP characters (.) or characters in the range
-   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let that be
-   <var title="">s</var>.</li>
-
-   <li><p>If the first character or the last character of <var title="">s</var> is a U+002E FULL STOP character (.), or if <var title="">s</var> contains more than one U+002E FULL STOP character
-   (.), then return an error condition and abort these steps.</li>
-
-   <li><p>Parse <var title="">s</var> according to the <a href=#rules-for-parsing-floating-point-number-values>rules for
-   parsing floating point number values</a>, to obtain <var title="">number</var>. This step cannot fail (<var title="">s</var>
-   is guaranteed to be a <a href=#valid-floating-point-number>valid floating point
-   number</a>).</li>
-
-   <li>Return <var title="">number</var>.</li>
-
-  </ol></div>
-
-
 <div class=impl>
-  <h5 id=percentages-and-dimensions><span class=secno>2.4.4.5 </span>Percentages and lengths</h5>
+  <h5 id=percentages-and-dimensions><span class=secno>2.4.4.4 </span>Percentages and lengths</h5>
 <!--(percentages are not used in valid html anymore)
   <p>A string is a <dfn>valid dimension value</dfn> if it consists of
   a character in the range U+0031 DIGIT ONE (1) to U+0039 DIGIT NINE
@@ -3092,7 +2973,7 @@
   </ol></div>
 
 
-  <h5 id=lists-of-integers><span class=secno>2.4.4.6 </span>Lists of integers</h5>
+  <h5 id=lists-of-integers><span class=secno>2.4.4.5 </span>Lists of integers</h5>
 
   <p>A <dfn id=valid-list-of-integers>valid list of integers</dfn> is a number of <a href=#valid-integer title="valid integer">valid integers</a> separated by U+002C
   COMMA characters, with no other characters (e.g. no <a href=#space-character title="space character">space characters</a>). In addition, there
@@ -3363,7 +3244,7 @@
 
   <div class=impl>
 
-  <h5 id=lists-of-dimensions><span class=secno>2.4.4.7 </span>Lists of dimensions</h5>
+  <h5 id=lists-of-dimensions><span class=secno>2.4.4.6 </span>Lists of dimensions</h5>
 
   <!-- no definition of a type since no conforming feature uses this
   syntax (it's only used in cols="" and rows="" on <frameset> -->
@@ -17176,20 +17057,21 @@
   specifies how much work the task requires in total. The units are
   arbitrary and not specified.</p>
 
-  <p>Instead of using the attributes, authors are recommended to
-  include the current value and the maximum value inline as text
-  inside the element.</p>
+  <p>Authors are encouraged to also include the current value and the
+  maximum value inline as text inside the element, so that the
+  progress is made available to users of legacy user agents.</p>
 
   <div class=example>
    <p>Here is a snippet of a Web application that shows the progress
    of some automated task:</p>
    <pre><section>
  <h2>Task Progress</h2>
- <p>Progress: <progress><span id="p">0</span>%</progress></p>
+ <p>Progress: <progress id="p" max=100><span>0</span>%</progress></p>
  <script>
   var progressBar = document.getElementById('p');
   function updateProgress(newValue) {
-    progressBar.textContent = newValue;
+    progressBar.value = newValue;
+    progressBar.getElementsByTagName('span').textContent = newValue;
   }
  </script>
 </section></pre>
@@ -17198,79 +17080,12 @@
    progress bar as the task progressed.)</p>
   </div>
 
-  <p><span class=impl><strong>Author requirements</strong>:</span>
-  The <code><a href=#the-progress-element>progress</a></code> element must match one of the following
-  conditions.</p>
-
-  <ul><li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
-   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is specified, and the element's contents
-   contain no numbers.</li>
-
-   <li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
-   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is specified, and the element's contents contain one
-   number, optionally followed by a <a href=#valid-denominator-punctuation-character title="valid denominator
-   punctuation character">denominator punctuation
-   character</a>.</li>
-
-   <li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
-   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is specified, and the element's contents contain two
-   numbers, neither followed by a <a href=#valid-denominator-punctuation-character title="valid denominator
-   punctuation character">denominator punctuation
-   character</a>.</li>
-
-   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is
-   not specified but the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is specified, and the element's contents
-   contain one number that is not followed by a <a href=#valid-denominator-punctuation-character title="valid
-   denominator punctuation character">denominator punctuation
-   character</a>.</li>
-
-   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is
-   specified but the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is not specified, and the element's contents contain no
-   numbers.</li>
-
-   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute
-   and the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute are
-   both specified. (The contents of the element are ignored.)</li>
-
-  </ul><!-- next three paragraphs are also in the <meter> section --><p>For the purposes of these requirements, a number is a sequence of
-  characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
-  (9), optionally including a single U+002E FULL STOP character (.) in
-  some position after the first digit and before the last digit,
-  interpreted as a base ten number. Numbers must be separated from
-  other numbers by at least one character that isn't any of the
-  aforementioned. In addition, if the element is required to contain
-  numbers, then the contents of the element must not contain any
-  U+002E FULL STOP characters (.) that aren't part of numbers.</p>
-
-  <p>A number if said to be followed by a <a href=#valid-denominator-punctuation-character title="valid
-  denominator punctuation character">denominator punctuation
-  character</a> if it is followed by zero or more
-  <a href=#white_space>White_Space</a> characters and a <a href=#valid-denominator-punctuation-character>valid denominator
-  punctuation character</a>.</p>
-
-  <p>The contents of the element consist of the concatenation of
-  the <a href=#text-node title="text node">text nodes</a> of all the descendants
-  of the element, in <a href=#tree-order>tree order</a>.</p>
-  <!-- previous three paragraphs are also in the <meter> section -->
-
   <p>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> and <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attributes, when present, must
   have values that are <a href=#valid-floating-point-number title="valid floating point number">valid
   floating point numbers</a>. The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute, if present, must
   have a value equal to or greater than zero, and less than or equal
   to the value of the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-  attribute, if present, or 1.0, otherwise. If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is not present,
-  but the element's contents contain a number, then the value of the
-  first number in the element's contents must be less than or equal to
-  the value of the second number in the element's contents, if any, or
-  the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
-  characters">value associated with the denominator punctuation
-  character</a> that follows the first number in the element's
-  contents, if any, or 1.0, otherwise. The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, if present, must
+  attribute, if present, or 1.0, otherwise. The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, if present, must
   have a value greater than zero.</p>
 
   <p class=note>The <code><a href=#the-progress-element>progress</a></code> element is the wrong
@@ -17281,81 +17096,35 @@
 
   <div class=impl>
 
-  <p><strong>User agent requirements</strong>: User agents must parse
-  the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> and <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attributes' values
-  according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point number
-  values</a>.</p>
+  <p><strong>User agent requirements</strong>: If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is omitted, then
+  the progress bar is an indeterminate progress bar. Otherwise, it is
+  a determinate progress bar.</p>
 
-  <p>If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute
-  is omitted, then user agents must also parse the
-  <code>textContent</code> of the <code><a href=#the-progress-element>progress</a></code> element in
-  question using the <a href=#steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps for finding one or two numbers of a
-  ratio in a string</a>. These steps will return nothing, one
-  number, one number with a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-  character">denominator punctuation character</a>, or two
-  numbers.</p>
+  <p>If the progress bar is a determinate progress bar and the element
+  has a <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, the user
+  agent must parse the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+  attribute's value according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating
+  point number values</a>. If this does not result in an error, and
+  if the parsed value is greater than zero, then the maximum value of
+  the progress bar is that value. Otherwise, if the element has no
+  <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, or if it has
+  one but parsing it resulted in an error, or if the parsed value was
+  less than or equal to zero, then the maximum value of the progress
+  bar is 1.0.</p>
 
-  <p>Using the results of this processing, user agents must determine
-  whether the progress bar is an indeterminate progress bar, or
-  whether it is a determinate progress bar, and in the latter case,
-  what its current and maximum values are, all as follows:</p>
+  <p>If the progress bar is a determinate progress bar, user agents
+  must parse the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
+  attribute's value according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating
+  point number values</a>. If this does not result in an error, and
+  if the parsed value is less than the maximum value and greater than
+  zero, then the current value of the progress bar is that parsed
+  value. Otherwise, if the parsed value was greater than or equal to
+  the maximum value, then the current value of the progress bar is the
+  maximum value of the progress bar. Otherwise, if parsing the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute's value resulted
+  in an error, or a number less than or equal to zero, then the
+  current value of the progress bar is zero.</p>
 
-  <ol><li>If the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is
-   omitted, and the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> is
-   omitted, and the result of parsing the <code>textContent</code> was
-   nothing, then the progress bar is an indeterminate progress
-   bar. Abort these steps.</li>
-
-   <li>Otherwise, it is a determinate progress bar.</li>
-
-   <li>If the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is
-   included, then, if a value could be parsed out of it, then the
-   maximum value is that value.</li>
-
-   <li>Otherwise, if the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-   attribute is absent but the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is present, or,
-   if the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is
-   present but no value could be parsed from it, then the maximum is
-   1.</li>
-
-   <li>Otherwise, if neither attribute is included, then, if the
-   <code>textContent</code> contained one number with an associated
-   <a href=#valid-denominator-punctuation-character title="valid denominator punctuation character">denominator
-   punctuation character</a>, then the maximum value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
-   characters">value associated with that denominator punctuation
-   character</a>; otherwise, if the <code>textContent</code>
-   contained two numbers, the maximum value is the higher of the two
-   values; otherwise, the maximum value is 1.</li>
-
-   <li>If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute
-   is present on the element and a value could be parsed out of it,
-   that value is the current value of the progress bar. Otherwise, if
-   the attribute is present but no value could be parsed from it, the
-   current value is zero.</li>
-
-   <li>Otherwise if the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
-   attribute is absent and the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is present, then, if
-   the <code>textContent</code> was parsed and found to contain just
-   one number, with no associated <a href=#valid-denominator-punctuation-character title="valid denominator
-   punctuation character">denominator punctuation character</a>,
-   then the current value is that number. Otherwise, if the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is absent and
-   the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is present
-   then the current value is zero.</li>
-
-   <li>Otherwise, if neither attribute is present, then the current
-   value is the lower of the one or two numbers that were found in the
-   <code>textContent</code> of the element.</li>
-
-   <li>If the maximum value is less than or equal to zero, then it is
-   reset to 1.</li>
-
-   <li>If the current value is less than zero, then it is reset to
-   zero.</li>
-
-   <li>Finally, if the current value is greater than the maximum
-   value, then the current value is reset to the maximum value.</li>
-
-  </ol><p><strong>UA requirements for showing the progress bar</strong>:
+  <p><strong>UA requirements for showing the progress bar</strong>:
   When representing a <code><a href=#the-progress-element>progress</a></code> element to the user, the
   UA should indicate whether it is a determinate or indeterminate
   progress bar, and in the former case, should indicate the relative
@@ -17364,8 +17133,7 @@
   <p>The <dfn id=dom-progress-max title=dom-progress-max><code>max</code></dfn> and <dfn id=dom-progress-value title=dom-progress-value><code>value</code></dfn> IDL attributes
   must <a href=#reflect>reflect</a> the respective content attributes of the
   same name. When the relevant content attributes are absent, the IDL
-  attributes must return zero. The value parsed from the
-  <code>textContent</code> never affects the DOM values.</p>
+  attributes must return zero.</p>
 
   </div>
 
@@ -17455,149 +17223,56 @@
   lower values are better, and naturally if it is in between then it
   indicates that neither high nor low values are good.</p>
 
-  <p><strong class=impl>Authoring requirements</strong>: The
-  recommended way of giving the value is to include it as contents of
-  the element, either as two numbers (the higher number represents the
-  maximum, the other number the current value, and the minimum is
-  assumed to be zero), or as a percentage or similar (using one of the
-  characters such as "%"), or as a fraction. However, it is also
-  possible to use the attributes to specify these values.</p>
+  <p><strong class=impl>Authoring requirements</strong>: The <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute must be
+  specified. The <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>, <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes, when present,
+  must have values that are <a href=#valid-floating-point-number title="valid floating point
+  number">valid floating point numbers</a>.</p>
 
-  <p>One of the following conditions, along with all the requirements
-  that are listed with that condition, must be met:</p>
+  <p>In addition, the attributes' values are further constrained:</p>
 
-  <dl><dt>There are exactly two numbers in the contents of the element,
-   and the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are all omitted</dt>
+  <p>Let <var title="">value</var> be the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute's number.</p>
 
-   <dd>
+  <p>If the <code title=attr-meter-min><a href=#attr-meter-min>min</a></code> attribute
+  attribute is specified, then let <var title="">minimum</var> be that
+  attribute's value; otherwise, let it be zero.</p>
 
-    <p>If specified, the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>,
-    <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes must have
-    values greater than or equal to zero and less than or equal to the
-    bigger of the two numbers in the contents of the element.</p>
+  <p>If the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attribute
+  attribute is specified, then let <var title="">maximum</var> be that
+  attribute's value; otherwise, let it be 1.0.</p>
 
-    <p>If both the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> and <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attributes are specified, then
-    the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
-    be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
+  <p>The following inequalities must hold, as applicable:</p>
 
-    <p>The numbers in the contents of the element must not be followed
-    by a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>.</p>
+  <ul class=brief><li><var title="">minimum</var> ≤ <var title="">value</var> ≤ <var title="">maximum</var></li>
+   <li><var title="">minimum</var> ≤ <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> is specified)</li>
+   <li><var title="">minimum</var> ≤ <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> is specified)</li>
+   <li><var title="">minimum</var> ≤ <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> is specified)</li>
+  </ul><p>If both the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> and <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attributes are specified, then
+  the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
+  be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
 
-   </dd>
-
-   <dt>There is exactly one number followed by a <a href=#valid-denominator-punctuation-character title="valid
-   denominator punctuation character">denominator punctuation
-   character</a> in the contents of the element, and the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are all omitted</dt>
-
-   <dd>
-
-    <p>If specified, the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>,
-    <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes must have
-    values greater than or equal to zero and less than or equal to the
-    <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
-    characters">value associated with the denominator punctuation
-    character</a>.</p>
-
-    <p>If both the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> and <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attributes are specified, then
-    the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
-    be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
-
-    <p>There must not be more than one number in the contents of the
-    element.</p>
-
-   </dd>
-
-   <dt>There is exactly one number in the contents of the element, and
-   the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-   omitted</dt>
-
-   <dt>There are no numbers in the contents of the element, and the
-   <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-   specified</dt>
-
-   <dd>
-
-    <p>If the <code title=attr-meter-min><a href=#attr-meter-min>min</a></code> attribute
-    attribute is specified, then the <var title="">minimum</var> is
-    that attribute's value; otherwise, it is 0.</p>
-
-    <p>If the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attribute
-    attribute is specified, then the <var title="">maximum</var> is
-    that attribute's value; otherwise, it is 1.</p>
-
-    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-    specified, then the <var title="">value</var> is that attribute's
-    number; otherwise, there is exactly one number in the contents of
-    the element, and the <var title="">value</var> is that number.</p>
-
-    <p>The following inequalities must hold, as applicable:</p>
-
-    <ul class=brief><li><var title="">minimum</var> ≤ <var title="">value</var> ≤ <var title="">maximum</var></li>
-     <li><var title="">minimum</var> ≤ <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> is specified)</li>
-     <li><var title="">minimum</var> ≤ <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> is specified)</li>
-     <li><var title="">minimum</var> ≤ <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> ≤ <var title="">maximum</var> (if <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> is specified)</li>
-    </ul><p>If both the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> and <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attributes are specified, then
-    the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
-    be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
-
-    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-    not specified, the number in the contents of the element must not
-    be followed by a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>. (Otherwise,
-    there is no restriction on what numbers can be in the contents of
-    the element.)</p>
-
-   </dd>
-
-  </dl><!-- next three paragraphs are also in the <progress> section --><p>For the purposes of these requirements, a number is a sequence of
-  characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
-  (9), optionally including a single U+002E FULL STOP character (.) in
-  some position after the first digit and before the last digit,
-  interpreted as a base ten number. Numbers must be separated from
-  other numbers by at least one character that isn't any of the
-  aforementioned. In addition, if the element is required to contain
-  numbers, then the contents of the element must not contain any
-  U+002E FULL STOP characters (.) that aren't part of numbers.</p>
-
-  <p>A number if said to be followed by a <a href=#valid-denominator-punctuation-character title="valid
-  denominator punctuation character">denominator punctuation
-  character</a> if it is followed by zero or more
-  <a href=#white_space>White_Space</a> characters and a <a href=#valid-denominator-punctuation-character>valid denominator
-  punctuation character</a>.</p>
-
-  <p>The contents of the element consist of the concatenation of
-  the <a href=#text-node title="text node">text nodes</a> of all the descendants
-  of the element, in <a href=#tree-order>tree order</a>.</p>
-  <!-- previous three paragraphs are also in the <progress> section -->
-
-  <p>The <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>, <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes, when present,
-  must have values that are <a href=#valid-floating-point-number title="valid floating point
-  number">valid floating point numbers</a>.</p>
-
   <p class=note>If no minimum or maximum is specified, then the
   range is assumed to be 0..1, and the value thus has to be within
   that range.</p>
 
+  <p>Authors are encouraged to include a textual representation of the
+  gauge's state in the element's contents, for users of user agents
+  that do not support the <code><a href=#the-meter-element>meter</a></code> element.</p>
+
   <div class=example>
 
-   <p>The following examples all represent a measurement of three
-   quarters (of the maximum of whatever is being measured):</p>
+   <p>The following examples show three gauges that would all be
+   three-quarters full:</p>
 
-   <pre><meter>75%</meter>
-<meter>750‰</meter>
-<meter>3/4</meter>
-<meter>6 blocks used (out of 8 total)</meter>
-<meter>max: 100; current: 75</meter>
-<meter><object data="graph75.png">0.75</object></meter> <!-- using <span class=bad><img alt="0.75" ...></span> wouldn't work; the alt would be ignored -->
-<meter min="0" max="100" value="75"></meter></pre>
+   <pre>Storage space usage: <meter value=6 max=8>6 blocks used (out of 8 total)</meter>
+Voter turnout: <meter value=0.75><img alt="75%" src="graph75.png"></meter>
+Tickets sold: <meter min="0" max="100" value="75"></meter></pre>
 
    <p>The following example is incorrect use of the element, because
    it doesn't give a range (and since the default maximum is 1, both
    of the gauges would end up looking maxed out):</p>
 
-   <pre class=bad><p>The grapefruit pie had a radius of <meter>12cm</meter>
-and a height of <meter>2cm</meter>.</p> <!-- <strong>BAD!</strong> --></pre>
+   <pre class=bad><p>The grapefruit pie had a radius of <meter value=12>12cm</meter>
+and a height of <meter value=2>2cm</meter>.</p> <!-- <strong>BAD!</strong> --></pre>
 
    <p>Instead, one would either not include the meter element, or use
    the meter element with a defined range to give the dimensions in
@@ -17633,13 +17308,6 @@
   the <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>, <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-low><a href=#attr-meter-low>low</a></code>, <code title=attr-meter-high><a href=#attr-meter-high>high</a></code>, and <code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code> attributes using the
   <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point number values</a>.</p>
 
-  <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute has
-  been omitted, the user agent must also process the
-  <code>textContent</code> of the element according to the <a href=#steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps
-  for finding one or two numbers of a ratio in a string</a>. These
-  steps will return nothing, one number, one number with a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation character">denominator
-  punctuation character</a>, or two numbers.</p>
-
   <p>User agents must then use all these numbers to obtain values for
   six points on the gauge, as follows. (The order in which these are
   evaluated is important, as some of the values refer to earlier
@@ -17658,33 +17326,12 @@
    <dd>
 
     <p>If the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attribute is
-    specified and a value could be parsed out of it, the maximum
-    value is that value.</p>
+    specified and a value could be parsed out of it, the maximum value
+    is that value. Otherwise, the maximum value is 1.0.</p>
 
-    <p>Otherwise, if the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>
-    attribute is specified but no value could be parsed out of it, or
-    if it was not specified, but either or both of the <code title=attr-meter-min><a href=#attr-meter-min>min</a></code> or <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attributes <em>were</em>
-    specified, then the maximum value is 1.</p>
+    <p>If the maximum value would be less than the minimum value, then
+    the maximum value is actually the same as the minimum value.</p>
 
-    <p>Otherwise, none of the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>,
-    <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attributes were
-    specified. If the result of processing the
-    <code>textContent</code> of the element was either nothing or just
-    one number with no <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>, then the
-    maximum value is 1; if the result was one number but it had an
-    associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>, then the
-    maximum value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with
-    denominator punctuation characters">value associated with that
-    denominator punctuation character</a>; and finally, if there
-    were two numbers parsed out of the <code>textContent</code>, then
-    the maximum is the higher of those two numbers.</p>
-
-    <p>If the above machinations result in a maximum value less than
-    the minimum value, then the maximum value is actually the same as
-    the minimum value.</p>
-
    </dd>
 
    <dt>The actual value</dt>
@@ -17693,37 +17340,14 @@
 
     <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
     specified and a value could be parsed out of it, then that value
-    is the actual value.</p>
+    is the actual value. Otherwise, the actual value is zero.</p>
 
-    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
-    not specified but the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>
-    attribute <em>is</em> specified and the result of processing the
-    <code>textContent</code> of the element was one number with no
-    associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>, then that
-    number is the actual value.</p>
+    <p>If the actual value would be less than the minimum value, then
+    the actual value is actually the same as the minimum value.</p>
 
-    <p>If neither of the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>
-    and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are
-    specified, then, if the result of processing the
-    <code>textContent</code> of the element was one number (with or
-    without an associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
-    character">denominator punctuation character</a>), then that is
-    the actual value, and if the result of processing the
-    <code>textContent</code> of the element was two numbers, then the
-    actual value is the lower of the two numbers found.</p>
+    <p>If, on the other hand, the actual value would be greater than
+    the maximum value, then the actual value is the maximum value.</p>
 
-    <p>Otherwise, if none of the above apply, the actual value is
-    zero.</p>
-
-    <p>If the above procedure results in an actual value less than
-    the minimum value, then the actual value is actually the same as
-    the minimum value.</p>
-
-    <p>If, on the other hand, the result is an actual value greater
-    than the maximum value, then the actual value is the maximum
-    value.</p>
-
    </dd>
 
    <dt>The low boundary</dt>
@@ -17854,17 +17478,14 @@
   <p>The <dfn id=dom-meter-min title=dom-meter-min><code>min</code></dfn>, <dfn id=dom-meter-max title=dom-meter-max><code>max</code></dfn>, <dfn id=dom-meter-value title=dom-meter-value><code>value</code></dfn>, <dfn id=dom-meter-low title=dom-meter-low><code>low</code></dfn>, <dfn id=dom-meter-high title=dom-meter-high><code>high</code></dfn>, and <dfn id=dom-meter-optimum title=dom-meter-optimum><code>optimum</code></dfn> IDL attributes
   must <a href=#reflect>reflect</a> the respective content attributes of the
   same name. When the relevant content attributes are absent, the IDL
-  attributes must return zero. The value parsed from the
-  <code>textContent</code> never affects the DOM values.</p>
+  attributes must return zero.</p>
 
   </div>
 
   <div class=example>
 
    <p>The following example shows how a gauge could fall back to
-   localized or pretty-printed text. The attributes have to be used in
-   this case, since the localized or pretty-printed numbers might not
-   match the simple expected syntax.</p>
+   localized or pretty-printed text.</p>
 
    <pre><p>Disk usage: <meter min=0 value=170261928 max=233257824>170 261 928 bytes used
 out of 233 257 824 bytes available</meter></p></pre>
@@ -18212,11 +17833,11 @@
 
     <tr><td><code><a href=#the-progress-element>progress</a></code>
      <td>Progress bar
-     <td><pre class=example>Copying: <strong><progress>75%</progress></strong></pre>
+     <td><pre class=example>Copying: <strong><progress value=0.75>75%</progress></strong></pre>
 
     <tr><td><code><a href=#the-meter-element>meter</a></code>
      <td>Gauge
-     <td><pre class=example>Disk space remaining: <strong><meter>75%<meter></strong></pre>
+     <td><pre class=example>Disk space remaining: <strong><meter value=0.75>75%<meter></strong></pre>
 
     <tr><td><code><a href=#the-ruby-element>ruby</a></code>, <code><a href=#the-rt-element>rt</a></code>, <code><a href=#the-rp-element>rp</a></code>
      <td>Ruby annotations

Modified: source
===================================================================
--- source	2010-01-04 11:27:05 UTC (rev 4457)
+++ source	2010-01-04 23:38:02 UTC (rev 4458)
@@ -2023,162 +2023,6 @@
   </div>
 
 
-  <h5>Ratios</h5>
-
-  <p class="note">The algorithms described in this section are used by
-  the <code>progress</code> and <code>meter</code> elements.</p>
-
-  <p>A <dfn>valid denominator punctuation character</dfn> is one of
-  the characters from the table below. There is <dfn title="values
-  associated with denominator punctuation characters">a value
-  associated with each denominator punctuation character</dfn>, as
-  shown in the table below.</p>
-
-  <table>
-   <thead>
-    <tr>
-     <th colspan="2">Denominator Punctuation Character</th>
-     <th>Value</th>
-    </tr>
-   </thead>
-   <tbody>
-    <tr>
-     <td>U+0025 PERCENT SIGN</td>
-     <td>&#x0025;</td>
-     <td>100</td>
-    </tr>
-    <tr>
-     <td>U+066A ARABIC PERCENT SIGN</td>
-     <td>&#x066A;</td>
-     <td>100</td>
-    </tr>
-    <tr>
-     <td>U+FE6A SMALL PERCENT SIGN</td>
-     <td>&#xFE6A;</td>
-     <td>100</td>
-    </tr>
-    <tr>
-     <td>U+FF05 FULLWIDTH PERCENT SIGN</td>
-     <td>&#xFF05;</td>
-     <td>100</td>
-    </tr>
-    <tr>
-     <td>U+2030 PER MILLE SIGN</td>
-     <td>&#x2030;</td>
-     <td>1000</td>
-    </tr>
-    <tr>
-     <td>U+2031 PER TEN THOUSAND SIGN</td>
-     <td>&#x2031;</td>
-     <td>10000</td>
-    </tr>
-   </tbody>
-  </table>
-
-  <div class="impl">
-
-  <p>The <dfn>steps for finding one or two numbers of a ratio in a
-  string</dfn> are as given in the following algorithm. This algorithm
-  will return either a number, or a number and a denominator
-  character, or two numbers, or nothing.</p>
-
-  <ol>
-
-   <li><p>Let <var title="">input</var> be the string being
-   parsed.</p></li>
-
-   <li><p>Let <var title="">position</var> be a pointer into <var
-   title="">input</var>, initially pointing at the start of the
-   string.</p></li>
-
-   <li><p>If <var title="">position</var> is past the end of <var
-   title="">input</var>, then return nothing and abort these
-   steps.</p></li>
-
-   <li><p><span>Find a number</span> in the string according to the
-   algorithm below. If this returns a number, let <var
-   title="">number1</var> be that number. Otherwise, if it returned
-   nothing or returned an error condition, return nothing and abort
-   these steps.</p></li>
-
-   <li><p><span>Skip White_Space characters</span>.</p></li>
-
-   <li><p>If the character indicated by <var title="">position</var>
-   (if any) is a <span>valid denominator punctuation character</span>,
-   let <var title="">denominator</var> be that character. Otherwise,
-   <var title="">denominator</var> has no value.</p></li>
-
-   <li><p>If there are any characters in the range U+0030 DIGIT ZERO
-   (0) to U+0039 DIGIT NINE (9) in <var title="">input</var> at or
-   after the character indicated by <var title="">position</var> (if
-   any), but <var title="">denominator</var> has a value, return
-   nothing and abort these steps.</p></li>
-
-   <li><p>Otherwise, if <var title="">denominator</var> has a value,
-   return <var title="">number1</var> and <var
-   title="">denominator</var> and abort these steps.</p></li>
-
-   <li><p><span>Find a number</span> in the string again. If this
-   returns a number, let <var title="">number2</var> be that
-   number. Otherwise, if it returned nothing or an error condition,
-   return <var title="">number1</var> and abort these steps.</p></li>
-
-   <li><p><span>Skip White_Space characters</span>.</p></li>
-
-   <li><p>If the character indicated by <var title="">position</var>
-   (if any) is a <span>valid denominator punctuation character</span>,
-   return nothing and abort these steps.</li>
-
-   <li><p>If there are any characters in the range U+0030 DIGIT ZERO
-   (0) to U+0039 DIGIT NINE (9) in <var title="">input</var> at or
-   after the character indicated by <var title="">position</var> (if
-   any), return nothing and abort these steps.</p></li>
-
-   <li>Otherwise, return <var title="">number1</var> and
-   <var title="">number2</var>.</li>
-
-  </ol>
-
-  <p>The algorithm to <dfn>find a number</dfn> is as follows. It
-  returns either nothing, a number, or an error condition.</p>
-
-  <ol>
-
-   <li><p>Let <var title="">input</var> and <var
-   title="">position</var> be the same variables as those of the same
-   name in the algorithm that invoked these steps.</p></li>
-
-   <li><p><span>Collect a sequence of characters</span> that are not
-   U+002E FULL STOP characters (.) and are not characters in the range
-   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</p></li>
-
-   <li><p>If <var title="">position</var> is past the end of <var
-   title="">input</var>, then return nothing and abort these
-   steps.</p></li>
-
-   <li><p><span>Collect a sequence of characters</span> that are
-   either U+002E FULL STOP characters (.) or characters in the range
-   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let that be
-   <var title="">s</var>.</p></li>
-
-   <li><p>If the first character or the last character of <var
-   title="">s</var> is a U+002E FULL STOP character (.), or if <var
-   title="">s</var> contains more than one U+002E FULL STOP character
-   (.), then return an error condition and abort these steps.</p></li>
-
-   <li><p>Parse <var title="">s</var> according to the <span>rules for
-   parsing floating point number values</span>, to obtain <var
-   title="">number</var>. This step cannot fail (<var title="">s</var>
-   is guaranteed to be a <span>valid floating point
-   number</span>).</p></li>
-
-   <li>Return <var title="">number</var>.</li>
-
-  </ol>
-
-  </div>
-
-
 <div class="impl">
   <h5 id="percentages-and-dimensions">Percentages and lengths</h5>
 <!--(percentages are not used in valid html anymore)
@@ -18341,20 +18185,21 @@
   specifies how much work the task requires in total. The units are
   arbitrary and not specified.</p>
 
-  <p>Instead of using the attributes, authors are recommended to
-  include the current value and the maximum value inline as text
-  inside the element.</p>
+  <p>Authors are encouraged to also include the current value and the
+  maximum value inline as text inside the element, so that the
+  progress is made available to users of legacy user agents.</p>
 
   <div class="example">
    <p>Here is a snippet of a Web application that shows the progress
    of some automated task:</p>
    <pre><section>
  <h2>Task Progress</h2>
- <p>Progress: <progress><span id="p">0</span>%</progress></p>
+ <p>Progress: <progress id="p" max=100><span>0</span>%</progress></p>
  <script>
   var progressBar = document.getElementById('p');
   function updateProgress(newValue) {
-    progressBar.textContent = newValue;
+    progressBar.value = newValue;
+    progressBar.getElementsByTagName('span').textContent = newValue;
   }
  </script>
 </section></pre>
@@ -18363,71 +18208,6 @@
    progress bar as the task progressed.)</p>
   </div>
 
-  <p><span class="impl"><strong>Author requirements</strong>:</span>
-  The <code>progress</code> element must match one of the following
-  conditions.</p>
-
-  <ul>
-
-   <li>Neither the <code title="attr-progress-value">value</code>
-   attribute nor the <code title="attr-progress-max">max</code>
-   attribute is specified, and the element's contents
-   contain no numbers.</li>
-
-   <li>Neither the <code title="attr-progress-value">value</code>
-   attribute nor the <code title="attr-progress-max">max</code>
-   attribute is specified, and the element's contents contain one
-   number, optionally followed by a <span title="valid denominator
-   punctuation character">denominator punctuation
-   character</span>.</li>
-
-   <li>Neither the <code title="attr-progress-value">value</code>
-   attribute nor the <code title="attr-progress-max">max</code>
-   attribute is specified, and the element's contents contain two
-   numbers, neither followed by a <span title="valid denominator
-   punctuation character">denominator punctuation
-   character</span>.</li>
-
-   <li>The <code title="attr-progress-value">value</code> attribute is
-   not specified but the <code title="attr-progress-max">max</code>
-   attribute is specified, and the element's contents
-   contain one number that is not followed by a <span title="valid
-   denominator punctuation character">denominator punctuation
-   character</span>.</li>
-
-   <li>The <code title="attr-progress-value">value</code> attribute is
-   specified but the <code title="attr-progress-max">max</code>
-   attribute is not specified, and the element's contents contain no
-   numbers.</li>
-
-   <li>The <code title="attr-progress-value">value</code> attribute
-   and the <code title="attr-progress-max">max</code> attribute are
-   both specified. (The contents of the element are ignored.)</li>
-
-  </ul>
-
-  <!-- next three paragraphs are also in the <meter> section -->
-  <p>For the purposes of these requirements, a number is a sequence of
-  characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
-  (9), optionally including a single U+002E FULL STOP character (.) in
-  some position after the first digit and before the last digit,
-  interpreted as a base ten number. Numbers must be separated from
-  other numbers by at least one character that isn't any of the
-  aforementioned. In addition, if the element is required to contain
-  numbers, then the contents of the element must not contain any
-  U+002E FULL STOP characters (.) that aren't part of numbers.</p>
-
-  <p>A number if said to be followed by a <span title="valid
-  denominator punctuation character">denominator punctuation
-  character</span> if it is followed by zero or more
-  <span>White_Space</span> characters and a <span>valid denominator
-  punctuation character</span>.</p>
-
-  <p>The contents of the element consist of the concatenation of
-  the <span title="text node">text nodes</span> of all the descendants
-  of the element, in <span>tree order</span>.</p>
-  <!-- previous three paragraphs are also in the <meter> section -->
-
   <p>The <code title="attr-progress-value">value</code> and <code
   title="attr-progress-max">max</code> attributes, when present, must
   have values that are <span title="valid floating point number">valid
@@ -18435,15 +18215,7 @@
   title="attr-progress-value">value</code> attribute, if present, must
   have a value equal to or greater than zero, and less than or equal
   to the value of the <code title="attr-progress-max">max</code>
-  attribute, if present, or 1.0, otherwise. If the <code
-  title="attr-progress-value">value</code> attribute is not present,
-  but the element's contents contain a number, then the value of the
-  first number in the element's contents must be less than or equal to
-  the value of the second number in the element's contents, if any, or
-  the <span title="values associated with denominator punctuation
-  characters">value associated with the denominator punctuation
-  character</span> that follows the first number in the element's
-  contents, if any, or 1.0, otherwise. The <code
+  attribute, if present, or 1.0, otherwise. The <code
   title="attr-progress-max">max</code> attribute, if present, must
   have a value greater than zero.</p>
 
@@ -18455,89 +18227,36 @@
 
   <div class="impl">
 
-  <p><strong>User agent requirements</strong>: User agents must parse
-  the <code title="attr-progress-max">max</code> and <code
-  title="attr-progress-value">value</code> attributes' values
-  according to the <span>rules for parsing floating point number
-  values</span>.</p>
+  <p><strong>User agent requirements</strong>: If the <code
+  title="attr-progress-value">value</code> attribute is omitted, then
+  the progress bar is an indeterminate progress bar. Otherwise, it is
+  a determinate progress bar.</p>
 
-  <p>If the <code title="attr-progress-value">value</code> attribute
-  is omitted, then user agents must also parse the
-  <code>textContent</code> of the <code>progress</code> element in
-  question using the <span>steps for finding one or two numbers of a
-  ratio in a string</span>. These steps will return nothing, one
-  number, one number with a <span title="valid denominator punctuation
-  character">denominator punctuation character</span>, or two
-  numbers.</p>
+  <p>If the progress bar is a determinate progress bar and the element
+  has a <code title="attr-progress-max">max</code> attribute, the user
+  agent must parse the <code title="attr-progress-max">max</code>
+  attribute's value according to the <span>rules for parsing floating
+  point number values</span>. If this does not result in an error, and
+  if the parsed value is greater than zero, then the maximum value of
+  the progress bar is that value. Otherwise, if the element has no
+  <code title="attr-progress-max">max</code> attribute, or if it has
+  one but parsing it resulted in an error, or if the parsed value was
+  less than or equal to zero, then the maximum value of the progress
+  bar is 1.0.</p>
 
-  <p>Using the results of this processing, user agents must determine
-  whether the progress bar is an indeterminate progress bar, or
-  whether it is a determinate progress bar, and in the latter case,
-  what its current and maximum values are, all as follows:</p>
+  <p>If the progress bar is a determinate progress bar, user agents
+  must parse the <code title="attr-progress-value">value</code>
+  attribute's value according to the <span>rules for parsing floating
+  point number values</span>. If this does not result in an error, and
+  if the parsed value is less than the maximum value and greater than
+  zero, then the current value of the progress bar is that parsed
+  value. Otherwise, if the parsed value was greater than or equal to
+  the maximum value, then the current value of the progress bar is the
+  maximum value of the progress bar. Otherwise, if parsing the <code
+  title="attr-progress-value">value</code> attribute's value resulted
+  in an error, or a number less than or equal to zero, then the
+  current value of the progress bar is zero.</p>
 
-  <ol>
-
-   <li>If the <code title="attr-progress-max">max</code> attribute is
-   omitted, and the <code title="attr-progress-value">value</code> is
-   omitted, and the result of parsing the <code>textContent</code> was
-   nothing, then the progress bar is an indeterminate progress
-   bar. Abort these steps.</li>
-
-   <li>Otherwise, it is a determinate progress bar.</li>
-
-   <li>If the <code title="attr-progress-max">max</code> attribute is
-   included, then, if a value could be parsed out of it, then the
-   maximum value is that value.</li>
-
-   <li>Otherwise, if the <code title="attr-progress-max">max</code>
-   attribute is absent but the <code
-   title="attr-progress-value">value</code> attribute is present, or,
-   if the <code title="attr-progress-max">max</code> attribute is
-   present but no value could be parsed from it, then the maximum is
-   1.</li>
-
-   <li>Otherwise, if neither attribute is included, then, if the
-   <code>textContent</code> contained one number with an associated
-   <span title="valid denominator punctuation character">denominator
-   punctuation character</span>, then the maximum value is the <span
-   title="values associated with denominator punctuation
-   characters">value associated with that denominator punctuation
-   character</span>; otherwise, if the <code>textContent</code>
-   contained two numbers, the maximum value is the higher of the two
-   values; otherwise, the maximum value is 1.</li>
-
-   <li>If the <code title="attr-progress-value">value</code> attribute
-   is present on the element and a value could be parsed out of it,
-   that value is the current value of the progress bar. Otherwise, if
-   the attribute is present but no value could be parsed from it, the
-   current value is zero.</li>
-
-   <li>Otherwise if the <code title="attr-progress-value">value</code>
-   attribute is absent and the <code
-   title="attr-progress-max">max</code> attribute is present, then, if
-   the <code>textContent</code> was parsed and found to contain just
-   one number, with no associated <span title="valid denominator
-   punctuation character">denominator punctuation character</span>,
-   then the current value is that number. Otherwise, if the <code
-   title="attr-progress-value">value</code> attribute is absent and
-   the <code title="attr-progress-max">max</code> attribute is present
-   then the current value is zero.</li>
-
-   <li>Otherwise, if neither attribute is present, then the current
-   value is the lower of the one or two numbers that were found in the
-   <code>textContent</code> of the element.</li>
-
-   <li>If the maximum value is less than or equal to zero, then it is
-   reset to 1.</li>
-
-   <li>If the current value is less than zero, then it is reset to
-   zero.</li>
-
-   <li>Finally, if the current value is greater than the maximum
-   value, then the current value is reset to the maximum value.</li>
-
-  </ol>
-
   <p><strong>UA requirements for showing the progress bar</strong>:
   When representing a <code>progress</code> element to the user, the
   UA should indicate whether it is a determinate or indeterminate
@@ -18548,8 +18267,7 @@
   title="dom-progress-value"><code>value</code></dfn> IDL attributes
   must <span>reflect</span> the respective content attributes of the
   same name. When the relevant content attributes are absent, the IDL
-  attributes must return zero. The value parsed from the
-  <code>textContent</code> never affects the DOM values.</p>
+  attributes must return zero.</p>
 
   </div>
 
@@ -18651,144 +18369,9 @@
   lower values are better, and naturally if it is in between then it
   indicates that neither high nor low values are good.</p>
 
-  <p><strong class="impl">Authoring requirements</strong>: The
-  recommended way of giving the value is to include it as contents of
-  the element, either as two numbers (the higher number represents the
-  maximum, the other number the current value, and the minimum is
-  assumed to be zero), or as a percentage or similar (using one of the
-  characters such as "%"), or as a fraction. However, it is also
-  possible to use the attributes to specify these values.</p>
-
-  <p>One of the following conditions, along with all the requirements
-  that are listed with that condition, must be met:</p>
-
-  <dl>
-
-   <dt>There are exactly two numbers in the contents of the element,
-   and the <code title="attr-meter-value">value</code>, <code
-   title="attr-meter-min">min</code>, and <code
-   title="attr-meter-max">max</code> attributes are all omitted</dt>
-
-   <dd>
-
-    <p>If specified, the <code title="attr-meter-low">low</code>,
-    <code title="attr-meter-high">high</code>, and <code
-    title="attr-meter-optimum">optimum</code> attributes must have
-    values greater than or equal to zero and less than or equal to the
-    bigger of the two numbers in the contents of the element.</p>
-
-    <p>If both the <code title="attr-meter-low">low</code> and <code
-    title="attr-meter-high">high</code> attributes are specified, then
-    the <code title="attr-meter-low">low</code> attribute's value must
-    be less than or equal to the value of the <code
-    title="attr-meter-high">high</code> attribute.</p>
-
-    <p>The numbers in the contents of the element must not be followed
-    by a <span title="valid denominator punctuation
-    character">denominator punctuation character</span>.</p>
-
-   </dd>
-
-   <dt>There is exactly one number followed by a <span title="valid
-   denominator punctuation character">denominator punctuation
-   character</span> in the contents of the element, and the <code
-   title="attr-meter-value">value</code>, <code
-   title="attr-meter-min">min</code>, and <code
-   title="attr-meter-max">max</code> attributes are all omitted</dt>
-
-   <dd>
-
-    <p>If specified, the <code title="attr-meter-low">low</code>,
-    <code title="attr-meter-high">high</code>, and <code
-    title="attr-meter-optimum">optimum</code> attributes must have
-    values greater than or equal to zero and less than or equal to the
-    <span title="values associated with denominator punctuation
-    characters">value associated with the denominator punctuation
-    character</span>.</p>
-
-    <p>If both the <code title="attr-meter-low">low</code> and <code
-    title="attr-meter-high">high</code> attributes are specified, then
-    the <code title="attr-meter-low">low</code> attribute's value must
-    be less than or equal to the value of the <code
-    title="attr-meter-high">high</code> attribute.</p>
-
-    <p>There must not be more than one number in the contents of the
-    element.</p>
-
-   </dd>
-
-   <dt>There is exactly one number in the contents of the element, and
-   the <code title="attr-meter-value">value</code> attribute is
-   omitted</dt>
-
-   <dt>There are no numbers in the contents of the element, and the
-   <code title="attr-meter-value">value</code> attribute is
-   specified</dt>
-
-   <dd>
-
-    <p>If the <code title="attr-meter-min">min</code> attribute
-    attribute is specified, then the <var title="">minimum</var> is
-    that attribute's value; otherwise, it is 0.</p>
-
-    <p>If the <code title="attr-meter-max">max</code> attribute
-    attribute is specified, then the <var title="">maximum</var> is
-    that attribute's value; otherwise, it is 1.</p>
-
-    <p>If the <code title="attr-meter-value">value</code> attribute is
-    specified, then the <var title="">value</var> is that attribute's
-    number; otherwise, there is exactly one number in the contents of
-    the element, and the <var title="">value</var> is that number.</p>
-
-    <p>The following inequalities must hold, as applicable:</p>
-
-    <ul class="brief">
-     <li><var title="">minimum</var> ≤ <var title="">value</var> ≤ <var title="">maximum</var></li>
-     <li><var title="">minimum</var> ≤ <code title="attr-meter-low">low</code> ≤ <var title="">maximum</var> (if <code title="attr-meter-low">low</code> is specified)</li>
-     <li><var title="">minimum</var> ≤ <code title="attr-meter-high">high</code> ≤ <var title="">maximum</var> (if <code title="attr-meter-high">high</code> is specified)</li>
-     <li><var title="">minimum</var> ≤ <code title="attr-meter-optimum">optimum</code> ≤ <var title="">maximum</var> (if <code title="attr-meter-optimum">optimum</code> is specified)</li>
-    </ul>
-
-    <p>If both the <code title="attr-meter-low">low</code> and <code
-    title="attr-meter-high">high</code> attributes are specified, then
-    the <code title="attr-meter-low">low</code> attribute's value must
-    be less than or equal to the value of the <code
-    title="attr-meter-high">high</code> attribute.</p>
-
-    <p>If the <code title="attr-meter-value">value</code> attribute is
-    not specified, the number in the contents of the element must not
-    be followed by a <span title="valid denominator punctuation
-    character">denominator punctuation character</span>. (Otherwise,
-    there is no restriction on what numbers can be in the contents of
-    the element.)</p>
-
-   </dd>
-
-  </dl>
-
-  <!-- next three paragraphs are also in the <progress> section -->
-  <p>For the purposes of these requirements, a number is a sequence of
-  characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
-  (9), optionally including a single U+002E FULL STOP character (.) in
-  some position after the first digit and before the last digit,
-  interpreted as a base ten number. Numbers must be separated from
-  other numbers by at least one character that isn't any of the
-  aforementioned. In addition, if the element is required to contain
-  numbers, then the contents of the element must not contain any
-  U+002E FULL STOP characters (.) that aren't part of numbers.</p>
-
-  <p>A number if said to be followed by a <span title="valid
-  denominator punctuation character">denominator punctuation
-  character</span> if it is followed by zero or more
-  <span>White_Space</span> characters and a <span>valid denominator
-  punctuation character</span>.</p>
-
-  <p>The contents of the element consist of the concatenation of
-  the <span title="text node">text nodes</span> of all the descendants
-  of the element, in <span>tree order</span>.</p>
-  <!-- previous three paragraphs are also in the <progress> section -->
-
-  <p>The <code title="attr-meter-value">value</code>, <code
+  <p><strong class="impl">Authoring requirements</strong>: The <code
+  title="attr-meter-value">value</code> attribute must be
+  specified. The <code title="attr-meter-value">value</code>, <code
   title="attr-meter-min">min</code>, <code
   title="attr-meter-low">low</code>, <code
   title="attr-meter-high">high</code>, <code
@@ -18797,29 +18380,57 @@
   must have values that are <span title="valid floating point
   number">valid floating point numbers</span>.</p>
 
+  <p>In addition, the attributes' values are further constrained:</p>
+
+  <p>Let <var title="">value</var> be the <code
+  title="attr-meter-value">value</code> attribute's number.</p>
+
+  <p>If the <code title="attr-meter-min">min</code> attribute
+  attribute is specified, then let <var title="">minimum</var> be that
+  attribute's value; otherwise, let it be zero.</p>
+
+  <p>If the <code title="attr-meter-max">max</code> attribute
+  attribute is specified, then let <var title="">maximum</var> be that
+  attribute's value; otherwise, let it be 1.0.</p>
+
+  <p>The following inequalities must hold, as applicable:</p>
+
+  <ul class="brief">
+   <li><var title="">minimum</var> ≤ <var title="">value</var> ≤ <var title="">maximum</var></li>
+   <li><var title="">minimum</var> ≤ <code title="attr-meter-low">low</code> ≤ <var title="">maximum</var> (if <code title="attr-meter-low">low</code> is specified)</li>
+   <li><var title="">minimum</var> ≤ <code title="attr-meter-high">high</code> ≤ <var title="">maximum</var> (if <code title="attr-meter-high">high</code> is specified)</li>
+   <li><var title="">minimum</var> ≤ <code title="attr-meter-optimum">optimum</code> ≤ <var title="">maximum</var> (if <code title="attr-meter-optimum">optimum</code> is specified)</li>
+  </ul>
+
+  <p>If both the <code title="attr-meter-low">low</code> and <code
+  title="attr-meter-high">high</code> attributes are specified, then
+  the <code title="attr-meter-low">low</code> attribute's value must
+  be less than or equal to the value of the <code
+  title="attr-meter-high">high</code> attribute.</p>
+
   <p class="note">If no minimum or maximum is specified, then the
   range is assumed to be 0..1, and the value thus has to be within
   that range.</p>
 
+  <p>Authors are encouraged to include a textual representation of the
+  gauge's state in the element's contents, for users of user agents
+  that do not support the <code>meter</code> element.</p>
+
   <div class="example">
 
-   <p>The following examples all represent a measurement of three
-   quarters (of the maximum of whatever is being measured):</p>
+   <p>The following examples show three gauges that would all be
+   three-quarters full:</p>
 
-   <pre><meter>75%</meter>
-<meter>750&#x2030;</meter>
-<meter>3/4</meter>
-<meter>6 blocks used (out of 8 total)</meter>
-<meter>max: 100; current: 75</meter>
-<meter><object data="graph75.png">0.75</object></meter> <!-- using <span class="bad"><img alt="0.75" ...></span> wouldn't work; the alt would be ignored -->
-<meter min="0" max="100" value="75"></meter></pre>
+   <pre>Storage space usage: <meter value=6 max=8>6 blocks used (out of 8 total)</meter>
+Voter turnout: <meter value=0.75><img alt="75%" src="graph75.png"></meter>
+Tickets sold: <meter min="0" max="100" value="75"></meter></pre>
 
    <p>The following example is incorrect use of the element, because
    it doesn't give a range (and since the default maximum is 1, both
    of the gauges would end up looking maxed out):</p>
 
-   <pre class="bad"><p>The grapefruit pie had a radius of <meter>12cm</meter>
-and a height of <meter>2cm</meter>.</p> <!-- <strong>BAD!</strong> --></pre>
+   <pre class="bad"><p>The grapefruit pie had a radius of <meter value=12>12cm</meter>
+and a height of <meter value=2>2cm</meter>.</p> <!-- <strong>BAD!</strong> --></pre>
 
    <p>Instead, one would either not include the meter element, or use
    the meter element with a defined range to give the dimensions in
@@ -18860,14 +18471,6 @@
   title="attr-meter-optimum">optimum</code> attributes using the
   <span>rules for parsing floating point number values</span>.</p>
 
-  <p>If the <code title="attr-meter-value">value</code> attribute has
-  been omitted, the user agent must also process the
-  <code>textContent</code> of the element according to the <span>steps
-  for finding one or two numbers of a ratio in a string</span>. These
-  steps will return nothing, one number, one number with a <span
-  title="valid denominator punctuation character">denominator
-  punctuation character</span>, or two numbers.</p>
-
   <p>User agents must then use all these numbers to obtain values for
   six points on the gauge, as follows. (The order in which these are
   evaluated is important, as some of the values refer to earlier
@@ -18888,36 +18491,12 @@
    <dd>
 
     <p>If the <code title="attr-meter-max">max</code> attribute is
-    specified and a value could be parsed out of it, the maximum
-    value is that value.</p>
+    specified and a value could be parsed out of it, the maximum value
+    is that value. Otherwise, the maximum value is 1.0.</p>
 
-    <p>Otherwise, if the <code title="attr-meter-max">max</code>
-    attribute is specified but no value could be parsed out of it, or
-    if it was not specified, but either or both of the <code
-    title="attr-meter-min">min</code> or <code
-    title="attr-meter-value">value</code> attributes <em>were</em>
-    specified, then the maximum value is 1.</p>
+    <p>If the maximum value would be less than the minimum value, then
+    the maximum value is actually the same as the minimum value.</p>
 
-    <p>Otherwise, none of the <code title="attr-meter-max">max</code>,
-    <code title="attr-meter-min">min</code>, and <code
-    title="attr-meter-value">value</code> attributes were
-    specified. If the result of processing the
-    <code>textContent</code> of the element was either nothing or just
-    one number with no <span title="valid denominator punctuation
-    character">denominator punctuation character</span>, then the
-    maximum value is 1; if the result was one number but it had an
-    associated <span title="valid denominator punctuation
-    character">denominator punctuation character</span>, then the
-    maximum value is the <span title="values associated with
-    denominator punctuation characters">value associated with that
-    denominator punctuation character</span>; and finally, if there
-    were two numbers parsed out of the <code>textContent</code>, then
-    the maximum is the higher of those two numbers.</p>
-
-    <p>If the above machinations result in a maximum value less than
-    the minimum value, then the maximum value is actually the same as
-    the minimum value.</p>
-
    </dd>
 
    <dt>The actual value</dt>
@@ -18926,37 +18505,14 @@
 
     <p>If the <code title="attr-meter-value">value</code> attribute is
     specified and a value could be parsed out of it, then that value
-    is the actual value.</p>
+    is the actual value. Otherwise, the actual value is zero.</p>
 
-    <p>If the <code title="attr-meter-value">value</code> attribute is
-    not specified but the <code title="attr-meter-max">max</code>
-    attribute <em>is</em> specified and the result of processing the
-    <code>textContent</code> of the element was one number with no
-    associated <span title="valid denominator punctuation
-    character">denominator punctuation character</span>, then that
-    number is the actual value.</p>
+    <p>If the actual value would be less than the minimum value, then
+    the actual value is actually the same as the minimum value.</p>
 
-    <p>If neither of the <code title="attr-meter-value">value</code>
-    and <code title="attr-meter-max">max</code> attributes are
-    specified, then, if the result of processing the
-    <code>textContent</code> of the element was one number (with or
-    without an associated <span title="valid denominator punctuation
-    character">denominator punctuation character</span>), then that is
-    the actual value, and if the result of processing the
-    <code>textContent</code> of the element was two numbers, then the
-    actual value is the lower of the two numbers found.</p>
+    <p>If, on the other hand, the actual value would be greater than
+    the maximum value, then the actual value is the maximum value.</p>
 
-    <p>Otherwise, if none of the above apply, the actual value is
-    zero.</p>
-
-    <p>If the above procedure results in an actual value less than
-    the minimum value, then the actual value is actually the same as
-    the minimum value.</p>
-
-    <p>If, on the other hand, the result is an actual value greater
-    than the maximum value, then the actual value is the maximum
-    value.</p>
-
    </dd>
 
    <dt>The low boundary</dt>
@@ -19099,17 +18655,14 @@
   title="dom-meter-optimum"><code>optimum</code></dfn> IDL attributes
   must <span>reflect</span> the respective content attributes of the
   same name. When the relevant content attributes are absent, the IDL
-  attributes must return zero. The value parsed from the
-  <code>textContent</code> never affects the DOM values.</p>
+  attributes must return zero.</p>
 
   </div>
 
   <div class="example">
 
    <p>The following example shows how a gauge could fall back to
-   localized or pretty-printed text. The attributes have to be used in
-   this case, since the localized or pretty-printed numbers might not
-   match the simple expected syntax.</p>
+   localized or pretty-printed text.</p>
 
    <pre><p>Disk usage: <meter min=0 value=170261928 max=233257824>170&#x2009;261&#x2009;928 bytes used
 out of 233&#x2009;257&#x2009;824 bytes available</meter></p></pre>
@@ -19504,12 +19057,12 @@
     <tr>
      <td><code>progress</code>
      <td>Progress bar
-     <td><pre class="example">Copying: <strong><progress>75%</progress></strong></pre>
+     <td><pre class="example">Copying: <strong><progress value=0.75>75%</progress></strong></pre>
 
     <tr>
      <td><code>meter</code>
      <td>Gauge
-     <td><pre class="example">Disk space remaining: <strong><meter>75%<meter></strong></pre>
+     <td><pre class="example">Disk space remaining: <strong><meter value=0.75>75%<meter></strong></pre>
 
     <tr>
      <td><code>ruby</code>, <code>rt</code>, <code>rp</code>




More information about the Commit-Watchers mailing list