HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
2273WF2: required constraint.2008-10-03 02:11
@@ -25369,21 +25369,21 @@ function AddCloud(data, x, y) { ... }</pre>
   <p>The <code>label</code> element's exact default presentation and
   behavior, in particular what its <span>activation behavior</span>
   might be, if anything, should match the platform's label
   behavior.</p>
 
   <div class="example">
 
    <p>For example, on platforms where clicking a checkbox label checks
    the checkbox, clicking the <code>label</code> in the following
    snippet could trigger the user agent to <span>run synthetic click
-   activation steps</psna> on the <code>input</code> element, as if
+   activation steps</span> on the <code>input</code> element, as if
    the element itself had been triggered by the user:</p>
 
    <pre>&lt;label>&lt;input type=checkbox name=lost> Lost&lt;/label></pre>
 
    <p>On other platforms, the behavior might be just to focus the
    control, or do nothing.</p>
 
   </div>
 
   <p>The <code title="attr-fae-form">form</code> attribute is used to
@@ -25982,21 +25982,21 @@ function AddCloud(data, x, y) { ... }</pre>
 <!-- <td class="yes"> Yes      E-mail -->
 <!-- <td class="yes"> Yes      URL -->
      <td class="yes"> Yes <!-- Password -->
      <td class="yes"> Yes <!-- Date and Time -->
 <!-- <td class="yes"> Yes      Date -->
 <!-- <td class="yes"> Yes      Month -->
 <!-- <td class="yes"> Yes      Week -->
 <!-- <td class="yes"> Yes      Time -->
      <td class="yes"> Yes <!-- Local Date and Time -->
 <!-- <td class="yes"> Yes      Number -->
-     <td class="yes"> Yes <!-- Range -->
+     <td class="no"> &middot; <!-- Range -->
      <td class="yes"> Yes <!-- Checkbox -->
 <!-- <td class="yes"> Yes      Radio Button -->
      <td class="yes"> Yes <!-- File -->
      <td class="no"> &middot; <!-- Submit Button -->
      <td class="no"> &middot; <!-- Image Button -->
      <td class="no"> &middot; <!-- Reset Button -->
 <!-- <td class="no"> &middot;      Button -->
 
     <tr>
      <th> <code title="attr-input-size">size</code>
@@ -26443,22 +26443,22 @@ function AddCloud(data, x, y) { ... }</pre>
 
 
 
   <h5>States of the <code title="attr-input-type">type</code> attribute</h5>
 
   <!-- XXX for things that say "express it as a valid foo", make sure
   that valid foo is unambiguous, and if not, define a canonical
   serialisation. e.g. should it be 2008-01-01T00:00 or
   2008-01-01t00:00? should it be 1e2 or 100? -->
 
-  <!-- XXX for each of these, need to say when to fire oninput,
-  onchange, and when required='' is satisfied -->
+  <!-- XXX for each of these, need to say when to fire oninput and
+  onchange -->
 
 
 
   <h6><dfn title="attr-input-type-hidden">Hidden</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code
   title="attr-input-type">type</code> attribute is in the <span
   title="attr-input-type-hidden">Hidden</span> state, the rules in
   this section apply.</p>
 
@@ -27740,22 +27740,21 @@ function AddCloud(data, x, y) { ... }</pre>
   title="concept-input-value-number-string">algorithm to convert a
   number to a string</span>, given a number <var title="">input</var>,
   is as follows:</strong> Return a <span>valid floating point
   number</span> that represents <var title="">input</var>.</p>
 
   <p>The following common <code>input</code> element content
   attributes, DOM attributes, and methods apply to the element:
   <code title="attr-input-autocomplete">autocomplete</code>,
   <code title="attr-input-list">list</code>,
   <code title="attr-input-max">max</code>,
-  <code title="attr-input-min">min</code>,
-  <code title="attr-input-required">required</code>, and
+  <code title="attr-input-min">min</code>, and
   <code title="attr-input-step">step</code> content attributes;
   <code title="dom-input-list">list</code>,
   <code title="dom-input-value">value</code>,
   <code title="dom-input-valueAsNumber">valueAsNumber</code>, and
   <code title="dom-input-selectedOption">selectedOption</code> DOM attributes;
   <code title="dom-input-stepUp">stepUp()</code>, and
   <code title="dom-input-stepDown">stepDown()</code> methods.</p>
 
   <p>The <code title="dom-input-value">value</code> DOM attribute is
   in mode <span title="dom-input-value-value">value</span>.</p>
