HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
2227WF2: <input type=email>.2008-09-24 02:10
@@ -25545,21 +25545,21 @@ function AddCloud(data, x, y) { ... }</pre>
      <td class="no"> &middot; <!-- Hidden -->
      <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-autocomplete">autocomplete</code>
      <td class="yes"> Yes <!-- Text -->
      <td class="yes"> Yes <!-- Password -->
-     <td class="no"> &middot; <!-- E-mail -->
+     <td class="yes"> Yes <!-- E-mail -->
      <td class="no"> &middot; <!-- URL -->
      <td class="no"> &middot; <!-- Date and Time -->
      <td class="no"> &middot; <!-- Local Date and Time -->
      <td class="no"> &middot; <!-- Date -->
      <td class="no"> &middot; <!-- Month -->
      <td class="no"> &middot; <!-- Week -->
      <td class="no"> &middot; <!-- Time -->
      <td class="no"> &middot; <!-- Number -->
      <td class="no"> &middot; <!-- Range -->
      <td class="no"> &middot; <!-- Checkbox -->
@@ -25614,21 +25614,21 @@ function AddCloud(data, x, y) { ... }</pre>
      <td class="no"> &middot; <!-- Hidden -->
      <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-list">list</code>
      <td class="yes"> Yes <!-- Text -->
      <td class="no"> &middot; <!-- Password -->
-     <td class="no"> &middot; <!-- E-mail -->
+     <td class="yes"> Yes <!-- E-mail -->
      <td class="no"> &middot; <!-- URL -->
      <td class="no"> &middot; <!-- Date and Time -->
      <td class="no"> &middot; <!-- Local Date and Time -->
      <td class="no"> &middot; <!-- Date -->
      <td class="no"> &middot; <!-- Month -->
      <td class="no"> &middot; <!-- Week -->
      <td class="no"> &middot; <!-- Time -->
      <td class="no"> &middot; <!-- Number -->
      <td class="no"> &middot; <!-- Range -->
      <td class="no"> &middot; <!-- Checkbox -->
@@ -25660,21 +25660,21 @@ function AddCloud(data, x, y) { ... }</pre>
      <td class="no"> &middot; <!-- Hidden -->
      <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-maxlength">maxlength</code>
      <td class="yes"> Yes <!-- Text -->
      <td class="yes"> Yes <!-- Password -->
-     <td class="no"> &middot; <!-- E-mail -->
+     <td class="yes"> Yes <!-- E-mail -->
      <td class="no"> &middot; <!-- URL -->
      <td class="no"> &middot; <!-- Date and Time -->
      <td class="no"> &middot; <!-- Local Date and Time -->
      <td class="no"> &middot; <!-- Date -->
      <td class="no"> &middot; <!-- Month -->
      <td class="no"> &middot; <!-- Week -->
      <td class="no"> &middot; <!-- Time -->
      <td class="no"> &middot; <!-- Number -->
      <td class="no"> &middot; <!-- Range -->
      <td class="no"> &middot; <!-- Checkbox -->
@@ -25729,21 +25729,21 @@ function AddCloud(data, x, y) { ... }</pre>
      <td class="no"> &middot; <!-- Hidden -->
      <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-pattern">pattern</code>
      <td class="yes"> Yes <!-- Text -->
      <td class="yes"> Yes <!-- Password -->
-     <td class="no"> &middot; <!-- E-mail -->
+     <td class="yes"> Yes <!-- E-mail -->
      <td class="no"> &middot; <!-- URL -->
      <td class="no"> &middot; <!-- Date and Time -->
      <td class="no"> &middot; <!-- Local Date and Time -->
      <td class="no"> &middot; <!-- Date -->
      <td class="no"> &middot; <!-- Month -->
      <td class="no"> &middot; <!-- Week -->
      <td class="no"> &middot; <!-- Time -->
      <td class="no"> &middot; <!-- Number -->
      <td class="no"> &middot; <!-- Range -->
      <td class="no"> &middot; <!-- Checkbox -->
