- From: Anne van Kesteren via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 23 Jan 2009 17:02:32 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/html4-differences
In directory hutz:/tmp/cvs-serv14254
Modified Files:
Overview.html Overview.src.html
Log Message:
a shitload has changed since June; this is the summary
Index: Overview.html
===================================================================
RCS file: /sources/public/html5/html4-differences/Overview.html,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -d -r1.49 -r1.50
--- Overview.html 9 Jun 2008 18:40:42 -0000 1.49
+++ Overview.html 23 Jan 2009 17:02:30 -0000 1.50
@@ -11,7 +11,7 @@
code :link, code :visited { color:inherit }
pre code { color:inherit }
</style>
- <link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel=stylesheet>
+ <link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel=stylesheet>
<body>
<div class=head>
@@ -20,13 +20,13 @@
<h1 id=html5-diff>HTML 5 differences from HTML 4</h1>
- <h2 class="no-num no-toc" id=w3c-doctype>W3C Working Draft 9 June 2008</h2>
+ <h2 class="no-num no-toc" id=w3c-doctype>Editor's Draft 23 January 2009</h2>
<dl>
<dt>This Version:
<dd><a
- href="http://www.w3.org/TR/2008/WD-html5-diff-20080609/">http://www.w3.org/TR/2008/WD-html5-diff-20080609/</a>
+ href="http://www.w3.org/TR/2009/ED-html5-diff-20090123/">http://www.w3.org/TR/2009/ED-html5-diff-20090123/</a>
<dt>Latest Version:
@@ -52,12 +52,12 @@
<p class=copyright><a
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
- © 2008 <a href="http://www.w3.org/"><acronym title="World Wide Web
- Consortium">W3C</acronym></a><sup>®</sup> (<a
- href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute
- of Technology">MIT</acronym></a>, <a
- href="http://www.ercim.org/"><acronym title="European Research Consortium
- for Informatics and Mathematics">ERCIM</acronym></a>, <a
+ © 2008 <a href="http://www.w3.org/"><abbr title="World Wide Web
+ Consortium">W3C</abbr></a><sup>®</sup> (<a
+ href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of
+ Technology">MIT</abbr></a>, <a href="http://www.ercim.org/"><abbr
+ title="European Research Consortium for Informatics and
+ Mathematics">ERCIM</abbr></a>, <a
href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
<a
@@ -122,7 +122,7 @@
<!--begin-toc-->
<ul class=toc>
- <li><a href="#introduction"><span class=secno>1. </span>Introduction</a>
+ <li><a href="#introduction"><span class=secno>1 </span>Introduction</a>
<ul class=toc>
<li><a href="#open-issues"><span class=secno>1.1 </span>Open Issues</a>
@@ -136,7 +136,7 @@
Architecture</a>
</ul>
- <li><a href="#syntax"><span class=secno>2. </span>Syntax</a>
+ <li><a href="#syntax"><span class=secno>2 </span>Syntax</a>
<ul class=toc>
<li><a href="#character-encoding"><span class=secno>2.1 </span>Character
Encoding</a>
@@ -148,7 +148,7 @@
</span>Miscellaneous</a>
</ul>
- <li><a href="#language"><span class=secno>3. </span>Language</a>
+ <li><a href="#language"><span class=secno>3 </span>Language</a>
<ul class=toc>
<li><a href="#new-elements"><span class=secno>3.1 </span>New
Elements</a>
@@ -166,7 +166,7 @@
Attributes</a>
</ul>
- <li><a href="#apis"><span class=secno>4. </span>APIs</a>
+ <li><a href="#apis"><span class=secno>4 </span>APIs</a>
<ul class=toc>
<li><a href="#htmldocument-extensions"><span class=secno>4.1
</span>Extensions to <code>HTMLDocument</code></a>
@@ -175,8 +175,8 @@
</span>Extensions to <code>HTMLElement</code></a>
</ul>
- <li><a href="#changelog"><span class=secno>5. </span>HTML 5
- Changelog</a>
+ <li><a href="#changelog"><span class=secno>5 </span>HTML 5
+ Changelogs</a>
<li class=no-num><a href="#acknowledgments">Acknowledgments</a>
@@ -184,7 +184,7 @@
</ul>
<!--end-toc-->
- <h2 id=introduction><span class=secno>1. </span>Introduction</h2>
+ <h2 id=introduction><span class=secno>1 </span>Introduction</h2>
<p>HTML has been in continuous evolution since it was introduced to the
Internet in the early 1990's. Some features were introduced in
@@ -197,11 +197,12 @@
serve as a rough guide to many of the core features of HTML, it does not
provide enough information to build implementations that interoperate with
each other and, more importantly, with a critical mass of deployed
- content. The same goes for XHTML1, which defines an XML serialization for
- HTML 4, and DOM Level 2 HTML, which defines JavaScript APIs for both
- HTML and XHTML. [<cite><a href="#ref-html4">HTML4</a></cite>] [<cite><a
- href="#ref-xhtml1">XHTML1</a></cite>] [<cite><a
- href="#ref-dom2html">DOM2HTML</a></cite>]
+ content. The same goes for XHTML 1, which defines an XML
+ serialization for HTML 4, and DOM Level 2 HTML, which defines
+ JavaScript APIs for both HTML and XHTML. HTML 5 will replace these
+ documents. [<cite><a href="#ref-dom2html">DOM2HTML</a></cite>] [<cite><a
+ href="#ref-html4">HTML4</a></cite>] [<cite><a
+ href="#ref-xhtml1">XHTML1</a></cite>]
<p>The HTML 5 draft reflects an effort, started in 2004, to study
contemporary HTML implementations and deployed content. The draft:
@@ -234,8 +235,6 @@
<li>Details of accessibility and media-independence features, such as the
<code>longdesc</code>, <code>alt</code> and <code>summary</code>
attributes.
-
- <li>The repetition model.
</ul>
<h3 id=backwards-compatible><span class=secno>1.2 </span>Backwards
@@ -252,7 +251,7 @@
authors and user agents. This means that authors can not use the
<code>isindex</code> or <code>plaintext</code> element, but user agents
are required to support them in a way that is compatible with how these
- elements behaved previously.
+ elements need to behave for compatibility with deployed content.
<p>Since HTML 5 has separate conformance requirements for authors and
user agents there is no longer a need for marking things "deprecated".
@@ -288,9 +287,9 @@
inline concepts).
<li>The focus on accessibility as a built-in concept for new features
- (such as the <code>irrelevant</code> attribute, the
- <code>progress</code> element, et cetera) instead of an add-on (like the
- <code>alt</code> attribute).
+ (such as the <code>hidden</code> attribute, the <code>progress</code>
+ element, et cetera) instead of an add-on (like the <code>alt</code>
+ attribute).
<li>The focus on defining the semantics in detail (e.g. the outline
algorithm, replacing the vague semantics in HTML 4).
@@ -324,23 +323,26 @@
API).
<li>The new sandboxing features for <code>iframe</code>.
+
+ <li>The definition of URL.</li>
+ <!-- not part of the e-mail -->
</ul>
</div>
<!-- This closes the <div> added for Michael(tm) Smith. -->
- <h2 id=syntax><span class=secno>2. </span>Syntax</h2>
+ <h2 id=syntax><span class=secno>2 </span>Syntax</h2>
<p>The HTML 5 language has a "custom" HTML syntax that is compatible
- with HTML 4 and XHTML1 documents published on the Web, but is not
- compatible with the more esoteric SGML features of HTML 4, such as
- <code><em/content/</code>. Documents using this "custom" syntax must be
- served with the <code>text/html</code> MIME type.
+ with HTML 4 and XHTML 1 documents published on the Web, but is
+ not compatible with the more esoteric SGML features of HTML 4, such
+ as <code><em/content/</code>. Documents using this "custom" syntax must
+ be served with the <code>text/html</code> media type.
<p>HTML 5 also defines detailed parsing rules (including "error
handling") for this syntax which are largely compatible with popular
- implementations. User agents will follow these rules for resources that
- have the <code>text/html</code> MIME type. Here is an example document
- that conforms to the HTML syntax:
+ implementations. User agents must these rules for resources that have the
+ <code>text/html</code> media type. Here is an example document that
+ conforms to the HTML syntax:
<pre><!doctype html>
<html>
@@ -428,7 +430,7 @@
a valid language identifier, just like <code>xml:lang</code> does in XML.
</ul>
- <h2 id=language><span class=secno>3. </span>Language</h2>
+ <h2 id=language><span class=secno>3 </span>Language</h2>
<p>This section is split up in several subsections to more clearly
illustrate the various differences there are between HTML 4 and
@@ -542,11 +544,8 @@
</datalist></code></pre>
<li>
- <p>The <code>datatemplate</code>, <code>rule</code> and <code>nest</code>
- elements provide a templating mechanism for HTML.
-
- <li>
- <p><code>event-source</code> is used to "catch" server sent events.
+ <p><code>eventsource</code> is used to set up a persistent connection
+ with a server of which messages (events) can be received.
<li>
<p><code>output</code> represents some type of output, such as from a
@@ -557,8 +556,8 @@
downloading or when performing a series of expensive operations.
<li>
- <p>The <code>ruby</code>, <code>rt</code> and <code>rb</code> elements
- allow for marking up ruby annotations.
+ <p><code>ruby</code>, <code>rt</code> and <code>rb</code> allow for
+ marking up ruby annotations.
</ul>
<p>The <code>input</code> element's <code>type</code> attribute now has the
@@ -584,6 +583,10 @@
<li><code>email</code>
<li><code>url</code>
+
+ <li><code>search</code>
+
+ <li><code>color</code>
</ul>
<p>The idea of these new types is that the user agent can provide the user
@@ -617,11 +620,11 @@
<li>
<p>The <code>base</code> element can now have a <code>target</code>
- attribute as well mainly for consistency with the <code>a</code> element
- and because it was already widely supported. Also, the
- <code>target</code> attribute for the <code>a</code> and
- <code>area</code> elements is no longer deprecated, as it is useful in
- Web applications, for example in conjunction with <code>iframe</code>.
+ attribute as well, mainly for consistency with the <code>a</code>
+ element (it is also widely supported). Also, the <code>target</code>
+ attribute for the <code>a</code> and <code>area</code> elements is no
+ longer deprecated, as it is useful in Web applications, e.g. in
+ conjunction with <code>iframe</code>.
<li>
<p>The <code>value</code> attribute for the <code>li</code> element is no
@@ -630,8 +633,9 @@
<li>
<p>The <code>meta</code> element has a <code>charset</code> attribute now
- as this was already supported and provides a nicer way to specify the <a
- href="#character-encoding">character encoding</a> for the document.
+ as this was already widely supported and provides a nice way to specify
+ the <a href="#character-encoding">character encoding</a> for the
+ document.
<li>
<p>A new <code>autofocus</code> attribute can be specified on the
@@ -646,12 +650,8 @@
<p>The new <code>form</code> attribute for <code>input</code>,
<code>output</code>, <code>select</code>, <code>textarea</code>,
<code>button</code> and <code>fieldset</code> elements allows for
- controls to be associated with more than a single form.
-
- <li>
- <p>The <code>input</code>, <code>button</code> and <code>form</code>
- elements have a new <code>replace</code> attribute which affects what
- will be done with the document after a form has been submitted.
+ controls to be associated with a form (e.g. one they are not a
+ descendant of).
<li>
<p>The <code>form</code> and <code>select</code> elements (as well as the
@@ -668,33 +668,23 @@
in order to submit the form.
<li>
- <p>The <code>input</code> and <code>textarea</code> elements have a new
- attribute called <code>inputmode</code> which gives a hint to the user
- interface as to what kind of input is expected.
-
- <li>
<p>You can now disable an entire <code>fieldset</code> by using the
<code>disabled</code> attribute on it. This was not possible before.
<li>
<p>The <code>input</code> element has several new attributes to specify
constraints: <code>autocomplete</code>, <code>min</code>,
- <code>max</code>, <code>pattern</code> and <code>step</code>. As
- mentioned before it also has a new <code>list</code> attribute which can
- be used together with the <code>datalist</code> and <code>select</code>
- element.
-
- <li>
- <p><code>input</code> and <code>button</code> also have a new
- <code>template</code> attribute which can be used for repetition
- templates.
+ <code>max</code>, <code>multiple</code>, <code>pattern</code> and
+ <code>step</code>. As mentioned before it also has a new
+ <code>list</code> attribute which can be used together with the
+ <code>datalist</code> and <code>select</code> element.
<li>
- <p>The <code>menu</code> element has three new attributes:
- <code>type</code>, <code>label</code> and <code>autosubmit</code>. They
- allow the element to transform into a menu as found in typical user
- interfaces as well as providing for context menus in conjunction with
- the global <code>contextmenu</code> attribute.
+ <p>The <code>menu</code> element has two new attributes:
+ <code>type</code> and <code>label</code>. They allow the element to
+ transform into a menu as found in typical user interfaces as well as
+ providing for context menus in conjunction with the global
+ <code>contextmenu</code> attribute.
<li>
<p>The <code>style</code> element has a new <code>scoped</code> attribute
@@ -745,13 +735,9 @@
<li>The <code>draggable</code> attribute can be used together with the new
drag & drop API.
- <li>The <code>irrelevant</code> attribute indicates that an element is not
+ <li>The <code>hidden</code> attribute indicates that an element is not
yet, or is no longer, relevant.
- <li>The <code>ref</code>, <code>registrationmark</code> and
- <code>template</code> global attributes complement the data template
- feature.
-
<li>The <code>data-<var>*</var></code> collection of author defined
attributes. Authors can define any attribute they want as long as they
prefix it with <code>data-</code> to avoid clashes with future versions
@@ -759,26 +745,11 @@
used for user agent extensions.
</ul>
- <p>The following are the attributes for the repetition model. These are
- global attributes and as such may be used on all HTML elements, or on any
- element in any other namespace, with the attributes being in the
- <code>http://www.w3.org/1999/xhtml</code> namespace.:
-
- <ul>
- <li><code>repeat</code>
-
- <li><code>repeat-start</code>
-
- <li><code>repeat-min</code>
-
- <li><code>repeat-max</code>
- </ul>
-
<p>HTML 5 also makes all event handler attributes from HTML 4
that take the form <code>on<var>event-name</var></code> global attributes
and adds several new event handler attributes for new events it defines,
such as the <code>onmessage</code> attribute which can be used together
- with the new <code>event-source</code> element and the cross-document
+ with the new <code>eventsource</code> element and the cross-document
messaging API.
<h3 id=changed-elements><span class=secno>3.3 </span>Changed Elements</h3>
@@ -789,7 +760,8 @@
<ul>
<li>
<p>The <code>a</code> element without an <code>href</code> attribute now
- represents a "placeholder link".
+ represents a "placeholder link". It can also contain flow content rather
+ than being restricted to phrase content.
<li>
<p>The <code>address</code> element is now scoped by the new concept of
@@ -830,10 +802,6 @@
<li>
<p>The <code>strong</code> element now represents importance rather than
strong emphasis.
-
- <li>
- <p>Quotation marks for the <code>q</code> element are now to be provided
- by the author rather than the user agent.
</ul>
<h3 id=absent-elements><span class=secno>3.4 </span>Absent Elements</h3>
@@ -922,8 +890,8 @@
<li><code>version</code> attribute on <code>html</code>.
- <li><code>name</code> attribute on <code>img</code>, <code>form</code> and
- <code>a</code> (use <code>id</code> instead).
+ <li><code>name</code> attribute on <code>img</code> and <code>a</code>
+ (use <code>id</code> instead).
<li><code>scheme</code> attribute on <code>meta</code>.
@@ -942,8 +910,6 @@
and <code>th</code>.
<li><code>scope</code> attribute on <code>td</code>.
-
- <li><code>headers</code> attribute on <code>th</code>.
</ul>
<p>In addition, HTML 5 has none of the presentational attributes that
@@ -1019,7 +985,7 @@
and <code>pre</code>.
</ul>
- <h2 id=apis><span class=secno>4. </span>APIs</h2>
+ <h2 id=apis><span class=secno>4 </span>APIs</h2>
<p>HTML 5 introduces a number of APIs that help in creating Web
applications. These can be used together with the new elements introduced
@@ -1045,7 +1011,7 @@
<li>Drag & drop API in combination with a <code>draggable</code>
attribute.
- <li>Network API.
+ <li>Web Socket API.
<li>API that exposes the history and allows pages to add to it to prevent
breaking the back button. (This API has the necessary security
@@ -1054,10 +1020,7 @@
<li>Cross-document messaging.
<li>Server-sent events in combination with the new
- <code>event-source</code> element.
-
- <li>Notification API to alert the user to new information, such as new
- e-mail messages in an e-mail application.
+ <code>eventsource</code> element.
</ul>
<h3 id=htmldocument-extensions><span class=secno>4.1 </span>Extensions to
@@ -1120,17 +1083,267 @@
functionality for the <code>rel</code> attribute.
</ul>
- <h2 id=changelog><span class=secno>5. </span>HTML 5 Changelog</h2>
+ <h2 id=changelog><span class=secno>5 </span>HTML 5 Changelogs</h2>
- <p>Below is a rough list of changes that have been made to the HTML 5
- specification since the initial publication of the HTML 5 Working
- Draft. This changelog only indicates what has been changed. For more
- detailed discussion please use the <a
+ <p>The changelogs in this section mostly indicate what has been changed.
+ Rationale for changes can be found in the <a
href="http://lists.w3.org/Archives/Public/public-html/"><code>public-html@w3.org</code></a>
and <a
href="http://lists.whatwg.org/pipermail/whatwg-whatwg.org/"><code>whatwg@whatwg.org</code></a>
- mailing list archives. Changes that affect this document have been
- incorperated throughout.
+ mailing list archives and to some extent in the <a
+ href="http://blog.whatwg.org/category/weekly-review">This Week in
+ HTML 5</a> series of blog posts. Many editorial and minor technical
+ changes are not included in these changelogs. If you are an implementor of
+ HTML 5 you are hereby strongly advised to follow the specification
+ more closely.
+
+ <p>The changes in the changelogs are in rough chronological order to ease
+ editing this document. The changelogs are placed in reverse chronological
+ order.
+
+ <p>The changes since the publication on 10 June 2008 are as follows:
+
+ <ul>
+ <li>The <code>data</code> member of <code>ImageData</code> objects has
+ been changed from an array to a <code>CanvasPixelArray</code> object.
+
+ <li>Shadows are now required from implementations of the
+ <code>canvas</code> element and its API.
+
+ <li>Security model for <code>canvas</code> is clarified.
+
+ <li>Various changes to the processing model of <code>canvas</code> have
+ been made in response to implementation and author feedback. E.g.
+ clarifying what happens when NaN and Infinity are passed and fixing the
+ definitions of <code>arc()</code> and <code>arcTo()</code>.
+
+ <li><code>innerHTML</code> in XML was slightly changed to improve round
+ tripping.
+
+ <li>The <code>toDataURL()</code> method on the <code>canvas</code> element
+ now supports setting a quality level when the media type argument is
+ <code>image/jpeg</code>.
+
+ <li>The <code>poster</code> attribute of the <code>video</code> element
+ now affects its intrinsic dimensions.
+
+ <li>The behavior of the <code>type</code> attribute of the
+ <code>link</code> has been clarified.
+
+ <li>Sniffing is now allowed for <code>link</code> when the expected type
+ is an image.
+
+ <li>A section on URLs is introduced dealing with how URL values are to be
+ interpreted and what exactly authors are required to do. Every feature of
+ the specification that uses URLs has been reworded to take the new URL
+ section into account.
+
+ <li>It is now explicit that the <code>href</code> attribute of the
+ <code>base</code> element does not depend on <code>xml:base</code>.
+
+ <li>It is now defined what the behavior should be when the base URL
+ changes.
+
+ <li>URL decomposition DOM attributes are now more aligned with Internet
+ Explorer.
+
+ <li>The <code>xmlns</code> attribute with the value
+ <code>http://www.w3.org/1999/xhtml</code> is now allowed on all HTML
+ elements.
+
+ <li><code>data-<var>*</var></code> attributes and custom attributes on the
+ <code>embed</code> element now have to match the XML <code>Name</code>
+ production and cannot contain a colon.
+
+ <li>Web Socket API is introduced for bidirectional communication with a
+ server. It is currently limited to text messages.</li>
+ <!-- XXX risk -->
+
+ <li>The default value of <code>volume</code> on media elements is now 1.0
+ rather than 0.5.
+
+ <li><code>event-source</code> was renamed to <code>eventsource</code>
+ because no other HTML element uses a hyphen.
+
+ <li>A message channel API has been introduced augmenting
+ <code>postMessage()</code>.
+
+ <li>A new element named <code>bb</code> has been added. It represents a
+ user agent command that the user can invoke.
+
+ <li>The <code>addCueRange()</code> method on media elements has been
+ modified to take an identifier which is exposed in the callbacks.
+
+ <li>It is now defined how to mutate a DOM into an infoset.
+
+ <li>The <code>parent</code> attribute of the <code>Window</code> object is
+ now defined.
+
+ <li>The <code>embed</code> element is defined to do extension sniffing for
+ compatibilty with servers that deliver Flash as <code>text/plain</code>.
+ (This is marked as an issue in the specification to figure out if there
+ is a better way to make this work.)</li>
+ <!-- and no, the answer is not to simply break stuff -->
+
+ <li>The <code>embed</code> can now be used without its <code>src</code>
+ attribute.
+
+ <li><code>getElementsByClassName()</code> is defined to be ASCII
+ case-insensitive in quirks mode for consistency with CSS.
+
+ <li>In HTML documents <code>localName</code> no longer returns the node
+ name in uppercase.
+
+ <li><code>data-<var>*</var></code> attributes are defined to be always
+ lowercase.
+
+ <li>The <code>opener</code> attribute of the <code>Window</code> object is
+ not to be present when the page was opened from a link with
+ <code>target="_blank"</code> and <code>rel="noreferrer"</code>.
+
+ <li>The <code>top</code> attribute of the <code>Window</code> object is
+ now defined.
+
+ <li>The <code>a</code> element now allows nested flow content, e.g. a
+ <code>div</code> element, but not itself.
+
+ <li>It is now defined what the <code>header</code> element means to
+ document summaries and table of contents.
+
+ <li>What it means to fetch a resource is now defined.
+
+ <li>Patterns are now required for the <code>canvas</code> element.
+
+ <li>The <code>autosubmit</code> attribute has been removed from the
+ <code>menu</code> element.
+
+ <li>Support for <code>outerHTML</code> and
+ <code>insertAdjacentHTML()</code> have been added.
+
+ <li><code>xml:lang</code> is now allowed in HTML when <code>lang</code> is
+ also specified and they have the same value. In XML <code>lang</code> is
+ allowed if <code>xml:lang</code> is also specified and they have the same
+ value.
+
+ <li>The <code>frameElement</code> attribute of the <code>Window</code>
+ object is now defined.
+
+ <li>An event loop and task queue is now defined detailing script execution
+ and events. All features have been updated to be defined in terms of this
+ mechanism.
+
+ <li>If the <code>alt</code> attribute is omitted a <code>title</code>
+ attribute, an enclosing <code>figure</code> element with a
+ <code>legend</code> element descendant, or an enclosing section with an
+ associated must be present.
+
+ <li>The <code>irrelevant</code> attribute has been renamed to
+ <code>hidden</code>.
+
+ <li>The <code>definitionURL</code> attribute of MathML is now properly
+ supported. Previously it would have ended up being all lowercase during
+ parsing.
+
+ <li>User agents must treat US-ASCII as Windows-1252 for compatibility
+ reasons.
+
+ <li>An alternative syntax for the <code><a
+ href="#ref-doctype">DOCTYPE</a></code> is allowed for compatibility with
+ XSLT.
+
+ <li>Web Forms 2.0 has been fully integrated into the specification. This
+ means that just like in HTML 4 there is a chapter on forms.
+
+ <li>Features from Web Forms 2.0 that did not make the cut: repetition
+ templates, XML submission, the <code>replace</code> attribute, the
+ <code>inputmode</code> attribute and seeding of values through an
+ external resource.
+
+ <li>Data templates have been removed as well (consisted of the
+ <code>datatemplate</code>, <code>rule</code> and <code>nest</code>
+ elements).
+
+ <li>The media elements now support just a single <code>loop</code>
+ attribute.
+
+ <li>The <code>load()</code> method on media elements has been redefined as
+ asynchronous. It also tries out files in turn now.
+
+ <li>A new member called <code>canPlayType()</code> has been added to the
+ media elements.
+
+ <li>The <code>totalBytes</code> and <code>bufferedBytes</code> attributes
+ have been removed from the media elements.
+
+ <li>The <code>input</code> element gained a <code>placeholder</code>
+ attribute.
+
+ <li>The <code>Location</code> object gained a <code>resolveURL()</code>
+ method.
+
+ <li><code>object</code> elements now partake in form submission.
+
+ <li>The <code>type</code> attribute of the <code>input</code> element
+ gained the values <code>color</code> and <code>search</code>.
+
+ <li>The <code>input</code> element gained a <code>multiple</code>
+ attribute which allows for either multiple e-mails or multiple files to
+ be uploaded depending on the value of the <code>type</code> attribute.
+
+ <li>The <code>form</code> and <code>input</code> elements now have a
+ <code>novalidate</code> attribute to indicate that the form fields should
+ not be required to have valid values upon submission.
+
+ <li>The <code>q</code> element has changed again. Punctation is to be
+ provided by the user agent again.
+
+ <li>Various changes were made to the HTML parser algorithm to be more in
+ line with the behavior Web sites require.
+
+ <li>The <code>unload</code> and <code>beforeunload</code> events are now
+ defined.
+
+ <li>The IDL blocks in the specification have been revamped to be in line
+ with the upcoming Web IDL specification.
+
+ <li>Table headers can now have headers. User agents are required to
+ support a <code>headers</code> attribute pointing to a <code>td</code>
+ element, but authors are required to use <code>th</code> instead.
+
+ <li>Interested parties can now register new <code>http-equiv</code>
+ values.
+
+ <li>When the <code>meta</code> element has a <code>charset</code>
+ attribute it must occur within the first 512 bytes.
+
+ <li>The <code>StorageEvent</code> object now has a
+ <code>storageArea</code> attribute.
+
+ <li>It is now defined how HTML is to be used within the SVG
+ <code>foreignObject</code> element.
+
+ <li>When the <code>label</code> element contains an <code>input</code> it
+ may still have a <code>for</code> attribute as long as it points to the
+ <code>input</code> element it contains.
+
+ <li>The <code>input</code> element now has an <code>indeterminate</code>
+ DOM attribute.
+
+ <li>The notification API has been dropped.
+
+ <li>How [[Get]] works for the <code>HTMLDocument</code> and
+ <code>Window</code> objects is now defined.
+
+ <li>The <code>Window</code> object gained the <code>locationbar</code>,
+ <code>menubar</code>, <code>personalbar</code>, <code>scrollbars</code>,
+ <code>statusbar</code> and <code>toolbar</code> attributes giving
+ information about the user interface.
+
+ <li>The application cache section has been significantly revised and
+ updated.
+ </ul>
+
+ <p>The changes since the publication on 22 January 2008 are as follows:
<ul>
<li>Implementation and authoring details around the <code>ping</code>
@@ -1257,25 +1470,15 @@
<dt>[<dfn id=ref-html5>HTML5</dfn>]
<dd><cite><a href="http://www.w3.org/TR/html5/">HTML 5</a></cite>, I.
- Hickson, D. Hyatt, editors. W3C, June 2008.
-
- <dd><cite><a href="http://www.w3.org/TR/web-forms-2/">Web Forms
- 2.0</a></cite>, I. Hickson, editor. W3C, October 2006.
+ Hickson, D. Hyatt, editors. W3C, XXX.
<dd><cite><a
href="http://www.whatwg.org/specs/web-apps/current-work/">HTML
- 5</a></cite>, I. Hickson, editor. WHATWG, June 2008.
-
- <dd><cite><a
- href="http://www.whatwg.org/specs/web-forms/current-work/">Web Forms
- 2.0</a></cite>, I. Hickson, editor. WHATWG, October 2006.
+ 5</a></cite> (editor's draft), I. Hickson, editor. WHATWG, 2009.
<dd><cite><a
href="http://www.w3.org/html/wg/html5/">HTML 5</a></cite> (editor's
- draft), I. Hickson, D. Hyatt, editors. W3C, June 2008.
-
- <dd><cite><a href="http://dev.w3.org/html5/web-forms-2/">Web Forms
- 2.0</a></cite> (editor's draft), I. Hickson, editor. W3C, October 2006.
+ draft), I. Hickson, D. Hyatt, editors. W3C, 2009.
<dt>[<dfn id=ref-xhtml1>XHTML1</dfn>]
Index: Overview.src.html
===================================================================
RCS file: /sources/public/html5/html4-differences/Overview.src.html,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- Overview.src.html 9 Jun 2008 18:40:42 -0000 1.28
+++ Overview.src.html 23 Jan 2009 17:02:30 -0000 1.29
@@ -21,7 +21,7 @@
<dl>
<dt>This Version:</dt>
- <dd><a href="[VERSION]/">http://www.w3.org/TR/[YEAR]/WD-html5-diff-[CDATE]/</a></dd>
+ <dd><a href="[VERSION]/">http://www.w3.org/TR/[YEAR]/ED-html5-diff-[CDATE]/</a></dd>
<dt>Latest Version:</dt>
<dd><a href="http://www.w3.org/TR/html5-diff/">http://www.w3.org/TR/html5-diff/</a></dd>
@@ -29,7 +29,8 @@
<dt>Latest Editor Version:</dt>
<dd><a href="http://www.w3.org/html/wg/html5/diff/">http://www.w3.org/html/wg/html5/diff/</a></dd>
- <dt>Previous Version:</dt>
+ <dt>Previous Versions:</dt>
+ <dd><a href="http://www.w3.org/TR/2008/WD-html5-diff-20080610/">http://www.w3.org/TR/2008/WD-html5-diff-20080610/</a></dd>
<dd><a href="http://www.w3.org/TR/2008/WD-html5-diff-20080122/">http://www.w3.org/TR/2008/WD-html5-diff-20080122/</a></dd>
<dt>Editor:</dt>
@@ -40,9 +41,9 @@
<p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
© 2008
- <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup>
- (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>,
- <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
+ <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+ <a href="http://www.ercim.org/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
<a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C
<a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
<a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
@@ -123,12 +124,12 @@
to serve as a rough guide to many of the core features of HTML, it does
not provide enough information to build implementations that
interoperate with each other and, more importantly, with a critical mass
- of deployed content. The same goes for XHTML1, which defines an XML
- serialization for HTML 4, and DOM Level 2 HTML, which defines
- JavaScript APIs for both HTML and XHTML.
+ of deployed content. The same goes for XHTML 1, which defines an
+ XML serialization for HTML 4, and DOM Level 2 HTML, which defines
+ JavaScript APIs for both HTML and XHTML. HTML 5 will replace these
+ documents. [<cite><span>DOM2HTML</span></cite>]
[<cite><span>HTML4</span></cite>]
- [<cite><span>XHTML1</span></cite>]
- [<cite><span>DOM2HTML</span></cite>]</p>
+ [<cite><span>XHTML1</span></cite>]</p>
<p>The HTML 5 draft reflects an effort, started in 2004, to study
contemporary HTML implementations and deployed content. The draft:</p>
@@ -158,7 +159,6 @@
<li>Details of accessibility and media-independence features, such as
the <code>longdesc</code>, <code>alt</code> and <code>summary</code>
attributes.</li>
- <li>The repetition model.</li>
</ul>
@@ -176,7 +176,8 @@
requirements for authors and user agents. This means that authors can
not use the <code>isindex</code> or <code>plaintext</code> element, but
user agents are required to support them in a way that is compatible
- with how these elements behaved previously.</p>
+ with how these elements need to behave for compatibility with deployed
+ content.</p>
<p>Since HTML 5 has separate conformance requirements for authors
and user agents there is no longer a need for marking things
@@ -195,7 +196,7 @@
<!-- The following <div> is here for Michael(tm) Smith who owes the
editor one beer in exchange. -->
<div>
-
+
<h3 id="webarch">Impact on Web Architecture</h3>
<!-- http://lists.w3.org/Archives/Public/www-tag/2008May/0087.html -->
@@ -217,7 +218,7 @@
inline concepts).</li>
<li>The focus on accessibility as a built-in concept for new features
- (such as the <code>irrelevant</code> attribute, the
+ (such as the <code>hidden</code> attribute, the
<code>progress</code> element, et cetera) instead of an add-on (like
the <code>alt</code> attribute).</li>
@@ -253,6 +254,8 @@
<code>postMessage</code> API).</li>
<li>The new sandboxing features for <code>iframe</code>.</li>
+
+ <li>The definition of URL.</li> <!-- not part of the e-mail -->
</ul>
</div>
@@ -261,17 +264,18 @@
<h2 id="syntax">Syntax</h2>
- <p>The HTML 5 language has a "custom" HTML syntax that is compatible
- with HTML 4 and XHTML1 documents published on the Web, but is not
- compatible with the more esoteric SGML features of HTML 4, such as
- <code><em/content/</code>. Documents using this "custom" syntax must be
- served with the <code>text/html</code> MIME type.</p>
+ <p>The HTML 5 language has a "custom" HTML syntax that is
+ compatible with HTML 4 and XHTML 1 documents published on the
+ Web, but is not compatible with the more esoteric SGML features of
+ HTML 4, such as <code><em/content/</code>. Documents using the
+ HTML syntax must be served with the <code>text/html</code> media
+ type.</p>
<p>HTML 5 also defines detailed parsing rules (including "error
handling") for this syntax which are largely compatible with popular
- implementations. User agents will follow these rules for resources that have
- the <code>text/html</code> MIME type. Here is an example document that
- conforms to the HTML syntax:</p>
+ implementations. User agents must use these rules for resources that
+ have the <code>text/html</code> media type. Here is an example document
+ that conforms to the HTML syntax:</p>
<pre><!doctype html>
<html>
@@ -284,9 +288,9 @@
</body>
</html></pre>
- <p>The other syntax that can be used for HTML 5 is XML. This syntax is
- compatible with XHTML1 documents and implementations. Documents using this
- syntax need to be served with an XML MIME type and elements need to be put
+ <p>The other syntax that can be used for HTML 5 is XML. This syntax
+ is compatible with XHTML1 documents and implementations. Documents using
+ this syntax need to be served with an XML MIME type and elements need to be put
in the <code>http://www.w3.org/1999/xhtml</code> namespace following the
rules set forth by the XML specifications.
[<cite><span>XML</span></cite>]</p>
@@ -470,23 +474,20 @@
</datalist></code></pre>
</li>
- <li><p>The <code>datatemplate</code>, <code>rule</code> and
- <code>nest</code> elements provide a templating mechanism for
- HTML.</p></li>
+ <li><p><code>eventsource</code> is used to set up a
+ persistent connection with a server of which messages (events) can be
+ received.</p></li>
+
+ <li><p><code>output</code> represents some type of output, such as
+ from a calculation done through scripting.</p></li>
- <li><p><code>event-source</code> is used to "catch" server sent
- events.</p></li>
-
- <li><p><code>output</code> represents some type of output, such as from a
- calculation done through scripting.</p></li>
-
<li><p><code>progress</code> represents a completion of a task, such as
downloading or when performing a series of expensive operations.</p></li>
-
- <li><p>The <code>ruby</code>, <code>rt</code> and <code>rb</code>
- elements allow for marking up ruby annotations.</p></li>
+
+ <li><p><code>ruby</code>, <code>rt</code> and <code>rb</code> allow
+ for marking up ruby annotations.</p></li>
</ul>
-
+
<p>The <code>input</code> element's <code>type</code> attribute now has the
following new values:</p>
@@ -510,6 +511,10 @@
<li><code>email</code>
<li><code>url</code>
+
+ <li><code>search</code>
+
+ <li><code>color</code>
</ul>
<p>The idea of these new types is that the user agent can provide the user
@@ -540,20 +545,22 @@
<code>hreflang</code> and <code>rel</code> attributes.
<li><p>The <code>base</code> element can now have a <code>target</code>
- attribute as well mainly for consistency with the <code>a</code> element
- and because it was already widely supported. Also, the
- <code>target</code> attribute for the <code>a</code> and <code>area</code>
- elements is no longer deprecated, as it is useful in Web applications, for
- example in conjunction with <code>iframe</code>.
-
- <li><p>The <code>value</code> attribute for the <code>li</code> element is
- no longer deprecated as it is not presentational. The same goes for the
- <code>start</code> attribute of the <code>ol</code> element.
+ attribute as well, mainly for consistency with the
+ <code>a</code> element (it is also widely supported). Also, the
+ <code>target</code> attribute for the <code>a</code> and
+ <code>area</code> elements is no longer deprecated, as it is useful in
+ Web applications, e.g. in conjunction with <code>iframe</code>.
- <li><p>The <code>meta</code> element has a <code>charset</code> attribute
- now as this was already supported and provides a nicer way to specify the
+ <li><p>The <code>value</code> attribute for the <code>li</code>
+ element is no longer deprecated as it is not presentational. The same
+ goes for the <code>start</code> attribute of the <code>ol</code>
+ element.
+
+ <li><p>The <code>meta</code> element has a <code>charset</code>
+ attribute now as this was already widely supported and provides a nice
+ way to specify the
<a href="#character-encoding">character encoding</a> for the document.
-
+
<li><p>A new <code>autofocus</code> attribute can be specified on the
<code>input</code> (except when the <code>type</code> attribute is
<code>hidden</code>), <code>select</code>, <code>textarea</code> and
@@ -561,71 +568,61 @@
form control during page load. Using this feature should enhance the user
experience as the user can turn it off if he does not like it, for
instance.
-
+
<li><p>The new <code>form</code> attribute for <code>input</code>,
<code>output</code>, <code>select</code>, <code>textarea</code>,
- <code>button</code> and <code>fieldset</code> elements allows for controls
- to be associated with more than a single form.
-
- <li><p>The <code>input</code>, <code>button</code> and <code>form</code>
- elements have a new <code>replace</code> attribute which affects what will
- be done with the document after a form has been submitted.
-
+ <code>button</code> and <code>fieldset</code> elements allows for
+ controls to be associated with a form (e.g. one they are not a
+ descendant of).
+
<li><p>The <code>form</code> and <code>select</code> elements (as well as
the <code>datalist</code> element) have a <code>data</code> attribute that
allows for automatically prefilling of form controls, in case of
<code>form</code>, or the form control, in case of <code>select</code> and
<code>datalist</code>, with data from the server.
-
+
<li><p>The new <code>required</code> attribute applies to
<code>input</code> (except when the <code>type</code> attribute is
<code>hidden</code>, <code>image</code> or some button type such as
<code>submit</code>) and <code>textarea</code>. It indicates that the user
has to fill in a value in order to submit the form.
-
- <li><p>The <code>input</code> and <code>textarea</code> elements have a
- new attribute called <code>inputmode</code> which gives a hint to the user
- interface as to what kind of input is expected.
-
+
<li><p>You can now disable an entire <code>fieldset</code> by using the
<code>disabled</code> attribute on it. This was not possible before.
-
+
<li><p>The <code>input</code> element has several new attributes to
specify constraints: <code>autocomplete</code>, <code>min</code>,
- <code>max</code>, <code>pattern</code> and <code>step</code>. As mentioned
+ <code>max</code>, <code>multiple</code>, <code>pattern</code> and
+ <code>step</code>. As mentioned
before it also has a new <code>list</code> attribute which can be used
together with the <code>datalist</code> and <code>select</code> element.
-
- <li><p><code>input</code> and <code>button</code> also have a new
- <code>template</code> attribute which can be used for repetition
- templates.
-
- <li><p>The <code>menu</code> element has three new attributes:
- <code>type</code>, <code>label</code> and <code>autosubmit</code>. They
+
+ <li><p>The <code>menu</code> element has two new attributes:
+ <code>type</code> and <code>label</code>. They
allow the element to transform into a menu as found in typical user
interfaces as well as providing for context menus in conjunction with the
global <code>contextmenu</code> attribute.
-
+
<li><p>The <code>style</code> element has a new <code>scoped</code>
attribute which can be used to enable scoped style sheets. Style rules
within such a <code>style</code> element only apply to the local tree.
-
+
<li><p>The <code>script</code> element has a new attribute called
<code>async</code> that influences script loading and execution.
-
+
<li><p>The <code>html</code> element has a new attribute called
<code>manifest</code> that points to an application cache manifest
used in conjunction with the API for offline Web applications.
-
+
<li><p>The <code>link</code> element has a new attribute called
<code>sizes</code>. It can be used in conjunction with the
<code>icon</code> relationship (set through the <code>rel</code>
attribute) to indicate the size of the referenced icon.
-
+
<li><p>The <code>ol</code> element has a new attribute called
<code>reversed</code> to indicate that the list order is
descending when present.
-
+
<li><p>The <code>iframe</code> element has two new attributes called
<code>seamless</code> and <code>sandbox</code> which allow for
sandboxing content, e.g. blog comments.</p></li>
@@ -649,13 +646,9 @@
<li>The <code>draggable</code> attribute can be used together with the new
drag & drop API.
- <li>The <code>irrelevant</code> attribute indicates that an element is not
+ <li>The <code>hidden</code> attribute indicates that an element is not
yet, or is no longer, relevant.
-
- <li>The <code>ref</code>, <code>registrationmark</code> and
- <code>template</code> global attributes complement the data template
- feature.
-
+
<li>The <code>data-<var>*</var></code> collection of author defined
attributes. Authors can define any attribute they want as long as they
prefix it with <code>data-</code> to avoid clashes with future
@@ -663,23 +656,11 @@
they are not used for user agent extensions.
</ul>
- <p>The following are the attributes for the repetition model. These are
- global attributes and as such may be used on all HTML elements, or on
- any element in any other namespace, with the attributes being in the
- <code>http://www.w3.org/1999/xhtml</code> namespace.:</p>
-
- <ul>
- <li><code>repeat</code>
- <li><code>repeat-start</code>
- <li><code>repeat-min</code>
- <li><code>repeat-max</code>
- </ul>
-
<p>HTML 5 also makes all event handler attributes from HTML 4 that
take the form <code>on<var>event-name</var></code> global attributes and
adds several new event handler attributes for new events it defines, such as
the <code>onmessage</code> attribute which can be used together with the new
- <code>event-source</code> element and the cross-document messaging API.</p>
+ <code>eventsource</code> element and the cross-document messaging API.</p>
<h3 id="changed-elements">Changed Elements</h3>
@@ -687,20 +668,21 @@
<p>These elements have slightly modified meanings in HTML 5 to
better reflect how they are used on the Web or to make them more
useful:</p>
-
+
<ul>
<li><p>The <code>a</code> element without an <code>href</code>
- attribute now represents a "placeholder link".</p></li>
-
- <li><p>The <code>address</code> element is now scoped by the new concept
- of sectioning.</p></li>
-
+ attribute now represents a "placeholder link". It can also contain
+ flow content rather than being restricted to phrase content.</p></li>
+
+ <li><p>The <code>address</code> element is now scoped by the new
+ concept of sectioning.</p></li>
+
<li><p>The <code>b</code> element now represents a span of text to be
stylistically offset from the normal prose without conveying any extra
importance, such as key words in a document abstract, product names in a
review, or other spans of text whose typical typographic presentation is
emboldened.</p></li>
-
+
<li><p>The <code>hr</code> element now represents a paragraph-level
thematic break.
@@ -710,22 +692,19 @@
another language, a thought, a ship name, or some other prose whose
typical typographic presentation is italicized. Usage varies widely by
language.</p></li>
-
+
<li><p>For the <code>label</code> element the browser should no longer
move focus from the label to the control unless such behaviour is standard
for the underlying platform user interface.</p></li>
-
- <li><p>The <code>menu</code> element is redefined to be useful for actual
- menus.</p></li>
-
- <li><p>The <code>small</code> element now represents small print (for side
- comments and legal print).</p></li>
-
+
+ <li><p>The <code>menu</code> element is redefined to be useful for
+ actual menus.</p></li>
+
+ <li><p>The <code>small</code> element now represents small print (for
+ side comments and legal print).</p></li>
+
<li><p>The <code>strong</code> element now represents importance rather
than strong emphasis.</p></li>
-
- <li><p>Quotation marks for the <code>q</code> element are now to be
- provided by the author rather than the user agent.
</ul>
@@ -796,50 +775,48 @@
defined how they should work in those scenarios.</p>
<ul>
- <li><code>accesskey</code> attribute on <code>a</code>, <code>area</code>,
- <code>button</code>, <code>input</code>, <code>label</code>,
- <code>legend</code> and <code>textarea</code>.</li>
+ <li><code>accesskey</code> attribute on <code>a</code>,
+ <code>area</code>, <code>button</code>, <code>input</code>,
+ <code>label</code>, <code>legend</code> and
+ <code>textarea</code>.</li>
<li><code>rev</code> and <code>charset</code> attributes on
<code>link</code> and <code>a</code>.
-
+
<li><code>shape</code> and <code>coords</code> attributes on
<code>a</code>.
-
+
<li><code>longdesc</code> attribute on <code>img</code> and
<code>iframe</code>.
-
+
<li><code>target</code> attribute on <code>link</code>.
-
+
<li><code>nohref</code> attribute on <code>area</code>.
-
+
<li><code>profile</code> attribute on <code>head</code>.
-
+
<li><code>version</code> attribute on <code>html</code>.
- <li><code>name</code> attribute on <code>img</code>,
- <code>form</code> and <code>a</code> (use <code>id</code> instead).
+ <li><code>name</code> attribute on <code>img</code> and <code>a</code>
+ (use <code>id</code> instead).
<li><code>scheme</code> attribute on <code>meta</code>.
-
+
<li><code>archive</code>, <code>classid</code>, <code>codebase</code>,
<code>codetype</code>, <code>declare</code> and <code>standby</code>
attributes on <code>object</code>.
-
+
<li><code>valuetype</code> and <code>type</code> attributes on
<code>param</code>.
-
- <li><code>language</code> attribute on
- <code>script</code>.
-
+
+ <li><code>language</code> attribute on <code>script</code>.
+
<li><code>summary</code> attribute on <code>table</code>.
<li><code>axis</code> and <code>abbr</code>
attributes on <code>td</code> and <code>th</code>.
<li><code>scope</code> attribute on <code>td</code>.
-
- <li><code>headers</code> attribute on <code>th</code>.
</ul>
<p>In addition, HTML 5 has none of the presentational attributes that
@@ -852,8 +829,8 @@
<code>hr</code>, <code>div</code>, <code>h1</code>, <code>h2</code>,
<code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code>,
<code>p</code>, <code>col</code>, <code>colgroup</code>,
- <code>tbody</code>, <code>td</code>, <code>tfoot</code>, <code>th</code>,
- <code>thead</code> and <code>tr</code>.
+ <code>tbody</code>, <code>td</code>, <code>tfoot</code>,
+ <code>th</code>, <code>thead</code> and <code>tr</code>.
<li><code>alink</code>, <code>link</code>, <code>text</code> and
<code>vlink</code> attributes on <code>body</code>.
@@ -945,7 +922,7 @@
<li>Drag & drop API in combination with a <code>draggable</code>
attribute.</li>
- <li>Network API.</li>
+ <li>Web Socket API.</li>
<li>API that exposes the history and allows pages to add to it to prevent
breaking the back button. (This API has the necessary security
@@ -954,10 +931,7 @@
<li>Cross-document messaging.</li>
<li>Server-sent events in combination with the new
- <code>event-source</code> element.</li>
-
- <li>Notification API to alert the user to new information, such as new
- e-mail messages in an e-mail application.
+ <code>eventsource</code> element.</li>
</ul>
@@ -1014,18 +988,200 @@
</ul>
- <h2 id="changelog">HTML 5 Changelog</h2>
+ <h2 id="changelog">HTML 5 Changelogs</h2>
- <p>Below is a rough list of changes that have been made to the
- HTML 5 specification since the initial publication of the
- HTML 5 Working Draft. This changelog
- only indicates what has been changed. For more detailed discussion
- please use the
+ <p>The changelogs in this section mostly indicate what has been changed.
+ Rationale for changes can be found in the
<a href="http://lists.w3.org/Archives/Public/public-html/"><code>public-html@w3.org</code></a>
and
<a href="http://lists.whatwg.org/pipermail/whatwg-whatwg.org/"><code>whatwg@whatwg.org</code></a>
- mailing list archives. Changes that affect this document have been
- incorperated throughout.</p>
+ mailing list archives and to some extent in the
+ <a href="http://blog.whatwg.org/category/weekly-review">This Week in HTML 5</a>
+ series of blog posts. Many editorial and minor technical changes are not
+ included in these changelogs. If you are an implementor of HTML 5
+ you are hereby strongly advised to follow the specification more
+ closely.</p>
+
+ <p>The changes in the changelogs are in rough chronological order to
+ ease editing this document. The changelogs are placed in reverse
+ chronological order.</p>
+
+ <p>The changes since the publication on 10 June 2008 are as follows:</p>
+
+ <ul>
+ <li>The <code>data</code> member of <code>ImageData</code> objects has
+ been changed from an array to a <code>CanvasPixelArray</code>
+ object.</li>
+ <li>Shadows are now required from implementations of the
+ <code>canvas</code> element and its API.</li>
+ <li>Security model for <code>canvas</code> is clarified.</li>
+ <li>Various changes to the processing model of <code>canvas</code> have
+ been made in response to implementation and author feedback. E.g.
+ clarifying what happens when NaN and Infinity are passed and fixing the
+ definitions of <code>arc()</code> and <code>arcTo()</code>.</li>
+ <li><code>innerHTML</code> in XML was slightly changed to improve round
+ tripping.</li>
+ <li>The <code>toDataURL()</code> method on the <code>canvas</code>
+ element now supports setting a quality level when the media type
+ argument is <code>image/jpeg</code>.</li>
+ <li>The <code>poster</code> attribute of the <code>video</code> element
+ now affects its intrinsic dimensions.</li>
+ <li>The behavior of the <code>type</code> attribute of the
+ <code>link</code> has been clarified.</li>
+ <li>Sniffing is now allowed for <code>link</code> when the expected
+ type is an image.</li>
+ <li>A section on URLs is introduced dealing with how URL values are to
+ be interpreted and what exactly authors are required to do. Every
+ feature of the specification that uses URLs has been reworded to take
+ the new URL section into account.</li>
+ <li>It is now explicit that the <code>href</code> attribute of the
+ <code>base</code> element does not depend on
+ <code>xml:base</code>.</li>
+ <li>It is now defined what the behavior should be when the base URL
+ changes.</li>
+ <li>URL decomposition DOM attributes are now more aligned with Internet
+ Explorer.</li>
+ <li>The <code>xmlns</code> attribute with the value
+ <code>http://www.w3.org/1999/xhtml</code> is now allowed on all HTML
+ elements.</li>
+ <li><code>data-<var>*</var></code> attributes and custom attributes on
+ the <code>embed</code> element now have to match the XML
+ <code>Name</code> production and cannot contain a colon.</li>
+ <li>Web Socket API is introduced for bidirectional communication with a
+ server. It is currently limited to text messages.</li> <!-- XXX risk -->
+ <li>The default value of <code>volume</code> on media elements is now
+ 1.0 rather than 0.5.</li>
+ <li><code>event-source</code> was renamed to <code>eventsource</code>
+ because no other HTML element uses a hyphen.</li>
+ <li>A message channel API has been introduced augmenting
+ <code>postMessage()</code>.</li>
+ <li>A new element named <code>bb</code> has been added. It represents a
+ user agent command that the user can invoke.</li>
+ <li>The <code>addCueRange()</code> method on media elements has been
+ modified to take an identifier which is exposed in the callbacks.</li>
+ <li>It is now defined how to mutate a DOM into an infoset.</li>
+ <li>The <code>parent</code> attribute of the <code>Window</code> object
+ is now defined.</li>
+ <li>The <code>embed</code> element is defined to do extension sniffing
+ for compatibilty with servers that deliver Flash as
+ <code>text/plain</code>. (This is marked as an issue in the
+ specification to figure out if there is a better way to make this
+ work.)</li> <!-- and no, the answer is not to simply break stuff -->
+ <li>The <code>embed</code> can now be used without its <code>src</code>
+ attribute.</li>
+ <li><code>getElementsByClassName()</code> is defined to be ASCII
+ case-insensitive in quirks mode for consistency with CSS.</li>
+ <li>In HTML documents <code>localName</code> no longer returns the node
+ name in uppercase.</li>
+ <li><code>data-<var>*</var></code> attributes are defined to be always
+ lowercase.</li>
+ <li>The <code>opener</code> attribute of the <code>Window</code> object
+ is not to be present when the page was opened from a link with
+ <code>target="_blank"</code> and <code>rel="noreferrer"</code>.</li>
+ <li>The <code>top</code> attribute of the <code>Window</code> object is
+ now defined.</li>
+ <li>The <code>a</code> element now allows nested flow content, e.g. a
+ <code>div</code> element, but not itself.</li>
+ <li>It is now defined what the <code>header</code> element means to
+ document summaries and table of contents.</li>
+ <li>What it means to fetch a resource is now defined.</li>
+ <li>Patterns are now required for the <code>canvas</code> element.</li>
+ <li>The <code>autosubmit</code> attribute has been removed from the
+ <code>menu</code> element.</li>
+ <li>Support for <code>outerHTML</code> and
+ <code>insertAdjacentHTML()</code> have been added.</li>
+ <li><code>xml:lang</code> is now allowed in HTML when <code>lang</code>
+ is also specified and they have the same value. In XML
+ <code>lang</code> is allowed if <code>xml:lang</code> is also specified
+ and they have the same value.</li>
+ <li>The <code>frameElement</code> attribute of the <code>Window</code>
+ object is now defined.</li>
+ <li>An event loop and task queue is now defined detailing script
+ execution and events. All features have been updated to be defined in
+ terms of this mechanism.</li>
+ <li>If the <code>alt</code> attribute is omitted a <code>title</code>
+ attribute, an enclosing <code>figure</code> element with a
+ <code>legend</code> element descendant, or an
+ enclosing section with an associated must be present.</li>
+ <li>The <code>irrelevant</code> attribute has been renamed to
+ <code>hidden</code>.</li>
+ <li>The <code>definitionURL</code> attribute of MathML is now properly
+ supported. Previously it would have ended up being all lowercase during
+ parsing.</li>
+ <li>User agents must treat US-ASCII as Windows-1252 for compatibility
+ reasons.</li>
+ <li>An alternative syntax for the <code>DOCTYPE</code> is allowed for
+ compatibility with XSLT.</li>
+ <li>Web Forms 2.0 has been fully integrated into the
+ specification. This means that just like in HTML 4 there is a
+ chapter on forms.</li>
+ <li>Features from Web Forms 2.0 that did not make the cut: repetition
+ templates, XML submission, the <code>replace</code> attribute, the
+ <code>inputmode</code> attribute and
+ seeding of values through an external resource.</li>
+ <li>Data templates have been removed as well (consisted of the
+ <code>datatemplate</code>, <code>rule</code> and <code>nest</code>
+ elements).</li>
+ <li>The media elements now support just a single <code>loop</code>
+ attribute.</li>
+ <li>The <code>load()</code> method on media elements has been
+ redefined as asynchronous. It also tries out files in turn now.</li>
+ <li>A new member called <code>canPlayType()</code> has been added to
+ the media elements.</li>
+ <li>The <code>totalBytes</code> and <code>bufferedBytes</code>
+ attributes have been removed from the media elements.</li>
+ <li>The <code>input</code> element gained a <code>placeholder</code>
+ attribute.</li>
+ <li>The <code>Location</code> object gained a
+ <code>resolveURL()</code> method.</li>
+ <li><code>object</code> elements now partake in form submission.</li>
+ <li>The <code>type</code> attribute of the <code>input</code> element
+ gained the values <code>color</code> and <code>search</code>.</li>
+ <li>The <code>input</code> element gained a <code>multiple</code>
+ attribute which allows for either multiple e-mails or multiple files to
+ be uploaded depending on the value of the <code>type</code>
+ attribute.</li>
+ <li>The <code>form</code> and <code>input</code> elements now have a
+ <code>novalidate</code> attribute to indicate that the form fields
+ should not be required to have valid values upon submission.</li>
+ <li>The <code>q</code> element has changed again. Punctation is to be
+ provided by the user agent again.</li>
+ <li>Various changes were made to the HTML parser algorithm to be more
+ in line with the behavior Web sites require.</li>
+ <li>The <code>unload</code> and <code>beforeunload</code> events are
+ now defined.</li>
+ <li>The IDL blocks in the specification have been revamped to be in
+ line with the upcoming Web IDL specification.</li>
+ <li>Table headers can now have headers. User agents are required to
+ support a <code>headers</code> attribute pointing to a <code>td</code>
+ element, but authors are required to use <code>th</code> instead.</li>
+ <li>Interested parties can now register new <code>http-equiv</code>
+ values.</li>
+ <li>When the <code>meta</code> element has a <code>charset</code>
+ attribute it must occur within the first 512 bytes.</li>
+ <li>The <code>StorageEvent</code> object now has a
+ <code>storageArea</code> attribute.</li>
+ <li>It is now defined how HTML is to be used within the SVG
+ <code>foreignObject</code> element.</li>
+ <li>When the <code>label</code> element contains an <code>input</code>
+ it may still have a <code>for</code> attribute as long as it points to
+ the <code>input</code> element it contains.</li>
+ <li>The <code>input</code> element now has an
+ <code>indeterminate</code> DOM attribute.</li>
+ <li>The notification API has been dropped.</li>
+ <li>How [[Get]] works for the <code>HTMLDocument</code> and
+ <code>Window</code> objects is now defined.</li>
+ <li>The <code>Window</code> object gained the
+ <code>locationbar</code>, <code>menubar</code>,
+ <code>personalbar</code>, <code>scrollbars</code>,
+ <code>statusbar</code> and <code>toolbar</code> attributes giving
+ information about the user interface.</li>
+ <li>The application cache section has been significantly revised and
+ updated.</li>
+ </ul>
+
+ <p>The changes since the publication on 22 January 2008 are as
+ follows:</p>
<ul>
<li>Implementation and authoring details around the <code>ping</code>
@@ -1145,24 +1301,13 @@
<dt>[<dfn id="ref-html5">HTML5</dfn>]</dt>
<dd><cite><a href="http://www.w3.org/TR/html5/">HTML 5</a></cite>,
- I. Hickson, D. Hyatt, editors. W3C, June 2008.</dd>
-
- <dd><cite><a href="http://www.w3.org/TR/web-forms-2/">Web Forms
- 2.0</a></cite>, I. Hickson, editor. W3C, October 2006.</dd>
-
- <dd><cite><a href="http://www.whatwg.org/specs/web-apps/current-work/">HTML
- 5</a></cite>, I. Hickson, editor. WHATWG, June 2008.</dd>
+ I. Hickson, D. Hyatt, editors. W3C, XXX.</dd>
- <dd><cite><a href="http://www.whatwg.org/specs/web-forms/current-work/">Web
- Forms 2.0</a></cite>, I. Hickson, editor. WHATWG, October 2006.</dd>
+ <dd><cite><a href="http://www.whatwg.org/specs/web-apps/current-work/">HTML
+ 5</a></cite> (editor's draft), I. Hickson, editor. WHATWG, 2009.</dd>
<dd><cite><a href="http://www.w3.org/html/wg/html5/">HTML 5</a></cite>
- (editor's draft), I. Hickson, D. Hyatt, editors. W3C, June
- 2008.</dd>
-
- <dd><cite><a href="http://dev.w3.org/html5/web-forms-2/">Web Forms
- 2.0</a></cite> (editor's draft), I. Hickson, editor. W3C, October
- 2006.</dd>
+ (editor's draft), I. Hickson, D. Hyatt, editors. W3C, 2009.</dd>
<dt>[<dfn id="ref-xhtml1">XHTML1</dfn>]</dt>
Received on Friday, 23 January 2009 17:02:44 UTC