html5/html4-differences Overview.html,1.49,1.50 Overview.src.html,1.28,1.29

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&nbsp;5 differences from HTML&nbsp;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>
-    &copy; 2008 <a href="http://www.w3.org/"><acronym title="World Wide Web
-    Consortium">W3C</acronym></a><sup>&reg;</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
+    &copy; 2008 <a href="http://www.w3.org/"><abbr title="World Wide Web
+    Consortium">W3C</abbr></a><sup>&reg;</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&nbsp;5
-    Changelog</a>
+   <li><a href="#changelog"><span class=secno>5 </span>HTML&nbsp;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&nbsp;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&nbsp;1, which defines an XML
+   serialization for HTML&nbsp;4, and DOM Level 2 HTML, which defines
+   JavaScript APIs for both HTML and XHTML. HTML&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;5 language has a "custom" HTML syntax that is compatible
-   with HTML&nbsp;4 and XHTML1 documents published on the Web, but is not
-   compatible with the more esoteric SGML features of HTML&nbsp;4, such as
-   <code>&lt;em/content/</code>. Documents using this "custom" syntax must be
-   served with the <code>text/html</code> MIME type.
+   with HTML&nbsp;4 and XHTML&nbsp;1 documents published on the Web, but is
+   not compatible with the more esoteric SGML features of HTML&nbsp;4, such
+   as <code>&lt;em/content/</code>. Documents using this "custom" syntax must
+   be served with the <code>text/html</code> media type.
 
   <p>HTML&nbsp;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>&lt;!doctype html>
 &lt;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&nbsp;4 and
@@ -542,11 +544,8 @@
 &lt;/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 &amp; 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&nbsp;5 also makes all event handler attributes from HTML&nbsp;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&nbsp;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&nbsp;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 &amp; 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&nbsp;5 Changelog</h2>
+  <h2 id=changelog><span class=secno>5 </span>HTML&nbsp;5 Changelogs</h2>
 
-  <p>Below is a rough list of changes that have been made to the HTML&nbsp;5
-   specification since the initial publication of the HTML&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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>
       &copy; 2008
-      <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>&reg;</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>&reg;</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&nbsp;4, and DOM Level 2 HTML, which defines
-    JavaScript APIs for both HTML and XHTML.
+    of deployed content. The same goes for XHTML&nbsp;1, which defines an
+    XML serialization for HTML&nbsp;4, and DOM Level 2 HTML, which defines
+    JavaScript APIs for both HTML and XHTML. HTML&nbsp;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&nbsp;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&nbsp;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&nbsp;5 language has a "custom" HTML syntax that is compatible
-    with HTML&nbsp;4 and XHTML1 documents published on the Web, but is not
-    compatible with the more esoteric SGML features of HTML&nbsp;4, such as
-    <code>&lt;em/content/</code>. Documents using this "custom" syntax must be
-    served with the <code>text/html</code> MIME type.</p>
+    <p>The HTML&nbsp;5 language has a "custom" HTML syntax that is
+    compatible with HTML&nbsp;4 and XHTML&nbsp;1 documents published on the
+    Web, but is not compatible with the more esoteric SGML features of
+    HTML&nbsp;4, such as <code>&lt;em/content/</code>. Documents using the
+    HTML syntax must be served with the <code>text/html</code> media
+    type.</p>
 
     <p>HTML&nbsp;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>&lt;!doctype html>
 &lt;html>
@@ -284,9 +288,9 @@
   &lt;/body>
 &lt;/html></pre>
 
-    <p>The other syntax that can be used for HTML&nbsp;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&nbsp;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 @@
 &lt;/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 &amp; 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&nbsp;5 also makes all event handler attributes from HTML&nbsp;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&nbsp;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&nbsp;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 &amp; 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&nbsp;5 Changelog</h2>
+    <h2 id="changelog">HTML&nbsp;5 Changelogs</h2>
 
-    <p>Below is a rough list of changes that have been made to the
-    HTML&nbsp;5 specification since the initial publication of the
-    HTML&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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