@@ -27764,20 +27763,21 @@ function AddCloud(data, x, y) { ... }</pre>
   apply to the element:
   <code class="no-backref" title="attr-input-accept">accept</code>,
   <code class="no-backref" title="attr-fs-action">action</code>,
   <code class="no-backref" title="attr-input-alt">alt</code>,
   <code class="no-backref" title="attr-input-checked">checked</code>,
   <code class="no-backref" title="attr-fs-enctype">enctype</code>,
   <code class="no-backref" title="attr-input-maxlength">maxlength</code>,
   <code class="no-backref" title="attr-fs-method">method</code>,
   <code class="no-backref" title="attr-input-pattern">pattern</code>,
   <code class="no-backref" title="attr-input-readonly">readonly</code>,
+  <code class="no-backref" title="attr-input-required">required</code>,
   <code class="no-backref" title="attr-input-size">size</code>,
   <code class="no-backref" title="attr-input-src">src</code>, and
   <code class="no-backref" title="attr-fs-target">target</code>.</p>
 
   <p>The following DOM attributes do not apply to the element:
   <code class="no-backref" title="dom-input-valueAsDate">valueAsDate</code> and
   <code class="no-backref" title="dom-input-checked">checked</code>.</p>
 
 
 
@@ -27792,21 +27792,26 @@ function AddCloud(data, x, y) { ... }</pre>
   that represents the element's <span
   title="concept-fe-checked">checkedness</span> state. If the
   element's <span title="concept-fe-checked">checkedness</span> state
   is true, the control represents a positive selection, and if it is
   false, a negative selection.</p>
 
   <p>If the element is <i title="concept-input-mutable">mutable</i>,
   the user should allow the user to toggle the <span
   title="concept-fe-checked">checkedness</span> state.</p>
 
-  <!-- XXX event timing; acivation behavior -->
+  <p><strong>Constraint validation:</strong> If the element is <i
+  title="concept-input-required">required</i> and its <span
+  title="concept-fe-checkedness">checkedness</span> is false, then the
+  element is <span>suffering from being missing</span>.</p>
+
+  <!-- XXX event timing; activation behavior -->
 
   <p><strong>The <span>value sanitization algorithm</span> is as
   follows:</strong> Do nothing.</p>
 
   <p>The following common <code>input</code> element content
   attributes and DOM attributes apply to the element:
   <code title="attr-input-checked">checked</code>, and
   <code title="attr-input-required">required</code> content attributes;
   <code title="dom-input-checked">checked</code> and
   <code title="dom-input-value">value</code> DOM attributes.</p>
@@ -27884,22 +27889,20 @@ function AddCloud(data, x, y) { ... }</pre>
   </ul>
 
   <p>A document must not contain an <code>input</code> element whose
   <i>radio button group</i> contains only that element.</p>
 
   <p>If the element is <i title="concept-input-mutable">mutable</i>,
   the user should allow the user to set the <span
   title="concept-fe-checked">checkedness</span> state of the
   element to true.</p>
 
-  <!-- XXX event timing; acivation behavior -->
-
   <p>When any of the following events occur, if the element's <span
   title="concept-fe-checked">checkedness</span> state is true after
   the event, the <span
   title="concept-fe-checked">checkedness</span> state of all the
   other elements in the same <i>radio button group</i> must be set to
   false:</p> <!-- XXX event firing order and timing -->
 
   <ul>
 
    <li>The element's <span
@@ -27907,20 +27910,29 @@ function AddCloud(data, x, y) { ... }</pre>
    true (for whatever reason).</li>
 
    <li>The element's <code title="attr-fe-name">name</code>
    attribute is added, removed, or changes value<!-- XXX setting to
    the same value? -->.</li>
 
    <li>The element's <span>form owner</span> changes.</li>
 
   </ul>
 
