@@ -16,7 +16,7 @@
<div class=head>
<p><a class=logo href=http://www.whatwg.org/ rel=home><img alt=WHATWG src=/images/logo></a></p>
<h1>HTML 5</h1>
<h2 class="no-num no-toc" id=draft-recommendation-—-date:-01-jan-1901>Draft Recommendation — 24 October 2008</h2>
<h2 class="no-num no-toc" id=draft-recommendation-—-date:-01-jan-1901>Draft Recommendation — 28 October 2008</h2>
<p>You can take part in this work. <a href=http://www.whatwg.org/mailing-list>Join the working group's discussion list.</a></p>
<p><strong>Web designers!</strong> We have a <a href=http://blog.whatwg.org/faq/>FAQ</a>, a <a href=http://forums.whatwg.org/>forum</a>, and a <a href=http://www.whatwg.org/mailing-list#help>help mailing list</a> for you!</p>
<dl><dt>Multiple-page version:</dt>
FEED (LF) or U+000D CARRIAGE RETURN (CR) characters into the
element's <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that contains no U+000A LINE FEED (LF)
or U+000D CARRIAGE RETURN (CR) characters.</p>
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> <a href=#strip-line-breaks>Strip line breaks</a> from the <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
agents must not allow users to insert U+000A LINE FEED (LF) or
U+000D CARRIAGE RETURN (CR) characters into the <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-e-mail-address>valid e-mail
address</a>.</p>
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> <a href=#strip-line-breaks>Strip line breaks</a> from the <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
<p><strong>Constraint validation:</strong> While the <a href=#concept-fe-value title=concept-fe-value>value</a> of the element does not match
the <code>addr-spec</code> token defined in RFC 2822 section 3.4.1,
<p><strong>Constraint validation:</strong> While the <a href=#concept-fe-value title=concept-fe-value>value</a> of the element is not a
<a href=#valid-e-mail-address>valid e-mail address</a>, the element is <a href=#suffering-from-a-type-mismatch>suffering
from a type mismatch</a>.</p>
<p>A <dfn id=valid-e-mail-address>valid e-mail address</dfn> is a string that matches 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 <a href=#suffering-from-a-type-mismatch>suffering
from a type mismatch</a>. <a href=#refsRFC2822>[RFC2822]</a></p>
<code>quoted-string</code> subtoken. <a href=#refsRFC2822>[RFC2822]</a></p>
<div class=bookkeeping>
agents must not allow users to insert U+000A LINE FEED (LF) or
U+000D CARRIAGE RETURN (CR) characters into the <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-url>valid URL</a>.</p>
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> <a href=#strip-line-breaks>Strip line breaks</a> from the <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
by the user. User agents must not allow users to insert U+000A LINE
FEED (LF) or U+000D CARRIAGE RETURN (CR) characters into the <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that contains no U+000A LINE FEED (LF)
or U+000D CARRIAGE RETURN (CR) characters.</p>
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> <a href=#strip-line-breaks>Strip line breaks</a> from the <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
UTC date and time string</a> representing the user's
selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-utc-date-and-time-string>valid UTC date and time
string</a>.</p> <!-- ok to set out-of-range value, we never know
when we might have to represent bogus input -->
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> If the <a href=#concept-fe-value title=concept-fe-value>value</a>
of the element is not a <a href=#valid-utc-date-and-time-string>valid UTC date and time string</a>,
a <a href=#valid-date-string>valid date string</a> representing the user's
selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-date-string>valid date
string</a>.</p> <!-- ok to set out-of-range value, we never know
when we might have to represent bogus input -->
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> If the <a href=#concept-fe-value title=concept-fe-value>value</a>
of the element is not a <a href=#valid-date-string>valid date string</a>, then set it
a <a href=#valid-month-string>valid month string</a> representing the user's
selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-month-string>valid month
string</a>.</p> <!-- ok to set out-of-range value, we never know
when we might have to represent bogus input -->
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> If the <a href=#concept-fe-value title=concept-fe-value>value</a>
of the element is not a <a href=#valid-month-string>valid month string</a>, then set it
a <a href=#valid-week-string>valid week string</a> representing the user's
selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-week-string>valid week
string</a>.</p> <!-- ok to set out-of-range value, we never know
when we might have to represent bogus input -->
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> If the <a href=#concept-fe-value title=concept-fe-value>value</a>
of the element is not a <a href=#valid-week-string>valid week string</a>, then set it
a <a href=#valid-time-string>valid time string</a> representing the user's
selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-time-string>valid time
string</a>.</p> <!-- ok to set out-of-range value, we never know
when we might have to represent bogus input -->
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> If the <a href=#concept-fe-value title=concept-fe-value>value</a>
of the element is not a <a href=#valid-time-string>valid time string</a>, then set it
<a href=#valid-local-date-and-time-string>valid local date and time string</a> representing the
user's selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-local-date-and-time-string>valid local date and
time string</a>.</p> <!-- ok to set out-of-range value, we never
know when we might have to represent bogus input -->
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> If the <a href=#concept-fe-value title=concept-fe-value>value</a>
of the element is not a <a href=#valid-local-date-and-time-string>valid local date and time
floating point number</a> representing the user's selection. User
agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-floating-point-number>valid floating point
number</a>.</p> <!-- ok to set out-of-range value, we never know
when we might have to represent bogus input -->
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> If the <a href=#concept-fe-value title=concept-fe-value>value</a>
of the element is not a <a href=#valid-floating-point-number>valid floating point number</a>,
floating point number</a> representing the user's selection. User
agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
<p>The <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, if
specified, must have a value that is a <a href=#valid-floating-point-number>valid floating point
number</a>.</p> <!-- ok to set out-of-range value, we never know
when we might have to represent bogus input -->
<p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
follows:</strong> If the <a href=#concept-fe-value title=concept-fe-value>value</a>
of the element is not a <a href=#valid-floating-point-number>valid floating point number</a>,
<h3 id=contenteditable><span class=secno>6.7 </span>The <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute</h3>
<p>The <dfn id=attr-contenteditable title=attr-contenteditable><code>contenteditable</code></dfn>
attribute is a common attribute. User agents must support this
attribute on all <a href=#html-elements>HTML elements</a>.</p>
<p>The <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code>
attribute is an <a href=#enumerated-attribute>enumerated attribute</a> whose keywords are
the empty string, <code title="">true</code>, and <code title="">false</code>. The empty string and the <code title="">true</code> keyword map to the <i>true</i> state. The
<code title="">false</code> keyword maps to the <i>false</i>
state. In addition, there is a third state, the <i>inherit</i>
state, which is the <i>missing value default</i> (and the
<i>invalid value default</i>).</p>
the empty string, <code title="">true</code>, and <code title="">false</code>. The empty string and the <code title="">true</code> keyword map to the <i>true</i> state. The <code title="">false</code> keyword maps to the <i>false</i> state. In
addition, there is a third state, the <i>inherit</i> state, which is
the <i>missing value default</i> (and the <i>invalid value
default</i>).</p>
<p>If an <a href=#html-elements title="HTML elements">HTML element</a> has a <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
the true state, or it has its <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
Eira Monstad, Elliotte Harold, Eric Carlson, Eric Law, Erik
Arvidsson, Evan Martin, Evan Prodromou, fantasai, Felix Sasaki,
Franck 'Shift' Quélain, Garrett Smith, Geoffrey Garen,
Geoffrey Sneddon, Håkon Wium Lie, Henri Sivonen, Henrik Lied ,
Henry Mason, Hugh Winkler, Ignacio Javier, Ivo Emanuel
Geoffrey Sneddon, George Lund, Håkon Wium Lie, Henri Sivonen,
Henrik Lied, Henry Mason, Hugh Winkler, Ignacio Javier, Ivo Emanuel
Gonçalves, J. King, Jacques Distler, James Graham, James
Justin Harrell, James M Snell, James Perrett, Jan-Klaas Kollhof,
Jason White, Jasper Bryant-Greene, Jeff Cutsinger, Jeff Schiller,