spec/Overview.html 1.1617 2445 WF2: Add novalidate='' for submission; d

WF2: Add novalidate='' for submission; define what happens for re-
entrant .submit(). (whatwg r2445)

barred the element from constraint validation
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#barred-from-constraint-validation
target
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#concept-fs-target
4.10.4.1.19 Reset Button state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#reset-button-state
no-validate state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#concept-fs-novalidate
HTMLFormElement
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#htmlformelement
4.10.4.1.14 Checkbox state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#checkbox-state
radio button group
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#radio-button-group
4.10.4.1.12 Number state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#number-state
4.10.4 The input element
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#the-input-element
4.10.4.1.10 Time state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#time-state
value
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#attr-button-value
selected coordinate
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#concept-input-type-image-coordinate
HTMLInputElement
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#htmlinputelement
accept-charset
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#dom-form-accept-charset
Button
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#attr-button-type-button-state
name
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#dom-form-name
valid e-mail address
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#valid-e-mail-address
button
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#attr-input-type-button-keyword
4.10.4.1.6 Date and Time state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#date-and-time-state
4.10.4.1.9 Week state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#week-state
4.10.4.1.20 Button state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#button-state
4.10.14 Constraints
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#constraints
accept
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#attr-input-accept
4.10.4.1.5 Password state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#password-state
default value
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#concept-input-value-default-range
name
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#attr-form-name
enctype
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#concept-fs-enctype
4.10.4.1.11 Local Date and Time state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#local-date-and-time-state
4.10.4.1.7 Date state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#date-state
action
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#dom-fs-action
If form is in a Document that has no associated browsing context or whose browsing context has its sandboxed forms browsing context flag set, then abort these steps without doing anything.
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#sandboxSubmitBlocked
4.10.4.1.2 Text state and Search state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#text-state-and-search-state
4.10.4.1.17 Submit Button state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#submit-button-state
HTMLButtonElement
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#htmlbuttonelement
target
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#attr-fs-target
noValidate
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#dom-fs-novalidate
Status of this document
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#status-of-this-document
novalidate
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#attr-fs-novalidate
4.10.4.1.3 URL state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#url-state
A vocabulary and associated APIs for HTML and XHTML
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#a-vocabulary-and-associated-apis-for-html-and-xhtml
4.10.4.1.1 Hidden state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#hidden-state
candidate for constraint validation
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#candidate-for-constraint-validation
4.10.4.1.8 Month state
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#month-state
Editor's Draft 26 November 2008
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#editor-s-draft-date-zzz-9-june-2008
4.10.5 The button element
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#the-button-element
4.10.1 The form element
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1617.html#the-form-element

http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html
http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.1616&r2=1.1617&f=h
http://html5.org/tools/web-apps-tracker?from=2444&to=2445

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.1616
retrieving revision 1.1617
diff -u -d -r1.1616 -r1.1617
--- Overview.html 25 Nov 2008 21:39:31 -0000 1.1616
+++ Overview.html 26 Nov 2008 00:36:49 -0000 1.1617
@@ -8,7 +8,7 @@
    <p><a href=http://www.w3.org/><img alt=W3C height=48 src=http://www.w3.org/Icons/w3c_home width=72></a></p>
    <h1>HTML 5</h1>
    <h2 class="no-num no-toc" id=a-vocabulary-and-associated-apis-for-html-and-xhtml>A vocabulary and associated APIs for HTML and XHTML</h2>
-   <h2 class="no-num no-toc" id=editor-s-draft-date-zzz-9-june-2008><!-- "W3C Working Draft" --> Editor's Draft <!--ZZZ-->25 November 2008</h2>
+   <h2 class="no-num no-toc" id=editor-s-draft-date-zzz-9-june-2008><!-- "W3C Working Draft" --> Editor's Draft <!--ZZZ-->26 November 2008</h2>
    <dl><!-- ZZZ: update the month/day
     <dt>This Version:</dt>
     <dd><a href="http://www.w3.org/TR/2008/WD-html5-20080610/">http://www.w3.org/TR/2008/WD-html5-20080610/</a></dd>