+  <p><strong>Constraint validation:</strong> If the element is <i
+  title="concept-input-required">required</i> and all of the
+  <code>input</code> elements in the <i>radio button group</i> have a
+  <span title="concept-fe-checkedness">checkedness</span> that is
+  false, then the element is <span>suffering from being
+  missing</span>.</p>
+
+  <!-- XXX event timing; activation behavior -->
+
   <p><strong>The <span>value sanitization algorithm</span> is as
   follows:</strong> Do nothing.</p>
 
   <p>The following common <code>input</code> element content
   attributes and DOM attributes apply to the element:
   <code title="attr-input-checked">checked</code> and
   <code title="attr-input-required">required</code> content attributes;
   <code title="dom-input-checked">checked</code> and
   <code title="dom-input-value">value</code> DOM attributes.</p>
 
@@ -27998,20 +28010,26 @@ function AddCloud(data, x, y) { ... }</pre>
   </dl>
 
   <p>The values must not be <span>ASCII case-insensitive</span>
   matches for any of the other values (i.e. duplicates are not
   allowed).</p>
 
   <!-- XXX the selected file(s) must either have the given types or be of the given category -->
 
   <p class="XXX">... list of <dfn title="concept-input-type-file-selected">selected files</dfn></p>
 
+  <p><strong>Constraint validation:</strong> If the element is <i
+  title="concept-input-required">required</i> and the list of <span
+  title="concept-input-type-file-selected">selected files</span> is
+  empty, then the element is <span>suffering from being
+  missing</span>.</p>
+
 
 
   <h6><dfn title="attr-input-type-submit">Submit Button</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code
   title="attr-input-type">type</code> attribute is in the <span
   title="attr-input-type-submit">Submit Button</span> state, the rules
   in this section apply.</p>
 
   <p>The <code>input</code> element represents a button that, when
@@ -28329,21 +28347,32 @@ function AddCloud(data, x, y) { ... }</pre>
 
 
   <h6>The <code title="attr-input-size">size</code> attribute</h6>
 
   <p class="XXX">... <dfn title="attr-input-size"><code>size</code></dfn></p>
 
 
 
   <h6>The <code title="attr-input-required">required</code> attribute</h6>
 
-  <p class="XXX">... <dfn title="attr-input-required"><code>required</code></dfn></p>
+  <p>The <dfn title="attr-input-required"><code>required</code></dfn>
+  attribute is a <span>boolean attribute</span>. When specified, the
+  element is <dfn
+  title="concept-input-required"><i>required</i></dfn>.</p>
+
+  <p><strong>Constraint validation:</strong> If the element is <i
+  title="concept-input-required">required</i>, and its <code
+  title="dom-input-value">value</code> DOM attribute applies and is in
+  the mode <span title="dom-input-value-value">value</span>, and the
+  element's <span title="concept-fe-value">value</span> is the empty
+  string, then the element is <span>suffering from being
+  missing</span>.</p>
 
 
 
   <h6>The <code title="attr-input-maxlength">maxlength</code> attribute</h6>
 
   <p>The <dfn
   title="attr-input-maxlength"><code>maxlength</code></dfn> attribute
   allows authors to specify the maximum length allowed for user
   input.</p>
 
@@ -29357,20 +29386,22 @@ interface <dfn>HTMLOptionElement</dfn> : <span>HTMLElement</span> {
   element</span> is a <dfn>candidate for constraint validation</dfn>
   unless a condition has <dfn title="barred from constraint
   validation">barred the element from constraint
   validation</dfn>. (For example, an element is <span>barred from
   constraint validation</span> if it is an <code>output</code> or
   <code>fieldset</code> element.)</p>
 
   <p class="XXX">An element <dfn
   title="concept-fv-valid">satisfies its constraints</dfn> if ...</p>
 
+  <p class="XXX">... <dfn>suffering from being missing</dfn></p>
+
   <p class="XXX">... <dfn>suffering from a type
   mismatch</dfn></p>
 
   <p class="XXX">... <dfn>suffering from being too
   long</dfn></p>
 
   <p class="XXX">... <dfn>suffering from an underflow</dfn></p>
 
   <p class="XXX">... <dfn>suffering from an overflow</dfn></p>
 

|