@@ -25752,21 +25752,21 @@ function AddCloud(data, x, y) { ... }</pre>
      <td class="no"> &middot; <!-- Hidden -->
      <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-readonly">readonly</code>
      <td class="yes"> Yes <!-- Text -->
      <td class="yes"> Yes <!-- Password -->
-     <td class="no"> &middot; <!-- E-mail -->
+     <td class="yes"> Yes <!-- E-mail -->
      <td class="no"> &middot; <!-- URL -->
      <td class="no"> &middot; <!-- Date and Time -->
      <td class="no"> &middot; <!-- Local Date and Time -->
      <td class="no"> &middot; <!-- Date -->
      <td class="no"> &middot; <!-- Month -->
      <td class="no"> &middot; <!-- Week -->
      <td class="no"> &middot; <!-- Time -->
      <td class="no"> &middot; <!-- Number -->
      <td class="no"> &middot; <!-- Range -->
      <td class="no"> &middot; <!-- Checkbox -->
@@ -25775,21 +25775,21 @@ function AddCloud(data, x, y) { ... }</pre>
      <td class="no"> &middot; <!-- Hidden -->
      <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-required">required</code>
      <td class="yes"> Yes <!-- Text -->
      <td class="yes"> Yes <!-- Password -->
-     <td class="no"> &middot; <!-- E-mail -->
+     <td class="yes"> Yes <!-- E-mail -->
      <td class="no"> &middot; <!-- URL -->
      <td class="no"> &middot; <!-- Date and Time -->
      <td class="no"> &middot; <!-- Local Date and Time -->
      <td class="no"> &middot; <!-- Date -->
      <td class="no"> &middot; <!-- Month -->
      <td class="no"> &middot; <!-- Week -->
      <td class="no"> &middot; <!-- Time -->
      <td class="no"> &middot; <!-- Number -->
      <td class="no"> &middot; <!-- Range -->
      <td class="no"> &middot; <!-- Checkbox -->
@@ -25798,21 +25798,21 @@ function AddCloud(data, x, y) { ... }</pre>
      <td class="no"> &middot; <!-- Hidden -->
      <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>
      <td class="yes"> Yes <!-- Text -->
      <td class="yes"> Yes <!-- Password -->
-     <td class="no"> &middot; <!-- E-mail -->
+     <td class="yes"> Yes <!-- E-mail -->
      <td class="no"> &middot; <!-- URL -->
      <td class="no"> &middot; <!-- Date and Time -->
      <td class="no"> &middot; <!-- Local Date and Time -->
      <td class="no"> &middot; <!-- Date -->
      <td class="no"> &middot; <!-- Month -->
      <td class="no"> &middot; <!-- Week -->
      <td class="no"> &middot; <!-- Time -->
      <td class="no"> &middot; <!-- Number -->
      <td class="no"> &middot; <!-- Range -->
      <td class="no"> &middot; <!-- Checkbox -->
@@ -25959,21 +25959,21 @@ function AddCloud(data, x, y) { ... }</pre>
      <td class="no"> &middot; <!-- Hidden -->
      <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="dom-input-list">list</code>
      <td class="yes"> Yes <!-- Text -->
      <td class="no"> &middot; <!-- Password -->
-     <td class="no"> &middot; <!-- E-mail -->
+     <td class="yes"> Yes <!-- E-mail -->
      <td class="no"> &middot; <!-- URL -->
      <td class="no"> &middot; <!-- Date and Time -->
      <td class="no"> &middot; <!-- Local Date and Time -->
      <td class="no"> &middot; <!-- Date -->
      <td class="no"> &middot; <!-- Month -->
      <td class="no"> &middot; <!-- Week -->
      <td class="no"> &middot; <!-- Time -->
      <td class="no"> &middot; <!-- Number -->
      <td class="no"> &middot; <!-- Range -->
      <td class="no"> &middot; <!-- Checkbox -->