@@ -97,7 +97,7 @@
   specification's progress along the W3C Recommendation
   track.
   <!--ZZZ:-->
-  This specification is the 25 November 2008 <!--ZZZ "Working Draft"-->Editor's Draft.
+  This specification is the 26 November 2008 <!--ZZZ "Working Draft"-->Editor's Draft.
   <!--:ZZZ-->
   </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>This specification is also being produced by the <a href=http://www.whatwg.org/>WHATWG</a>. The two specifications are
   identical from the table of contents onwards.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- context and rationale (required) --><p>This specification is intended to replace (be a new version of)
@@ -18541,6 +18541,7 @@
    <dd><code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code></dd>
    <dd><code title=attr-fs-method><a href=#attr-fs-method>method</a></code></dd>
    <dd><code title=attr-form-name><a href=#attr-form-name>name</a></code></dd>
+   <dd><code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code></dd>
    <dd><code title=attr-fs-target><a href=#attr-fs-target>target</a></code></dd>
    <dt>DOM interface:</dt>
    <dd>
@@ -18550,6 +18551,7 @@
            attribute DOMString <a href=#dom-fs-enctype title=dom-fs-enctype>enctype</a>;
            attribute DOMString <a href=#dom-fs-method title=dom-fs-method>method</a>;
            attribute DOMString <a href=#dom-form-name title=dom-form-name>name</a>;
+           attribute boolean <a href=#dom-fs-novalidate title=dom-fs-novalidate>novalidate</a>;
            attribute DOMString <a href=#dom-fs-target title=dom-fs-target>target</a>;
 
   readonly attribute <a href=#htmlformcontrolscollection-0>HTMLFormControlsCollection</a> <a href=#dom-form-elements title=dom-form-elements>elements</a>;
@@ -18575,7 +18577,7 @@
   encoding</a>. <a href=#references>[IANACHARSET]</a><p>The <dfn id=attr-form-name title=attr-form-name><code>name</code></dfn> attribute
   represents the <code><a href=#the-form-element>form</a></code>'s name within the <code title=dom-forms>forms</code> collection. The value must not be the
   empty string, and the value must be unique amongst the
-  <code><a href=#the-form-element>form</a></code> elements in the <code title=dom-forms>forms</code> collection that it is in, if any.<p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#form-submission>attributes
+  <code><a href=#the-form-element>form</a></code> elements in the <code title=dom-forms>forms</code> collection that it is in, if any.<p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#form-submission>attributes
   for form submission</a>.<p>The <dfn id=dom-form-accept-charset title=dom-form-accept-charset><code>accept-charset</code></dfn>
   and <dfn id=dom-form-name title=dom-form-name><code>name</code></dfn> DOM
   attributes must <a href=#reflect>reflect</a> the respective content
@@ -18747,6 +18749,7 @@
    <dd><code title=attr-input-min><a href=#attr-input-min>min</a></code></dd>
    <dd><code title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code></dd>
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
+   <dd><code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code></dd>
    <dd><code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code></dd>
    <dd><code title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code></dd>
    <dd><code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code></dd>
@@ -18777,6 +18780,7 @@
            attribute DOMString <a href=#dom-input-min title=dom-input-min>min</a>;
            attribute boolean <a href=#dom-input-multiple title=dom-input-multiple>multiple</a>;
            attribute DOMString <a href=#dom-fe-name title=dom-fe-name>name</a>;
+           attribute boolean <a href=#dom-fs-novalidate title=dom-fs-noValidate>noValidate</a>;
            attribute DOMString <a href=#dom-input-pattern title=dom-input-pattern>pattern</a>;
            attribute DOMString <a href=#dom-input-placeholder title=dom-input-placeholder>placeholder</a>;
            attribute boolean <a href=#dom-input-readonly title=dom-input-readOnly>readOnly</a>;
@@ -18898,7 +18902,7 @@
      <td> <a href=#button-state title=attr-input-type-button>Button</a>
      <td> n/a
      <td> A button
