Short URL: http://html5.org/r/2227
| SVN | Bug | Comment | Time (UTC) |
|---|---|---|---|
| 2227 | WF2: <input type=email>. | 2008-09-24 02:10 |
Index: source
===================================================================
--- source (revision 2226)
+++ source (revision 2227)
@@ -25552,7 +25552,7 @@
<th> <code title="attr-input-autocomplete">autocomplete</code>
<td class="yes"> Yes <!-- Text -->
<td class="yes"> Yes <!-- Password -->
- <td class="no"> · <!-- E-mail -->
+ <td class="yes"> Yes <!-- E-mail -->
<td class="no"> · <!-- URL -->
<td class="no"> · <!-- Date and Time -->
<td class="no"> · <!-- Local Date and Time -->
@@ -25621,7 +25621,7 @@
<th> <code title="attr-input-list">list</code>
<td class="yes"> Yes <!-- Text -->
<td class="no"> · <!-- Password -->
- <td class="no"> · <!-- E-mail -->
+ <td class="yes"> Yes <!-- E-mail -->
<td class="no"> · <!-- URL -->
<td class="no"> · <!-- Date and Time -->
<td class="no"> · <!-- Local Date and Time -->
@@ -25667,7 +25667,7 @@
<th> <code title="attr-input-maxlength">maxlength</code>
<td class="yes"> Yes <!-- Text -->
<td class="yes"> Yes <!-- Password -->
- <td class="no"> · <!-- E-mail -->
+ <td class="yes"> Yes <!-- E-mail -->
<td class="no"> · <!-- URL -->
<td class="no"> · <!-- Date and Time -->
<td class="no"> · <!-- Local Date and Time -->
@@ -25736,7 +25736,7 @@
<th> <code title="attr-input-pattern">pattern</code>
<td class="yes"> Yes <!-- Text -->
<td class="yes"> Yes <!-- Password -->
- <td class="no"> · <!-- E-mail -->
+ <td class="yes"> Yes <!-- E-mail -->
<td class="no"> · <!-- URL -->
<td class="no"> · <!-- Date and Time -->
<td class="no"> · <!-- Local Date and Time -->
@@ -25759,7 +25759,7 @@
<th> <code title="attr-input-readonly">readonly</code>
<td class="yes"> Yes <!-- Text -->
<td class="yes"> Yes <!-- Password -->
- <td class="no"> · <!-- E-mail -->
+ <td class="yes"> Yes <!-- E-mail -->
<td class="no"> · <!-- URL -->
<td class="no"> · <!-- Date and Time -->
<td class="no"> · <!-- Local Date and Time -->
@@ -25782,7 +25782,7 @@
<th> <code title="attr-input-required">required</code>
<td class="yes"> Yes <!-- Text -->
<td class="yes"> Yes <!-- Password -->
- <td class="no"> · <!-- E-mail -->
+ <td class="yes"> Yes <!-- E-mail -->
<td class="no"> · <!-- URL -->
<td class="no"> · <!-- Date and Time -->
<td class="no"> · <!-- Local Date and Time -->
@@ -25805,7 +25805,7 @@
<th> <code title="attr-input-size">size</code>
<td class="yes"> Yes <!-- Text -->
<td class="yes"> Yes <!-- Password -->
- <td class="no"> · <!-- E-mail -->
+ <td class="yes"> Yes <!-- E-mail -->
<td class="no"> · <!-- URL -->
<td class="no"> · <!-- Date and Time -->
<td class="no"> · <!-- Local Date and Time -->
@@ -25966,7 +25966,7 @@
<th> <code title="dom-input-list">list</code>
<td class="yes"> Yes <!-- Text -->
<td class="no"> · <!-- Password -->
- <td class="no"> · <!-- E-mail -->
+ <td class="yes"> Yes <!-- E-mail -->
<td class="no"> · <!-- URL -->
<td class="no"> · <!-- Date and Time -->
<td class="no"> · <!-- Local Date and Time -->
@@ -25989,7 +25989,7 @@
<th> <code title="dom-input-selectedOption">selectedOption</code>
<td class="yes"> Yes <!-- Text -->
<td class="no"> · <!-- Password -->
- <td class="no"> · <!-- E-mail -->
+ <td class="yes"> Yes <!-- E-mail -->
<td class="no"> · <!-- URL -->
<td class="no"> · <!-- Date and Time -->
<td class="no"> · <!-- Local Date and Time -->
@@ -26350,10 +26350,99 @@
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>
@@ -27384,8 +27473,11 @@
<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
@@ -54701,7 +54793,7 @@
<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