@@ -25982,21 +25982,21 @@ function AddCloud(data, x, y) { ... }</pre>
      <td class="no"> &middot; <!-- Hidden -->
      <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="dom-input-selectedOption">selectedOption</code>
      <td class="yes"> Yes <!-- Text -->
      <td class="no"> &middot; <!-- Password -->
-     <td class="no"> &middot; <!-- E-mail -->
+     <td class="yes"> Yes <!-- E-mail -->
      <td class="no"> &middot; <!-- URL -->
      <td class="no"> &middot; <!-- Date and Time -->
      <td class="no"> &middot; <!-- Local Date and Time -->
      <td class="no"> &middot; <!-- Date -->
      <td class="no"> &middot; <!-- Month -->
      <td class="no"> &middot; <!-- Week -->
      <td class="no"> &middot; <!-- Time -->
      <td class="no"> &middot; <!-- Number -->
      <td class="no"> &middot; <!-- Range -->
      <td class="no"> &middot; <!-- Checkbox -->
@@ -26343,21 +26343,110 @@ function AddCloud(data, x, y) { ... }</pre>
   <code class="no-backref" title="dom-input-stepDown">stepDown()</code>.</p>
 
 
 
   <h6><dfn title="attr-input-type-email">E-mail</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-email-keyword">email</code>,
   it is in the <span title="attr-input-type-email">E-mail</span> state.</p>
 
-  <p class="big-issue">...</p>
+  <p>When an <code>input</code> element's <code
+  title="attr-input-type">type</code> attribute is in the <span
+  title="attr-input-type-email">E-mail</span> state, the element
+  represents a control for editing a single e-mail address given in
+  the element's <span title="concept-fe-value">value</span>.</p>
+
+  <p>If an <code>input</code> element whose <code
+  title="attr-input-type">type</code> attribute is in the <span
+  title="attr-input-type-email">E-mail</span> state is <i
+  title="concept-input-mutable">mutable</i>, the user should allow the
+  user to change the e-mail address represented by its <span
+  title="concept-fe-value">value</span>. User agents may allow the
+  user to set the <span title="concept-fe-value">value</span> to a
+  string that is not an e-mail address. User agents should allow the
+  user to set the <span title="concept-fe-value">value</span> to the
+  empty string. User agents must not allow users to insert U+000A LINE
+  FEED (LF) or U+000D CARRIAGE RETURN (CR) characters into the <span
+  title="concept-fe-value">value</span> of such <code>input</code>
+  elements.</p>
+
+  <p><strong>The <span title="attr-input-type-email">E-mail</span>
+  state's <span>control initialization algorithm</span> is as
+  follows:</strong> <span>Strip line breaks from the
+  value</span>.</p>
+
+  <!-- XXX autocomplete? -->
+
+  <p><strong>The <span title="attr-input-type-email">E-mail</span>
+  state's <span>default value change algorithm</span> is as
+  follows:</strong> If the <code>input</code> element is not <i
+  title="concept-input-dirty">dirty</i> then set the <span
+  title="concept-fe-value">value</span> of the element to the value of
+  the <code title="attr-input-value">value</code> content attribute
+  and <span>strip line breaks from the value</span>.</p>
+
+  <p><strong>The <span title="attr-input-type-email">E-mail</span>
+  state's <span><code title="dom-input-value">value</code> setter
+  algorithm</span> is as follows:</strong> Set the <span
+  title="concept-fe-value">value</span> of the element to the new
+  value and <span>strip line breaks from the value</span>.</p>
+
+  <p><strong>Constraint validation:</strong> While the <span
+  title="concept-fe-value">value</span> of the element does not match
+  the <code>addr-spec</code> token defined in RFC 2822 section 3.4.1,
+  excluding the <code>CFWS</code> subtoken everywhere, and excluding
+  the <code>FWS</code> subtoken everywhere except in the
+  <code>quoted-string</code> subtoken, the element is <span>suffering
+  from a type mismatch</span>. <a href="#refsRFC2822">[RFC2822]</a>
+
+  <p>When an <code>input</code> element's <code
+  title="attr-input-type">type</code> attribute is in the <span
+  title="attr-input-type-email">E-mail</span> state, 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-maxlength">maxlength</code>,
+  <code title="attr-input-pattern">pattern</code>,
+  <code title="attr-input-readonly">readonly</code>,
+  <code title="attr-input-required">required</code>, and
+  <code title="attr-input-size">size</code> content attributes;
+  <code title="dom-input-list">list</code>, and
+  <code title="dom-input-selectedOption">selectedOption</code> DOM attributes.
+
+  <p>When an <code>input</code> element's <code
+  title="attr-input-type">type</code> attribute is in the <span
+  title="attr-input-type-email">E-mail</span> state, the following
+  content attributes must not be specified and do not apply to the
+  element:
+  <code class="no-backref" title="attr-input-accept">accept</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-input-max">max</code>,
+  <code class="no-backref" title="attr-input-min">min</code>,
+  <code class="no-backref" title="attr-input-src">src</code>,
+  <code class="no-backref" title="attr-input-step">step</code>,
+  <code class="no-backref" title="attr-fs-target">target</code>,
+  <code class="no-backref" title="attr-fs-method">method</code>,
+  <code class="no-backref" title="attr-fs-enctype">enctype</code>, and
+  <code class="no-backref" title="attr-fs-action">action</code>.</p>
+
+  <p>When an <code>input</code> element's <code
+  title="attr-input-type">type</code> attribute is in the <span
+  title="attr-input-type-email">E-mail</span> state, the following DOM
+  attributes and methods do not apply to the element:
+  <code class="no-backref" title="dom-input-checked">checked</code>,
+  <code class="no-backref" title="dom-input-valueAsDate">valueAsDate</code>,
+  <code class="no-backref" title="dom-input-valueAsNumber">valueAsNumber</code>,
+  <code class="no-backref" title="dom-input-stepUp">stepUp()</code>, and
+  <code class="no-backref" title="dom-input-stepDown">stepDown()</code>.</p>
 
 
 
   <h6><dfn title="attr-input-type-url">URL</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-url-keyword">url</code>,
   it is in the <span title="attr-input-type-url">URL</span> state.</p>
 
   <p class="big-issue">...</p>