-  </table><p>The <i>missing value default</i> is the <a href=#text-state-and-search-state title=attr-input-type-text>Text</a> state.<p>Which of the <code title=attr-input-accept><a href=#attr-input-accept>accept</a></code>, <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-input-alt><a href=#attr-input-alt>alt</a></code>, <code title=attr-input-autocomplete><a href=#attr-input-autocomplete>autocomplete</a></code>, <code title=attr-input-checked><a href=#attr-input-checked>checked</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, and <code title=attr-input-list><a href=#attr-input-list>list</a></code>, <code title=attr-input-max><a href=#attr-input-max>max</a></code>, <code title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, <code title=attr-input-min><a href=#attr-input-min>min</a></code>, <code title=attr-input-multiple><a href=#attr-inputmultiple>multiple</a></code>, <code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>, <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>, <code title=attr-input-required><a href=#attr-input-required>required</a></code>, <code title=attr-input-size><a href=#attr-input-size>size</a></code>, <code title=attr-input-src><a href=#attr-input-src>src</a></code>, <code title=attr-input-step><a href=#attr-input-step>step</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes apply to an
+  </table><p>The <i>missing value default</i> is the <a href=#text-state-and-search-state title=attr-input-type-text>Text</a> state.<p>Which of the <code title=attr-input-accept><a href=#attr-input-accept>accept</a></code>, <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-input-alt><a href=#attr-input-alt>alt</a></code>, <code title=attr-input-autocomplete><a href=#attr-input-autocomplete>autocomplete</a></code>, <code title=attr-input-checked><a href=#attr-input-checked>checked</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, and <code title=attr-input-list><a href=#attr-input-list>list</a></code>, <code title=attr-input-max><a href=#attr-input-max>max</a></code>, <code title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, <code title=attr-input-min><a href=#attr-input-min>min</a></code>, <code title=attr-input-multiple><a href=#attr-inputmultiple>multiple</a></code>, <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>, <code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>, <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>, <code title=attr-input-required><a href=#attr-input-required>required</a></code>, <code title=attr-input-size><a href=#attr-input-size>size</a></code>, <code title=attr-input-src><a href=#attr-input-src>src</a></code>, <code title=attr-input-step><a href=#attr-input-step>step</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes apply to an
   <code><a href=#the-input-element>input</a></code> element depends on the state of its <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute. Similarly, the <code title=dom-input-checked><a href=#dom-input-checked>checked</a></code>, <code title=dom-input-valueAsDate><a href=#dom-input-valueasdate>valueAsDate</a></code>, <code title=dom-input-valueAsNumber><a href=#dom-input-valueasnumber>valueAsNumber</a></code>, <code title=dom-input-list><a href=#dom-input-list>list</a></code>, and <code title=dom-input-selectedOption><a href=#dom-input-selectedoption>selectedOption</a></code> DOM
   attributes, and the <code title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>
   and <code title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods, are
@@ -19203,6 +19207,29 @@
      <td class=no> &middot; <!-- Reset Button -->
 <!-- <td class="no"> &middot;      Button -->
 
+    <tr><th> <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>
+     <td class=no> &middot; <!-- Hidden -->
+     <td class=no> &middot; <!-- Text -->
+<!-- <td class="no"> &middot;      Search -->
+<!-- <td class="no"> &middot;      URL -->
+     <td class=no> &middot; <!-- E-mail -->
+     <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=no> &middot; <!-- File Upload -->
+     <td class=yes> Yes     <!-- Submit Button -->
+     <td class=yes> Yes     <!-- Image Button -->
+     <td class=no> &middot; <!-- Reset Button -->
+<!-- <td class="no"> &middot;      Button -->
+
     <tr><th> <code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>
      <td class=no> &middot; <!-- Hidden -->
      <td class=yes> Yes     <!-- Text -->
@@ -19732,6 +19759,7 @@
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>,
@@ -19794,6 +19822,7 @@
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-src><a href=#attr-input-src>src</a></code>,
    <code class=no-backref title=attr-input-step><a href=#attr-input-step>step</a></code>, and
    <code class=no-backref title=attr-fs-target><a href=#attr-fs-target>target</a></code>.</p>
