NOTE: The current preferred location for bug reports is the GitHub issue tracker.
Bug 394 - WF2: <input type=email multiple>, <input type=file multiple>
WF2: <input type=email multiple>, <input type=file multiple>
Status: NEW
Product: Validator.nu
Classification: Unclassified
Component: General
HEAD
All All
: P2 normal
Assigned To: Nobody
http://svn.whatwg.org/webapps/source?...
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-01-04 16:48 CET by Henri Sivonen
Modified: 2009-11-23 17:17 CET (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Henri Sivonen 2009-01-04 16:48:27 CET
Index: source
===================================================================
--- source	(revision 2439)
+++ source	(revision 2440)
@@ -25730,6 +25730,7 @@
    <dd><code title="attr-input-maxlength">maxlength</code></dd>
    <dd><code title="attr-fs-method">method</code></dd>
    <dd><code title="attr-input-min">min</code></dd>
+   <dd><code title="attr-input-multiple">multiple</code></dd>
    <dd><code title="attr-fe-name">name</code></dd>
    <dd><code title="attr-input-pattern">pattern</code></dd>
    <dd><code title="attr-input-placeholder">placeholder</code></dd>
@@ -25759,6 +25760,7 @@
            attribute long <span title="dom-input-maxLength">maxLength</span>;
            attribute DOMString <span title="dom-fs-method">method</span>;
            attribute DOMString <span title="dom-input-min">min</span>;
+           attribute boolean <span title="dom-input-multiple">multiple</span>;
            attribute DOMString <span title="dom-fe-name">name</span>;
            attribute DOMString <span title="dom-input-pattern">pattern</span>;
            attribute DOMString <span title="dom-input-placeholder">placeholder</span>;
@@ -25930,6 +25932,7 @@
   title="attr-input-maxlength">maxlength</code>, <code
   title="attr-fs-method">method</code>, <code
   title="attr-input-min">min</code>, <code
+  title="attr-input-multiple">multiple</code>, <code
   title="attr-input-pattern">pattern</code>, <code
   title="attr-input-readonly">readonly</code>, <code
   title="attr-input-required">required</code>, <code
@@ -26242,6 +26245,30 @@
 <!-- <td class="no"> &middot;      Button -->
 
     <tr>
+     <th> <code title="attr-input-multiple">multiple</code>
+     <td class="no"> &middot; <!-- Hidden -->
+     <td class="no"> &middot; <!-- Text -->
+<!-- <td class="no"> &middot;      Search -->
+<!-- <td class="yes"> Yes          E-mail -->
+<!-- <td class="no"> &middot;      URL -->
+     <td class="no"> &middot; <!-- Password -->
+     <td class="no"> &middot; <!-- 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; <!-- Local Date and Time -->
+<!-- <td class="no"> &middot;      Number -->
+     <td class="no"> &middot; <!-- Range -->
+     <td class="no"> &middot; <!-- Checkbox -->
+<!-- <td class="no"> &middot;      Radio Button -->
+     <td class="yes"> Yes     <!-- File Upload -->
+     <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="no"> &middot; <!-- Hidden -->
      <td class="yes"> Yes     <!-- Text -->
@@ -26811,6 +26838,7 @@
   title="dom-input-autocomplete"><code>autocomplete</code></dfn>, <dfn
   title="dom-input-max"><code>max</code></dfn>, <dfn
   title="dom-input-min"><code>min</code></dfn>, <dfn
+  title="dom-input-multiple"><code>multiple</code></dfn>, <dfn
   title="dom-input-pattern"><code>pattern</code></dfn>, <dfn
   title="dom-input-placeholder"><code>placeholder</code></dfn>, <dfn
   title="dom-input-required"><code>required</code></dfn>, <dfn
@@ -26897,6 +26925,7 @@
    <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-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-readonly">readonly</code>,
@@ -26981,6 +27010,7 @@
    <code class="no-backref" title="attr-input-max">max</code>,
    <code class="no-backref" title="attr-fs-method">method</code>,
    <code class="no-backref" title="attr-input-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-src">src</code>,
    <code class="no-backref" title="attr-input-step">step</code>, and
    <code class="no-backref" title="attr-fs-target">target</code>.</p>
@@ -27004,36 +27034,55 @@
   section apply.</p>
 
   <p>The <code>input</code> element represents a control for editing a
-  single e-mail address given in the element's <span
+  list of e-mail addresses given in the element's <span
   title="concept-fe-value">value</span>.</p>
 
   <p>If the element is <i title="concept-input-mutable">mutable</i>,
-  the user agent 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
+  the user agent should allow the user to change the e-mail addresses
+  represented by its <span title="concept-fe-value">value</span>. If
+  the <code title="attr-input-multiple">multiple</code> attribute is
+  specified, then the user agent should allow the user to select or
+  provide multiple addresses; otherwise, the user agent should act in
+  a manner consistent with expecting the user to provide a single
+  e-mail address. User agents may allow the user to set the <span
   title="concept-fe-value">value</span> to a string that is not an
-  <span>valid e-mail address</span>. 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
+  <span>valid e-mail address list</span>. 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>. User agents may transform the
   <span title="concept-fe-value">value</span> for display and editing
   (e.g. converting punycode in the <span
   title="concept-fe-value">value</span> to IDN in the display and vice
   versa).</p>
 
-  <p>The <code title="attr-input-value">value</code> attribute, if
-  specified, must have a value that is a <span>valid e-mail
-  address</span>.</p>
+  <p>If the <code title="attr-input-multiple">multiple</code>
+  attribute is specified on the element, then the <code
+  title="attr-input-value">value</code> attribute, if specified, must
+  have a value that is a <span>valid e-mail address list</span>;
+  otherwise, the <code title="attr-input-value">value</code>
+  attribute, if specified, must have a value that is a single
+  <span>valid e-mail address</span>.</p>
 
   <p><strong>The <span>value sanitization algorithm</span> is as
   follows:</strong> <span>Strip line breaks</span> from the <span
   title="concept-fe-value">value</span>.</p>
 
-  <p><strong>Constraint validation:</strong> While the <span
+  <p><strong>Constraint validation:</strong> If the <code
+  title="attr-input-multiple">multiple</code> attribute is specified
+  on the element, then, while the <span
   title="concept-fe-value">value</span> of the element is not a
-  <span>valid e-mail address</span>, the element is <span>suffering
-  from a type mismatch</span>.</p>
+  <span>valid e-mail address list</span>, the element is
+  <span>suffering from a type mismatch</span>; otherwise, while the
+  <span title="concept-fe-value">value</span> of the element is not a
+  single <span>valid e-mail address</span>, the element is
+  <span>suffering from a type mismatch</span>.</p>
+
+  <p>A <dfn>valid e-mail address list</dfn> is a <span>set of
+  comma-separated tokens</span>, where each token is itself a
+  <span>valid e-mail address</span>, possibly with one or more leading
+  or trailing <span title="space character">space
+  characters</span>.</p>
 
   <p>A <dfn>valid e-mail address</dfn> is a string that matches the
   production <code title="">dot-atom&nbsp;"@"&nbsp;dot-atom</code>
@@ -27048,6 +27097,7 @@
    <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-multiple">multiple</code>,
    <code title="attr-input-pattern">pattern</code>,
    <code title="attr-input-placeholder">placeholder</code>,
    <code title="attr-input-readonly">readonly</code>,
@@ -27157,6 +27207,7 @@
    <code class="no-backref" title="attr-input-max">max</code>,
    <code class="no-backref" title="attr-fs-method">method</code>,
    <code class="no-backref" title="attr-input-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-src">src</code>,
    <code class="no-backref" title="attr-input-step">step</code>, and
    <code class="no-backref" title="attr-fs-target">target</code>.</p>
@@ -27225,6 +27276,7 @@
    <code class="no-backref" title="attr-input-max">max</code>,
    <code class="no-backref" title="attr-fs-method">method</code>,
    <code class="no-backref" title="attr-input-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-src">src</code>,
    <code class="no-backref" title="attr-input-step">step</code>, and
    <code class="no-backref" title="attr-fs-target">target</code>.</p>
@@ -27381,6 +27433,7 @@
    <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-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-size">size</code>,
@@ -27522,6 +27575,7 @@
    <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-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-size">size</code>,
@@ -27665,6 +27719,7 @@
    <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-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-size">size</code>,
@@ -27807,6 +27862,7 @@
    <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-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-size">size</code>,
@@ -27944,6 +28000,7 @@
    <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-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-size">size</code>,
@@ -28068,6 +28125,7 @@
    <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-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-size">size</code>,
@@ -28181,6 +28239,7 @@
    <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-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-size">size</code>,
@@ -28332,6 +28391,7 @@
    <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-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-readonly">readonly</code>,
@@ -28405,6 +28465,7 @@
    <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-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-readonly">readonly</code>,
@@ -28541,6 +28602,7 @@
    <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-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-readonly">readonly</code>,
@@ -28588,8 +28650,10 @@
   empty, then the element is <span>suffering from being
   missing</span>.</p>
 
-  <p>There must be no more than one file in the list of <span
-  title="concept-input-type-file-selected">selected files</span>.</p>
+  <p>Unless the <code title="attr-input-multiple">multiple</code>
+  attribute is set, there must be no more than one file in the list of
+  <span title="concept-input-type-file-selected">selected
+  files</span>.</p>
 
   <hr>
 
@@ -28636,7 +28700,8 @@
 
    <p>The following common <code>input</code> element content
    attributes apply to the element:
-   <code title="attr-input-accept">accept</code> and
+   <code title="attr-input-accept">accept</code>,
+   <code title="attr-input-multiple">multiple</code>, and
    <code title="attr-input-required">required</code>.</p>
 
    <p>The <code title="event-input-change">change</code> event applies.</p>
@@ -28735,6 +28800,7 @@
    <code class="no-backref" title="attr-input-max">max</code>,
    <code class="no-backref" title="attr-input-maxlength">maxlength</code>,
    <code class="no-backref" title="attr-input-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-readonly">readonly</code>,
@@ -28939,6 +29005,7 @@
    <code class="no-backref" title="attr-input-max">max</code>,
    <code class="no-backref" title="attr-input-maxlength">maxlength</code>,
    <code class="no-backref" title="attr-input-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-readonly">readonly</code>,
@@ -29015,6 +29082,7 @@
    <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-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-readonly">readonly</code>,
@@ -29080,6 +29148,7 @@
    <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-min">min</code>,
+   <code class="no-backref" title="attr-input-multiple">multiple</code>,
    <code class="no-backref" title="attr-input-pattern">pattern</code>,
    <code class="no-backref" title="attr-input-placeholder">placeholder</code>,
    <code class="no-backref" title="attr-input-readonly">readonly</code>,
@@ -29299,6 +29368,14 @@
 
 
 
+  <h6>The <code title="attr-input-multiple">multiple</code> attribute</h6>
+
+  <p>The <dfn title="attr-input-multiple"><code>multiple</code></dfn>
+  attribute is a <span>boolean attribute</span> that indicates whether
+  the user is to be allowed to specify more than one value.</p>
+
+
+
   <h6>The <code title="attr-input-maxlength">maxlength</code> attribute</h6>
 
   <p>The <dfn