@@ -27377,20 +27466,23 @@ 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="big-issue">An element <dfn
   title="concept-fv-valid">satisfies its constraints</dfn> if ...</p>
 
+  <p class="big-issue">... <dfn>suffering from a type
+  mismatch</dfn></p>
+
 
 
   <h5>Constraint validation</h5>
 
   <p>When the user agent is required to <dfn>statically validate the
   constraints</dfn> of <code>form</code> element <var
   title="">form</var>, it must run the following steps, which return
   either a <i>positive</i> result (all the controls in the form are
   valid) or a <i>negative</i> result (there are invalid controls)
   along with a (possibly empty) list of elements that are invalid and
@@ -54694,21 +54786,21 @@ TODO (or delay):
        other, not to the document"
        -> web apps?
  XXX * make optgroups selectable if they have a value.
  XXX * make select widgets have multiple columns
        or ->web apps with list view
  XXX * required as a group (one of the following must be available):
        + i propose something like the following:
            <input type="text" group="contact" name="voicephone"> Voice phone
            <input type="text" group="contact" name="fax"> Fax
            <input type="text" group="contact" name="mobile"> Mobile phone
-           <input type="text" group="contact" name="email"> Email
+           <input type="text" group="contact" name="email"> E-mail
          if the user fills out none of the form fields in the "contact"
          group, an error message is shown and the form is not submitted.
          - Peter-Paul Koch
  XXX * use the sample widgets:
           <li><img alt="A text field with editable sections for each
           value, with a button to pop up a dialog showing a calendar or
           clock." src="sample-datetime-ui-2"></li>
           <li><img alt="A calendar grid with a clock in the upper right
           hand corner." src="sample-datetime-ui-3"></li>
  XXX * formatting of number fields, text fields, etc, so that when the

|