@@ -19855,6 +19884,7 @@
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-src><a href=#attr-input-src>src</a></code>,
    <code class=no-backref title=attr-input-step><a href=#attr-input-step>step</a></code>, and
    <code class=no-backref title=attr-fs-target><a href=#attr-fs-target>target</a></code>.</p>
@@ -19934,6 +19964,7 @@
    <code class=no-backref title=attr-input-max><a href=#attr-input-max>max</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-src><a href=#attr-input-src>src</a></code>,
    <code class=no-backref title=attr-input-step><a href=#attr-input-step>step</a></code>, and
    <code class=no-backref title=attr-fs-target><a href=#attr-fs-target>target</a></code>.</p>
@@ -19982,6 +20013,7 @@
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-src><a href=#attr-input-src>src</a></code>,
    <code class=no-backref title=attr-input-step><a href=#attr-input-step>step</a></code>, and
    <code class=no-backref title=attr-fs-target><a href=#attr-fs-target>target</a></code>.</p>
@@ -20088,6 +20120,7 @@
    <code class=no-backref title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-size><a href=#attr-input-size>size</a></code>,
@@ -20183,6 +20216,7 @@
    <code class=no-backref title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-size><a href=#attr-input-size>size</a></code>,
@@ -20276,6 +20310,7 @@
    <code class=no-backref title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-size><a href=#attr-input-size>size</a></code>,
@@ -20371,6 +20406,7 @@
    <code class=no-backref title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-size><a href=#attr-input-size>size</a></code>,
@@ -20460,6 +20496,7 @@
    <code class=no-backref title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-size><a href=#attr-input-size>size</a></code>,
@@ -20545,6 +20582,7 @@
    <code class=no-backref title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-size><a href=#attr-input-size>size</a></code>,
@@ -20624,6 +20662,7 @@
    <code class=no-backref title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-size><a href=#attr-input-size>size</a></code>,
@@ -20721,6 +20760,7 @@
    <code class=no-backref title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>,
@@ -20776,6 +20816,7 @@
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>,
@@ -20872,6 +20913,7 @@
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>,
@@ -20948,6 +20990,7 @@
    <code class=no-backref title=attr-input-maxlength><a href=#attr-input-maxlength>maxlength</a></code>,
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>,
@@ -20983,14 +21026,15 @@
   the user agent should allow the user to activate the element.<p>The element's <a href=#activation-behavior>activation behavior</a>, if the element
   has a <a href=#form-owner>form owner</a>, is to <a href=#concept-form-submit title=concept-form-submit>submit</a> the <a href=#form-owner>form
   owner</a> from the <code><a href=#the-input-element>input</a></code> element; otherwise, it is
-  to do nothing.<p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#form-submission>attributes
+  to do nothing.<p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#form-submission>attributes
   for form submission</a>.<div class=bookkeeping>
 
    <p>The following common <code><a href=#the-input-element>input</a></code> element content
    attributes and DOM attributes apply to the element:
    <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
    <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>,
-   <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, and
+   <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
+   <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>, and
    <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> content attributes;
    <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute.</p>
 
@@ -21107,7 +21151,7 @@
   and less than or equal to the rendered width, in CSS pixels, of the
   image. The <var title="">y</var>-component must be greater than or
   equal to zero, and less than or equal to the rendered height, in CSS
-  pixels, of the image.</p><hr><p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#form-submission>attributes
+  pixels, of the image.</p><hr><p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#form-submission>attributes
   for form submission</a>.<div class=bookkeeping>
 
    <p>The following common <code><a href=#the-input-element>input</a></code> element content
@@ -21116,6 +21160,7 @@
    <code title=attr-input-alt><a href=#attr-input-alt>alt</a></code>,
    <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>,
    <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, 
+   <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code title=attr-input-src><a href=#attr-input-src>src</a></code>, and
    <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> content attributes;
    <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute.</p>
@@ -21183,6 +21228,7 @@
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>,
@@ -21227,6 +21273,7 @@
    <code class=no-backref title=attr-fs-method><a href=#attr-fs-method>method</a></code>,
    <code class=no-backref title=attr-input-min><a href=#attr-input-min>min</a></code>,
    <code class=no-backref title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code>,
+   <code class=no-backref title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>,
    <code class=no-backref title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code>,
    <code class=no-backref title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>,
    <code class=no-backref title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>,
@@ -21676,6 +21723,7 @@
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-fs-method><a href=#attr-fs-method>method</a></code></dd>
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
+   <dd><code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code></dd>
    <dd><code title=attr-fs-target><a href=#attr-fs-target>target</a></code></dd>
    <dd><code title=attr-button-type><a href=#attr-button-type>type</a></code></dd>
    <dd><code title=attr-button-value><a href=#attr-button-value>value</a></code></dd>
@@ -21689,6 +21737,7 @@
   readonly attribute <a href=#htmlformelement>HTMLFormElement</a> <a href=#dom-fae-form title=dom-fae-form>form</a>;
            attribute DOMString <a href=#dom-fs-method title=dom-fs-method>method</a>;
            attribute DOMString <a href=#dom-fe-name title=dom-fe-name>name</a>;
+           attribute DOMString <a href=#dom-fs-novalidate title=dom-fs-noValidate>noValidate</a>;
            attribute DOMString <a href=#dom-fs-target title=dom-fs-target>target</a>;
            attribute DOMString <a href=#dom-button-type title=dom-button-type>type</a>;
            attribute DOMString <a href=#dom-button-value title=dom-button-value>value</a>;
@@ -21750,7 +21799,7 @@
   attribute represents the element's name. The <code title=attr-fe-disabled><a href=#attr-fe-disabled>disabled</a></code> attribute is used to make
   the control non-interactive and to prevent its value from being
   submitted. The <code title=attr-fe-autofocus><a href=#attr-fe-autofocus>autofocus</a></code>
-  attribute controls focus. The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#form-submission>attributes
+  attribute controls focus. The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#form-submission>attributes
   for form submission</a>.<p>The <dfn id=attr-button-value title=attr-button-value><code>value</code></dfn>
   attribute gives the element's value for the purposes of form
   submission. The <code title=attr-button-value><a href=#attr-button-value>value</a></code>
@@ -22473,18 +22522,23 @@
   <a href=#concept-fs-enctype title=concept-fs-enctype>enctype</a> is that attribute's
   state; otherwise, it is the <a href=#form-owner>form owner</a>'s <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code> attribute's state.<p>The <dfn id=attr-fs-target title=attr-fs-target><code>target</code></dfn> content
   attribute, if present, must be a <a href=#valid-browsing-context-name-or-keyword>valid browsing context name
-  or keyword</a>.
-
-  <p>The <dfn id=concept-fs-target title=concept-fs-target>target</dfn> of an element is
+  or keyword</a>.<p>The <dfn id=concept-fs-target title=concept-fs-target>target</dfn> of an element is
   the value of the element's <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attribute, if it has one; or
   the value of its <a href=#form-owner>form owner</a>'s <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attribute, if <em>it</em> has
   one; or, if one of the child nodes of <a href=#the-head-element-0>the <code>head</code>
   element</a> is a <code><a href=#the-base-element>base</a></code> element with a <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute, then the the value
   of the <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute of the
   first such <code><a href=#the-base-element>base</a></code> element; or, if there is no such
-  element, the empty string.</p><!-- c.f. hyperlink following --><p>The <dfn id=dom-fs-action title=dom-fs-action><code>action</code></dfn>, <dfn id=dom-fs-method title=dom-fs-method><code>method</code></dfn>, <dfn id=dom-fs-enctype title=dom-fs-enctype><code>enctype</code></dfn>, and <dfn id=dom-fs-target title=dom-fs-target><code>target</code></dfn> DOM attributes must
+  element, the empty string.</p><!-- c.f. hyperlink following --><p>The <dfn id=attr-fs-novalidate title=attr-fs-novalidate><code>novalidate</code></dfn>
+  content attribute is a <a href=#boolean-attribute>boolean attribute</a>. If present,
+  it indicates that the form is not to be validated during
+  submission.<p>The <dfn id=concept-fs-novalidate title=concept-fs-novalidate>no-validate state</dfn> of
+  an element is true if the element's <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code> attribute is present or
+  if the element's <a href=#form-owner>form owner</a>'s <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code> attribute is present,
+  and false otherwise.<p>The <dfn id=dom-fs-action title=dom-fs-action><code>action</code></dfn>, <dfn id=dom-fs-method title=dom-fs-method><code>method</code></dfn>, <dfn id=dom-fs-enctype title=dom-fs-enctype><code>enctype</code></dfn>, and <dfn id=dom-fs-target title=dom-fs-target><code>target</code></dfn> DOM attributes must
   <a href=#reflect>reflect</a> the respective content attributes of the same
-  name.<h4 id=constraints><span class=secno>4.10.14 </span>Constraints</h4><h5 id=definitions><span class=secno>4.10.14.1 </span>Definitions</h5><p>A <a href=#category-listed title=category-listed>listed form-associated
+  name. The <dfn id=dom-fs-novalidate title=dom-fs-noValidate><code>noValidate</code></dfn> DOM
+  attribute must reflect the <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code> content attribute.<h4 id=constraints><span class=secno>4.10.14 </span>Constraints</h4><h5 id=definitions><span class=secno>4.10.14.1 </span>Definitions</h5><p>A <a href=#category-listed title=category-listed>listed form-associated
   element</a> is a <dfn id=candidate-for-constraint-validation>candidate for constraint validation</dfn>
   unless a condition has <dfn id=barred-from-constraint-validation title="barred from constraint
   validation">barred the element from constraint
@@ -22716,21 +22770,34 @@
    <a href=#sandboxed-forms-browsing-context-flag>sandboxed forms browsing context flag</a> set, then abort
    these steps without doing anything.</li>
 
+   <li><p>If <var title="">form</var> is already being submitted
+   (i.e. the form was <a href=#concept-form-submit title=concept-form-submit>submitted</a> again while processing
+   the events fired from the next two steps, probably from a script
+   redundantly calling the <code title=dom-form-submit><a href=#dom-form-submit>submit()</a></code> method on <var title="">form</var>), then abort these steps. This doesn't affect
+   the earlier instance of this algorithm.</li>
+
+   <!-- lock (implicit in previous step) -->
+
    <li><p>If the <var title="">submitter</var> is anything but a
-   <code><a href=#the-form-element>form</a></code> element, then <a href=#interactively-validate-the-constraints>interactively validate the
+   <code><a href=#the-form-element>form</a></code> element, and the <var title="">submitter</var>
+   element's <a href=#concept-fs-novalidate title=concept-fs-novalidate>no-validate
+   state</a> is false, then <a href=#interactively-validate-the-constraints>interactively validate the
    constraints</a> of <var title="">form</var> and examine the
    result: if the result is negative (the constraint validation
    concluded that there were invalid fields and probably informed the
    user of this) then abort these steps.</li>
-   <!-- XXX define what happens if .submit() is called during this -->
 
    <li><p>If the <var title="">submitter</var> is anything but a
    <code><a href=#the-form-element>form</a></code> element, then <a href=#fire-a-simple-event>fire a simple event</a>
    that bubbles<!--XXX check it bubbles-->, named <code title=event-submit>submit</code>, at <var title="">form</var>. If
    the event's default action is prevented (i.e. if the event is
    canceled) then abort these steps. Otherwise, continue (effectively
-   the default action is to perform the submission).</li> <!-- XXX
-   define what happens if .submit() is called during this -->
+   the default action is to perform the submission).</li>
+
+   <!-- if you add any steps between the "lock" and "unlock" lines,
+   make sure to update the step immediately before the "lock" line -->
+
+   <!-- unlock -->
 
    <li><p>Let <var title="">controls</var> be a list of all the <a href=#category-submit title=category-submit>submittable</a> elements whose
    <a href=#form-owner>form owner</a> is <var title="">form</var>, in <a href=#tree-order>tree

Received on Wednesday, 26 November 2008 00:40:40 UTC