HTML Standard Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/4066

File a bug

SVNBugCommentTime (UTC)
4066Update microdata based on results of usability study2009-10-02 21:44
Index: source
===================================================================
--- source	(revision 4065)
+++ source	(revision 4066)
@@ -5894,7 +5894,7 @@
   title="">name</var>)</code></dfn> method must return a
   <code>PropertyNodeList</code> object representing a live view of the
   <code>HTMLPropertyCollection</code> object, further filtered so that
-  the only nodes in the <code>RadioNodeList</code> object are those
+  the only nodes in the <code>PropertyNodeList</code> object are those
   that have a <span title="property names">property name</span> equal
   to <var title="">name</var>. The nodes in the
   <code>PropertyNodeList</code> object must be sorted in <span>tree
@@ -7592,11 +7592,12 @@
   readonly attribute <span>DOMStringMap</span> <span title="dom-dataset">dataset</span>;
 
   // <span>microdata</span>
-           attribute DOMString <span title="dom-item">item</span>;
+           attribute boolean <span title="dom-itemscope">itemscope</span>;
+           attribute DOMString <span title="dom-itemtype">itemtype</span>;
+           attribute DOMString <span title="dom-itemid">itemid</span>;
   [PutForwards=<span title="dom-DOMSettableTokenList-value">value</span>] readonly attribute <span>DOMSettableTokenList</span> <span title="dom-itemprop">itemprop</span>;
   readonly attribute <span>HTMLPropertyCollection</span> <span title="dom-properties">properties</span>;
            attribute DOMString <span title="dom-content">content</span>;
-           attribute <span>HTMLElement</span> <span title="dom-subject">subject</span>;
 
   // <span>user interaction</span>
            attribute boolean <span title="dom-hidden">hidden</span>;
@@ -7714,9 +7715,10 @@
    <li><code title="attr-draggable">draggable</code></li>
    <li><code title="attr-hidden">hidden</code></li>
    <li><code title="attr-id">id</code></li>
-   <li><code title="attr-item">item</code></li>
-   <li><code title="attr-itemfor">itemfor</code></li>
+   <li><code title="attr-itemid">itemid</code></li>
    <li><code title="attr-itemprop">itemprop</code></li>
+   <li><code title="attr-itemscope">itemscope</code></li>
+   <li><code title="attr-itemtype">itemtype</code></li>
    <li><code title="attr-lang">lang</code></li>
    <li><code title="attr-spellcheck">spellcheck</code></li>
    <li><code title="attr-style">style</code></li>
@@ -11372,6 +11374,7 @@
    <dd>If the <code title="attr-meta-http-equiv">http-equiv</code> attribute is present but not in the <span title="attr-meta-http-equiv-content-type">Encoding declaration state</span>: in a <code>head</code> element.</dd>
    <dd>If the <code title="attr-meta-http-equiv">http-equiv</code> attribute is present but not in the <span title="attr-meta-http-equiv-content-type">Encoding declaration state</span>: in a <code>noscript</code> element that is a child of a <code>head</code> element.</dd>
    <dd>If the <code title="attr-meta-name">name</code> attribute is present: where <span>metadata content</span> is expected.</dd>
+   <dd>If the <code title="attr-itemprop">itemprop</code> attribute is present: where <span>metadata content</span> is expected.</dd>
    <dd>If the <code title="attr-itemprop">itemprop</code> attribute is present: where <span>phrasing content</span> is expected.</dd>
    <dt>Content model:</dt>
    <dd>Empty.</dd>
@@ -12248,7 +12251,52 @@
 
 
 
+  <h4 id="itemref">The <dfn><code>itemref</code></dfn> element</h4>
 
+  <dl class="element">
+   <dt>Categories</dt>
+   <dd><span>Metadata content</span>.</dd>
+   <dd><span>Flow content</span>.</dd>
+   <dd><span>Phrasing content</span>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <span>metadata content</span> is expected.</dd>
+   <dd>Where <span>phrasing content</span> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Empty.</dd>
+   <dt>Content attributes:</dt>
+   <dd><span>Global attributes</span></dd>
+   <dd><code title="attr-itemref-refid">refid</code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn>HTMLItemRefElement</dfn> : <span>HTMLElement</span> {
+           attribute DOMString <span title="dom-itemref-refid">refid</span>;
+};</pre>
+   </dd>
+  </dl>
+
+  <p>The <code>itemref</code> element is used to include by reference
+  properties defined (using <code
+  title="attr-itemprop">itemprop</code>) by elements that are not
+  descendants of the <code>itemref</code> element's nearest ancestor
+  with an <code title="attr-itemscope">itemscope</code> attribute.</p>
+
+  <p>The <dfn title="attr-itemref-refid"><code>refid</code></dfn>
+  attribute is required, and its value must be the ID of an element in
+  the same <code>Document</code> as the <code>itemref</code>
+  element.</p>
+
+  <p class="note">This element is described in more detail as part of
+  the <span>microdata</span> model.</p>
+
+  <div class="impl">
+
+  <p>The <dfn title="dom-itemref-refid"><code>refid</code></dfn> IDL
+  attribute must <span>reflect</span> the content attribute of the
+  same name.</p>
+
+  </div>
+
+
   <h4>The <dfn><code>style</code></dfn> element</h4>
 
   <dl class="element">
@@ -48934,8 +48982,9 @@
 
 <!-- v2
 
-  * <ref property="foo" content="id"> to import the item with id="id"
-    into the current microdata block
+  * <itemref itemprop="foo" src="url#id"> to import the item with
+    id="id" from url into the current microdata block as the value of
+    property foo?
 
   * splitting the 'content' part of a property into multiple sub-bits,
     as in:
@@ -48973,8 +49022,7 @@
   existing content.</p>
 
 
-<!--END html5-->
-<!--START microdata1--><!--START html5-->
+<!--START html5-->
 
   <h4>The basic syntax</h4>
 
@@ -48986,8 +49034,8 @@
   property. Items and properties are represented by regular
   elements.</p>
 
-  <p>To create an item, the <code title="attr-item">item</code>
-  attribute is used.</p>
+  <p>To create an item, the <code
+  title="attr-itemscope">itemscope</code> attribute is used.</p>
 
   <p>To add a property to an item, the <code
   title="attr-itemprop">itemprop</code> attribute is used on one of
@@ -48997,11 +49045,11 @@
 
    <p>Here there are two items, each of which has the property "name":</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  &lt;p>My name is &lt;span itemprop="name">Elizabeth&lt;/span>.&lt;/p>
 &lt;/div>
 
-&lt;div item>
+&lt;div itemscope>
  &lt;p>My name is &lt;span itemprop="name">Daniel&lt;/span>.&lt;/p>
 &lt;/div></pre>
 
@@ -49013,7 +49061,7 @@
 
    <p>Here the item has three properties:</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  &lt;p>My name is &lt;span itemprop="name">Neil&lt;/span>.&lt;/p>
  &lt;p>My band is called &lt;span itemprop="band">Four Parts Water&lt;/span>.&lt;/p>
  &lt;p>I am &lt;span itemprop="nationality">British&lt;/span>.&lt;/p>
@@ -49030,9 +49078,10 @@
 
   <div class="example">
 
-   <p>In this example, the item has one property, "image", whose value is a URL:</p>
+   <p>In this example, the item has one property, "image", whose value
+   is a URL:</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  &lt;img itemprop="image" src="google-logo.png" alt="Google">
 &lt;/div></pre>
 
@@ -49047,15 +49096,15 @@
    <p>In this example, the item has one property,
    "birthday", whose value is a date:</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  I was born on &lt;time itemprop="birthday" datetime="2009-05-10">May 10th 2009&lt;/time>.
 &lt;/div></pre>
 
   </div>
 
   <p>Properties can also themselves be groups of name-value pairs, by
-  putting the <code title="attr-item">item</code> attribute on the
-  element that declares the property.</p>
+  putting the <code title="attr-itemscope">itemscope</code> attribute
+  on the element that declares the property.</p>
 
   <p>Items that are not part of others are called <span>top-level
   microdata items</span>.</p>
@@ -49065,9 +49114,9 @@
    <p>In this example, the outer item represents a person, and the
    inner one represents a band:</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  &lt;p>Name: &lt;span itemprop="name">Amanda&lt;/span>&lt;/p>
- &lt;p>Band: &lt;span itemprop="band" item> &lt;span itemprop="name">Jazz Band&lt;/span> (&lt;span itemprop="size">12&lt;/span> players)&lt;/span>&lt;/p>
+ &lt;p>Band: &lt;span itemprop="band" itemscope> &lt;span itemprop="name">Jazz Band&lt;/span> (&lt;span itemprop="size">12&lt;/span> players)&lt;/span>&lt;/p>
 &lt;/div></pre>
 
    <p>The outer item here has two properties, "name" and
@@ -49082,12 +49131,13 @@
 
   </div>
 
-  <p>Properties don't have to be given as descendants of the element
-  with the <code title="attr-item">item</code> attribute. They can be
-  associated with a specific <span title="concept-item">item</span>
-  using the <code title="attr-itemfor">itemfor</code> attribute, which
-  takes the ID of the element with the <code
-  title="attr-item">item</code> attribute.</p>
+  <p>Properties that are not descendants of the element with the <code
+  title="attr-itemscope">itemscope</code> attribute can be associated
+  with the <span title="concept-item">item</span> using the
+  <code>itemref</code> element, whose <code
+  title="attr-itemref-refid">refid</code> attribute takes the ID of an
+  element with the <code title="attr-itemprop">itemprop</code>
+  attribute or an ancestor of such an element.</p>
 
   <div class="example">
 
@@ -49095,11 +49145,13 @@
    properties are separated from their <span
    title="concept-item">items</span>:</p>
 
-   <pre>&lt;div item id="amanda">&lt;/div>
-&lt;p>Name: &lt;span itemfor="amanda" itemprop="name">Amanda&lt;/span>&lt;/p>
-&lt;div itemfor="amanda" itemprop="band" item id="jazzband">&lt;/div>
-&lt;p>Band: &lt;span itemfor="jazzband" itemprop="name">Jazz Band&lt;/span>&lt;/p>
-&lt;p>Size: &lt;span itemfor="jazzband" itemprop="size">12&lt;/span> players&lt;/p></pre>
+   <pre>&lt;div itemscope id="amanda">&lt;itemref refid="a">&lt;itemref refid="b">&lt;/div>
+&lt;p id="a">Name: &lt;span itemprop="name">Amanda&lt;/span>&lt;/p>
+&lt;div id="b" itemprop="band" itemscope id="jazzband">&lt;itemref refid="c">&lt;/div>
+&lt;div id="c">
+ &lt;p>Band: &lt;span itemprop="name">Jazz Band&lt;/span>&lt;/p>
+ &lt;p>Size: &lt;span itemprop="size">12&lt;/span> players&lt;/p>
+&lt;/div></pre>
 
    <p>This gives the same result as the previous example. The first
    item has two properties, "name", set to "Amanda", and "band", set
@@ -49115,7 +49167,7 @@
 
    <p>This example describes an ice cream, with two flavors:</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  &lt;p>Flavors in my favorite ice cream:&lt;/p>
  &lt;ul>
   &lt;li itemprop="flavor">Lemon sorbet&lt;/li>
@@ -49139,7 +49191,7 @@
    "favorite-color" and "favorite-fruit", both
    set to the value "orange":</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  &lt;span itemprop="favorite-color favorite-fruit">orange&lt;/span>
 &lt;/div></pre>
 
@@ -49156,10 +49208,10 @@
 
    <pre>&lt;figure>
  &lt;dd>&lt;img src="castle.jpeg">
- &lt;dt>&lt;span item>&lt;span itemprop="name">The Castle&lt;/span>&lt;/span> (1986)
+ &lt;dt>&lt;span itemscope>&lt;span itemprop="name">The Castle&lt;/span>&lt;/span> (1986)
 &lt;/figure></pre>
 
-   <pre>&lt;span item>&lt;meta itemprop="name" content="The Castle">&lt;/span>
+   <pre>&lt;span itemscope>&lt;meta itemprop="name" content="The Castle">&lt;/span>
 &lt;figure>
  &lt;dd>&lt;img src="castle.jpeg">
  &lt;dt>The Castle (1986)
@@ -49189,7 +49241,7 @@
   <p>For this purpose, it is necessary to give each <span
   title="concept-item">item</span> a type, such as
   "com.example.person", or "org.example.cat", or
-  "net.example.band". Types are identified in three ways:</p>
+  "net.example.band". Types are identified in two ways:</p>
 
   <ul class="brief">
 
@@ -49198,9 +49250,6 @@
    <li>As <span title="valid reversed DNS identifier">reversed DNS
    labels</span>.
 
-   <li>Using the names of <span title="predefined type">predefined
-   types</span>, which are described below.
-
   </ul>
 
   <p><span title="URL">URLs</span> are self-explanatory. <span
@@ -49208,14 +49257,15 @@
   strings such as "org.example.animals.cat" or "com.example.band".</p>
 
   <p>The type for an <span title="concept-item">item</span> is given
-  as the value of the <code title="attr-item">item</code>
-  attribute.</p>
+  as the value of an <code title="attr-itemtype">itemtype</code>
+  attribute on the same element as the <code
+  title="attr-itemscope">itemscope</code> attribute.</p>
 
   <div class="example">
 
    <p>Here, the item is "org.example.animals.cat":</p>
 
-<pre>&lt;section item="org.example.animal.cat">
+<pre>&lt;section itemscope itemtype="org.example.animal.cat">
  &lt;h1 itemprop="name">Hedral&lt;/h1>
  &lt;p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy black fur with white paws and belly.&lt;/p>
@@ -49229,14 +49279,71 @@
   </div>
 
   <p>An item can only have one type. The type gives the context for
-  the properties: a property named "class" given for an item with the
-  type "com.example.census.person" might refer to the class of an
-  individual, while a property named "class" given for an item with
-  the type "com.example.school.teacher" might refer to the classroom a
-  teacher has been assigned.</p>
-  
+  the properties, thus defining a vocabulary: a property named "class"
+  given for an item with the type "com.example.census.person" might
+  refer to the economic class of an individual, while a property named
+  "class" given for an item with the type "com.example.school.teacher"
+  might refer to the classroom a teacher has been assigned.</p>
 
 
+  <h4>Global identifiers for items</h4>
+
+  <p><i>This section is non-normative.</i></p>
+
+  <p>Sometimes, an <span title="concept-item">item</span> gives
+  information about a topic that has a global identifier. For example,
+  books can be identified by their ISBN number.</p>
+
+  <p>Vocabularies (as identified by the <code
+  title="attr-itemtype">itemtype</code> attribute) can be designed
+  such that <span title="concept-item">items</span> get associated
+  with their global identifier in an unambiguous way by expressing the
+  global identifiers as <span title="URL">URLs</span> given in an
+  <code title="attr-itemid">itemid</code> attribute.</p>
+
+  <p>The exact meaning of the <span title="URL">URLs</span> given in
+  <code title="attr-itemid">itemid</code> attributes depends on the
+  vocabulary used.</p>
+
+  <div class="example">
+
+   <p>Here, an item is talking about a particular book:</p>
+
+<pre>&lt;dl itemscope
+    itemtype="http://vocab.example.net/book"
+    <strong>itemid="urn:isbn:0-330-34032-8"</strong>>
+ &lt;dt>Title
+ &lt;dd itemprop="title">The Reality Dysfunction
+ &lt;dt>Author
+ &lt;dd itemprop="author">Peter F. Hamilton
+ &lt;dt>Publication date
+ &lt;dd>&lt;time itemprop="pubdate" datetime="1996-01-26">26 January 1996&lt;/time>
+&lt;/dl></pre>
+
+   <p>The "<code title="">http://vocab.example.net/book</code>"
+   vocabulary in this example would define that the <code
+   title="attr-itemid">itemid</code> attribute takes a <code
+   title="">urn:</code> <span>URL</span> pointing to the ISBN of the
+   book.</p>
+
+  </div>
+
+  <!-- (commented out since itemtype="" defines the meaning of the
+        identifier for now)
+  <p>Although it is common practice, authors are encouraged not to use
+  the same URL to identify multiple topics; in particular, an HTTP URL
+  usually identifies a specific resource (such as an image or
+  document), and authors are encouraged to not use them to identify
+  people, non-Web resources like companies, movies, and products, or
+  other abstract concepts. Using an HTTP URL as a global identifier
+  for something other than the resource actually designated by the URL
+  leads to a situation where it is ambiguous whether the identifier,
+  and thus the set of properties specified in the microdata,
+  references the page or something else.</p>
+  -->
+
+
+
   <h4>Selecting names when defining vocabularies</h4>
 
   <p><i>This section is non-normative.</i></p>
@@ -49286,7 +49393,7 @@
    type. There are also a few additional properties whose names come
    from other vocabularies.</p>
 
-<pre>&lt;section item="org.example.animal.cat">
+<pre>&lt;section itemscope itemtype="org.example.animal.cat">
  &lt;h1 itemprop="name com.example.fn">Hedral&lt;/h1>
  &lt;p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy &lt;span
@@ -49327,35 +49434,7 @@
   </div>
 
 
-  <h4>Predefined vocabularies</h4>
 
-  <p><i>This section is non-normative.</i></p>
-
-  <p>To make the most common tasks simpler, certain vocabularies have
-  been predefined. These use short names for types and properties.</p>
-
-  <div class="example">
-
-   <p>For example, the <span title="md-vcard">vCard</span> vocabulary
-   can be used to mark up people's names:</p>
-
-   <pre>&lt;span item=vcard>&lt;span itemprop=fn>George Washington&lt;/span>&lt;/span></pre>
-
-   <p>This creates a single item with a single name-value pair, with
-   the name "fn" and the value "George Washington". This is defined to
-   map to the following vCard:</p>
-
-   <pre>BEGIN:VCARD
-PROFILE:VCARD
-VERSION:3.0
-SOURCE:<var title="">document's address</var>
-FN:George Washington
-N:Washington;George;;;
-END:VCARD</pre>
-
-  </div>
-
-
   <h4>Using the microdata DOM API</h4>
 
   <p><i>This section is non-normative.</i></p>
@@ -49372,10 +49451,17 @@
 
   <p>Each <span title="concept-item">item</span> is represented in the
   DOM by the element on which the relevant <code
-  title="attr-item">item</code> attribute is found. The type of that
-  element can be obtained using the <code
-  title="dom-item">element.item</code> IDL attribute.</p>
+  title="attr-itemscope">itemscope</code> attribute is found. These
+  elements have their <code
+  title="dom-itemscope">element.itemscope</code> IDL attribute set to
+  true.</p>
 
+  <p>The type of <span title="concept-item">items</span> can be
+  obtained using the <code
+  title="dom-itemtype">element.itemtype</code> IDL attribute on the
+  element with the <code title="attr-itemscope">itemscope</code>
+  attribute.</p>
+
   <div class="example">
 
    <p>This sample shows how the <code
@@ -49468,7 +49554,7 @@
 
    <p>If faced with the following from an earlier example:</p>
 
-   <pre>&lt;section item="org.example.animal.cat">
+   <pre>&lt;section itemscope item="org.example.animal.cat">
  &lt;h1 itemprop="name com.example.fn">Hedral&lt;/h1>
  &lt;p itemprop="desc">Hedral is a male american domestic
  shorthair, with a fluffy &lt;span
@@ -49503,115 +49589,129 @@
   <h4>The microdata model</h4>
 
   <p>The microdata model consists of groups of name-value pairs known
-  as <dfn title="concept-item">items</dfn>.</p>
+  as <span title="concept-item">items</span>.</p>
 
-  <p>Each group has zero or more types, each name has one or more
-  values, and each value is either a string or another group of
-  name-value pairs.</p>
+  <p>Each group is known as an <span
+  title="concept-item">item</span>. Each <span
+  title="concept-item">item</span> can have an <span>item type</span>,
+  a <span>global identifier</span> (if the <span>item type</span>
+  <span title="support global identifiers for items">supports global
+  identifiers for its items</span>), and a list of name-value
+  pairs. Each name in the name-value pair is known as a <span
+  title="the properties of an item">property</span>, and each <span
+  title="the properties of an item">property</span> has one or more
+  <span title="concept-property-value">values</span>. Each <span title="concept-property-value">value</span> is either a string or itself a group of
+  name-value pairs (an <span title="concept-item">item</span>).</p>
 
+  <p>An <span title="concept-item">item</span> is said to be a
+  <dfn>typed item</dfn> when either it has an <span>item type</span>,
+  or it is the <span title="concept-property-value">value</span> of a <span title="the properties of an
+  item">property</span> of a <span>typed item</span>. The
+  <dfn>relevant type</dfn> for a <span>typed item</span> is the <span
+  title="concept-item">item</span>'s <span>item type</span>, if it has
+  one, or else is the <span>relevant type</span> of the <span
+  title="concept-item">item</span> for which it is a <span title="the
+  properties of an item">property</span>'s <span title="concept-property-value">value</span>.</p>
 
-  <h4>Items: the <dfn title="attr-item"><code>item</code></dfn> attribute</h4>
 
-  <p>Every <span title="HTML elements">HTML element</span> may have an
-  <code title="attr-item">item</code> attribute specified.</p>
 
-  <p>An element with the <code title="attr-item">item</code> attribute
-  specified creates a new <span title="concept-item">item</span>, a
-  group of name-value pairs.</p>
+  <h4>Items</h4>
 
-  <p>The attribute, if specified, must have a value that is either:</p>
+  <p>Every <span title="HTML elements">HTML element</span> except the
+  <code>itemref</code> element may have an <dfn
+  title="attr-itemscope"><code>itemscope</code></dfn> attribute
+  specified. The <code title="attr-itemscope">itemscope</code>
+  attribute is a <span>boolean attribute</span>.</p>
 
+  <p>An element with the <code title="attr-itemscope">itemscope</code>
+  attribute specified, and that is not an <code>itemref</code>
+  element, creates a new <dfn title="concept-item">item</dfn>, a group
+  of name-value pairs.</p>
+
+  <p>The <code title="attr-itemscope">itemscope</code> attribute must
+  not be specified on <code>itemref</code> elements.</p>
+
+  <hr>
+
+  <p>Elements with an <code title="attr-itemscope">itemscope</code>
+  attribute may have an <dfn
+  title="attr-itemtype"><code>itemtype</code></dfn> attribute
+  specified, to give the <span>item type</span> of the <span
+  title="concept-item">item</span>.</p>
+
+  <p>The <code title="attr-itemtype">itemtype</code> attribute, if
+  specified, must have a value that is either:</p>
+
   <ul>
 
-   <li>The empty string, or</li>
-
    <li>A <span>valid URL</span> that is an <span>absolute URL</span>
    for which the string "<code
    title="">http://www.w3.org/1999/xhtml/custom#</code>" is not a
    <span>prefix match</span>, or</li>
 
-   <li>A <span>valid reversed DNS identifier</span>, or</li>
+   <li>A <span>valid reversed DNS identifier</span>.</li>
 
-   <li>A <span>predefined type</span>.</li>
-
   </ul>
 
-  <p>The <dfn>item type</dfn> of an element with an <code
-  title="attr-item">item</code> attribute is the value of the
-  element's <code title="attr-item">item</code> attribute. If the
-  attribute's value is the empty string, the element is said to have
-  no <span>item type</span>.</p>
+  <p>The <dfn>item type</dfn> of an <span
+  title="concept-item">item</span> is the value of its element's <code
+  title="attr-itemtype">itemtype</code> attribute, if it has one and
+  its value is not the empty string. If the <code
+  title="attr-itemtype">itemtype</code> attribute is missing or its
+  value is the empty string, the <span
+  title="concept-item">item</span> is said to have no <span>item
+  type</span>.</p>
 
+  <p>The <span>item type</span> must be a type defined in an <span
+  title="other applicable specifications">applicable
+  specification</span>.</p>
 
-  <h4>Associating names with items</h4>
+  <p>The <code title="attr-itemtype">itemtype</code> attribute must
+  not be specified on elements that do not have an <code
+  title="attr-itemscope">itemscope</code> attribute specified.</p>
 
-  <p>The <dfn title="attr-itemfor"><code>itemfor</code></dfn>
-  attribute may be specified on any <span title="HTML elements">HTML
-  element</span> to associate the element with an element with an
-  <code title="attr-item">item</code> attribute. If the <code
-  title="attr-itemfor">itemfor</code> attribute is specified, the
-  attribute's value must be the ID of an element with an <code
-  title="attr-item">item</code> attribute, in the same
-  <code>Document</code> as the element with the <code
-  title="attr-itemfor">itemfor</code> attribute.</p>
+  <hr>
 
-  <p>An element's <dfn
-  title="concept-item-corresponding">corresponding item</dfn> is
-  determined by its position in the DOM and by any <code
-  title="attr-itemfor">itemfor</code> attributes on the element, and
-  is defined as follows:</p>
+  <p>Elements with an <code title="attr-itemscope">itemscope</code>
+  attribute and an <code title="attr-itemtype">itemtype</code>
+  attribute that references a vocabulary that is defined to
+  <dfn>support global identifiers for items</dfn> may also have an
+  <dfn title="attr-itemid"><code>itemid</code></dfn> attribute
+  specified, to give a global identifier for the <span
+  title="concept-item">item</span>, so that it can be related to other
+  <span title="concept-item">items</span> on pages elsewhere on the
+  Web.</p>
 
-  <dl>
+  <p>The <code title="attr-itemid">itemid</code> attribute, if
+  specified, must have a value that is a <span>valid URL</span> that
+  is an <span>absolute URL</span>.</p>
 
-   <dt>If the element has a <code title="attr-itemfor">itemfor</code>
-   attribute</dt>
+  <p>The <dfn>global identifier</dfn> of an <span
+  title="concept-item">item</span> is the value of its element's <code
+  title="attr-itemid">itemid</code> attribute, if it has one. If the
+  <code title="attr-itemid">itemid</code> attribute is missing or its
+  value is the empty string, it is said to have no <span>global
+  identifier</span>.</p>
 
-   <dd><p>If there is an element in the document with an ID equal to
-   the value of the <code title="attr-itemfor">itemfor</code>
-   attribute, and if the first such element has an <code
-   title="attr-item">item</code> attribute specified, then that
-   element is the <span
-   title="concept-item-corresponding">corresponding
-   item</span>. Otherwise, there is no <span
-   title="concept-item-corresponding">corresponding
-   item</span>.</p></dd>
+  <p>The <code title="attr-itemid">itemid</code> attribute must not be
+  specified on elements that do not have both an <code
+  title="attr-itemscope">itemscope</code> attribute and an <code
+  title="attr-itemtype">itemtype</code> attribute specified, and must
+  not be specified on elements with an <code
+  title="attr-itemscope">itemscope</code> attribute whose <code
+  title="attr-itemtype">itemtype</code> attribute specifies a
+  vocabulary that does not <span>support global identifiers for
+  items</span>, as defined by that vocabulary's specification.</p>
 
-   <dt>If the element has no <code title="attr-itemfor">itemfor</code>
-   attribute but does have an ancestor with an <code
-   title="attr-item">item</code> attribute specified</dt>
 
-   <dd><p>The nearest ancestor element with the <code
-   title="attr-item">item</code> attribute specified is the element's
-   <span title="concept-item-corresponding">corresponding
-   item</span>.</p></dd>
-
-   <dt>If the element has neither <code
-   title="attr-itemfor">itemfor</code> attribute nor an ancestor with
-   an <code title="attr-item">item</code> attribute specified</dt>
-
-   <dd><p>The element has no <span
-   title="concept-item-corresponding">corresponding
-   item</span>.</p></dd>
-
-  </dl>
-
-  <p>The list of elements that create <span
-  title="concept-item">items</span> but do not themselves have a <span
-  title="concept-item-corresponding">corresponding item</span> forms
-  the list of <dfn>top-level microdata items</dfn>.</p>
-
-
   <h4>Names: the <dfn title="attr-itemprop"><code>itemprop</code></dfn> attribute</h4>
 
-  <p>Every <span title="HTML elements">HTML element</span> that has a
-  <span title="concept-item-corresponding">corresponding item</span>
-  may have an <code title="attr-itemprop">itemprop</code> attribute
-  specified.</p>
+  <p>Every <span title="HTML elements">HTML element</span> may have an
+  <code title="attr-itemprop">itemprop</code> attribute specified, if
+  doing so <span title="the properties of an item">adds a
+  property</span> to one or more <span
+  title="concept-item">items</span> (as defined below).</p>
 
-  <p>An element with the <code title="attr-itemprop">itemprop</code>
-  attribute specified adds one or more name-value pairs to its
-  <span title="concept-item-corresponding">corresponding item</span>.</p>
-
   <p>The <code title="attr-itemprop">itemprop</code> attribute, if
   specified, must have a value that is an <span>unordered set of
   unique space-separated tokens</span> representing the names of the
@@ -49629,27 +49729,35 @@
 
    <li>A <span>valid reversed DNS identifier</span>, or</li>
 
-   <li>A <span>predefined global property name</span> allowed in this
-   situation, or</li>
+   <li>If the item is a <span>typed item</span>: a string allowed in
+   this situation according to the specification that defines the
+   <span>relevant type</span> for the item, or</li>
 
-   <li>If the item's <span>item type</span> is a <span>predefined
-   type</span>: a <span>predefined property name</span> allowed in
-   this situation, or</li>
+   <li>If the item is not a <span>typed item</span>: a string that
+   contains no U+002E FULL STOP (.) characters and no U+003A COLON (:)
+   characters.</li>
 
-   <li>If the item has no <span>item type</span> but it is itself the
-   value of a property whose property name is a <span>predefined
-   property name</span>: a <span>predefined property name</span>
-   allowed in this situation, or</li>
+  </ul>
 
-   <li>If the item's <span>item type</span> is not a <span>predefined
-   type</span> and the item is not the value of a property whose
-   property name is a <span>predefined property name</span>: a string
-   that contains no U+002E FULL STOP (.) or U+003A COLON (:)
-   characters, and that is not a <span>predefined global property
-   name</span>.</li>
+  <p>When an element with an <code
+  title="concept-itemprop">itemprop</code> attribute <span title="the
+  properties of an item">adds a property</span> to multiple <span
+  title="concept-item">items</span>, the requirement above regarding
+  the tokens applies for each <span title="concept-item">item</span>
+  individually.</p>
 
-  </ul>
+  <!--
 
+   e.g.:
+
+     <div itemscope itemtype="http://example.com/a"> <ref refid="x"> </div>
+     <div itemscope itemtype="http://example.com/b"> <ref refid="x"> </div>
+     <meta id="x" itemprop="z" content="">
+
+     "z" had better be valid for both http://example.com/a and http://example.com/b
+
+  -->
+
   <p>The <dfn>property names</dfn> of an element are the tokens that
   the element's <code title="attr-itemprop">itemprop</code> attribute
   is found to contain when its value is <span title="split a string on
@@ -49657,9 +49765,10 @@
   duplicates removed (leaving only the first occurrence of each
   name).</p>
 
-  <p>With an <span title="concept-item">item</span>, the properties
+  <p>Within an <span title="concept-item">item</span>, the properties
   are unordered with respect to each other, except for properties with
-  the same name, which are ordered in <span>tree order</span>.</p>
+  the same name, which are ordered in the order they are given by the
+  algorithm that defines <span>the properties of an item</span>.</p>
 
   <div class="example">
 
@@ -49667,7 +49776,7 @@
    and "2", <em>in that order</em>, but whether the "a" property comes
    before the "b" property or not is not important:</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  &lt;p itemprop="a">1&lt;/p>
  &lt;p itemprop="a">2&lt;/p>
  &lt;p itemprop="b">test&lt;/p>
@@ -49675,7 +49784,7 @@
 
    <p>Thus, the following is equivalent:</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  &lt;p itemprop="b">test&lt;/p>
  &lt;p itemprop="a">1&lt;/p>
  &lt;p itemprop="a">2&lt;/p>
@@ -49683,15 +49792,28 @@
 
    <p>As is the following:</p>
 
-   <pre>&lt;div item>
+   <pre>&lt;div itemscope>
  &lt;p itemprop="a">1&lt;/p>
  &lt;p itemprop="b">test&lt;/p>
  &lt;p itemprop="a">2&lt;/p>
 &lt;/div></pre>
 
+   <p>And the following:</p>
+
+   <pre>&lt;div itemscope>
+ &lt;itemref refid="x">
+ &lt;p itemprop="b">test&lt;/p>
+ &lt;p itemprop="a">2&lt;/p>
+&lt;/div>
+&lt;div id="x">
+ &lt;p itemprop="a">1&lt;/p>
+&lt;/div>
+</pre>
+
   </div>
 
 
+
   <h4>Values</h4>
 
   <p>The <dfn title="concept-property-value">property value</dfn> of a
@@ -49701,8 +49823,8 @@
 
   <dl>
 
-   <dt>If the element also has an <code title="attr-item">item</code>
-   attribute</dt>
+   <dt>If the element also has an <code
+   title="attr-itemscope">itemscope</code> attribute</dt>
 
    <dd><p>The value is the <span title="concept-item">item</span>
    created by the element.</p></dd>
@@ -49775,6 +49897,107 @@
 
 
 
+  <h4>Associating names with items</h4>
+
+  <p>To find <dfn>the properties of an item</dfn>, the user agent must
+  run the following steps:</p>
+
+  <ol>
+
+   <li><p>Let <var title="">root</var> be the element with the <code
+   title="attr-itemscope">itemscope</code> attribute. This element
+   cannot be an <code>itemref</code> element.</p></li>
+
+   <li><p>Let <var title="">queue</var> be a stack of elements
+   initially containing the child elements of <var
+   title="">root</var>, if any, in <span>tree order</span> (so that
+   the first child element of <var title="">root</var> will be the
+   first one to be popped from the stack). This list will be the one
+   that holds the elements that still need to be crawled.</p></li>
+
+   <li><p>Let <var title="">properties</var> be an empty list of
+   elements. This list will be the result of the algorithm: a list of
+   elements with properties that apply to <var
+   title="">root</var>.</p></li>
+
+   <li><p>Let <var title="">visited nodes</var> be a list of elements
+   containing just <var title="">root</var>. This list is used to
+   avoid loops caused by <code>itemref</code> elements.</p></li>
+
+   <li><p>Let <var title="">error found</var> be false. If it is set
+   to true by the algorithm below, then an <code>itemref</code> error
+   has been found.</p></li>
+
+   <li><p><i>Loop</i>: Pop the top element from <var
+   title="">queue</var> and let <var title="">current</var> be that
+   element.</p></li>
+
+   <li><p>If <var title="">current</var> is already in <var
+   title="">visited nodes</var> then let <var title="">error
+   found</var> be true, and skip down to the step marked <i>end of
+   loop</i>.</p></li>
+
+   <li><p>If <var title="">current</var> has an <code
+   title="attr-itemprop">itemprop</code> attribute, then append <var
+   title="">current</var> to <var title="">properties</var>.</p></li>
+
+   <li><p>Append <var title="">current</var> to <var title="">visited
+   nodes</var>.</p></li>
+
+   <li><p>If <var title="">current</var> is an <code>itemref</code>
+   element with a <code title="attr-itemref-refid">refid</code>
+   attribute, and there is an element in the document whose <span
+   title="concept-id">ID</span> matches the value of <var
+   title="">current</var>'s <code
+   title="attr-itemref-refid">refid</code> attribute, then push the
+   first element in the document whose <span
+   title="concept-id">ID</span> matches the value of <var
+   title="">current</var>'s <code
+   title="attr-itemref-refid">refid</code> attribute onto <var
+   title="">queue</var> (so that it will be the next element to be
+   popped from <var title="">queue</var>).</p></li>
+
+   <li><p>Otherwise, if <var title="">current</var> is not a
+   <code>refid</code> element, and <var title="">current</var> does
+   not have an <code title="attr-itemscope">itemscope</code>
+   attribute, and <var title="">current</var> is an element with child
+   elements, then: push all the child elements of <var
+   title="">current</var> onto <var title="">queue</var>, in
+   <span>tree order</span> (so the first child of <var
+   title="">current</var> will be the next element to be popped from
+   <var title="">queue</var>).</p></li>
+
+   <li><p><i>End of loop</i>: If <var title="">queue</var> is not
+   empty, return to the step marked <i>loop</i>.</p></li>
+
+   <li><p>Return <var title="">properties</var>. That is the list of
+   <span title="the properties of an item">properties of the
+   item</span> <var title="">root</var>.</p></li>
+
+  </ol>
+
+  <p>A document must not contain any <code>itemref</code> elements
+  that would cause the <var title="">error found</var> flag in the
+  algorithm above to be set to true if the <span title="the properties
+  of an item">properties</span> of all the <span
+  title="concept-item">items</span> in that document were to be
+  determined.</p>
+
+  <p>A document must not contain any elements that have an <code
+  title="attr-itemprop">itemprop</code> attribute that would not be
+  found to be a property of any of the <span
+  title="concept-item">items</span> in that document were their <span
+  title="the properties of an item">properties</span> all to be
+  determined.</p>
+
+  <p>An <span title="concept-item">item</span> is a <dfn
+  title="top-level microdata items">top-level microdata item</dfn> if
+  its element does not have an <code
+  title="attr-itemprop">itemprop</code> attribute.</p>
+
+
+
+
   <h3>Microdata DOM API</h3>
 
   <dl class="domintro">
@@ -49832,21 +50055,22 @@
   containing all the <span>top-level microdata items</span> in the
   document.</p>
 
-  <p>The <dfn title="dom-item"><code>item</code></dfn> IDL attribute
-  on elements must <span>reflect</span> the element's <code
-  title="attr-item">item</code> content attribute.</p>
+  <p>The <dfn title="dom-itemscope"><code>itemscope</code></dfn>, <dfn
+  title="dom-itemtype"><code>itemtype</code></dfn>, <dfn
+  title="dom-itemid"><code>itemid</code></dfn>, and <dfn
+  title="dom-itemprop"><code>itemprop</code></dfn> IDL attributes on
+  <span>HTML elements</span> must <span>reflect</span> the respective
+  content attributes of the same name.</p>
 
-  <p>The <dfn title="dom-itemprop"><code>itemprop</code></dfn> IDL
-  attribute on elements must <span>reflect</span> the element's <code
-  title="attr-itemprop">itemprop</code> content attribute.</p>
-
   <p>The <dfn title="dom-properties"><code>properties</code></dfn> IDL
-  attribute on elements must return an
+  attribute on <span>HTML elements</span> must return an
   <code>HTMLPropertyCollection</code> rooted at the
   <code>Document</code> node, whose filter matches only elements that
-  have <span>property names</span> and have a <span
-  title="concept-item-corresponding">corresponding item</span> that is
-  equal to the element on which the attribute was invoked.</p>
+  have <span>property names</span> and are <span title="the properties
+  of an item">the properties of the item</span> created by the element
+  on which the attribute was invoked, while that element is an <span
+  title="concept-item">item</span>, and matches nothing the rest of
+  the time.</p>
 
   <p>The <dfn title="dom-content"><code>content</code></dfn> IDL
   attribute's behavior depends on the element, as follows:</p>
@@ -49900,20 +50124,13 @@
 
   </dl> 
 
-  <p>The <dfn title="dom-subject"><code>itemfor</code></dfn> IDL
-  attribute on elements must <span>reflect</span> the element's <code
-  title="attr-itemfor">itemfor</code> content attribute.</p>
-
   </div>
 
-<!--END microdata1--><!--END html5-->
-<!--START microdata2-->
-<!--END microdata2-->
-<!--START microdata3-->
-<!--END microdata3-->
-<!--START html5-->
 
+<!--END html5-->
+<!--START vocabs-->
 
+
   <h3>Predefined vocabularies</h3>
 
   <p>A number of <dfn title="predefined type">predefined types</dfn>
@@ -49926,20 +50143,6 @@
 
 
 
-  <h4>General</h4>
-
-  <p>The <span>predefined global property name</span> <dfn
-  title="md-about"><code>about</code></dfn> can be used to name an
-  <span title="concept-item">item</span> for the purposes of
-  identifying or referring to the data defined in that item.</p>
-
-  <p>A single property with the name <code
-  title="md-about">about</code> may be present within each <span
-  title="concept-item">item</span>. Its <span
-  title="concept-property-value">value</span> must be an
-  <span>absolute URL</span>.</p>
-
-
   <h4>vCard</h4>
 
   <p>An item with the <span>predefined type</span> <dfn
@@ -51414,8 +51617,29 @@
 
   </div>
 
+  <div class="example">
 
+   <p>The <span title="md-vcard">vCard</span> vocabulary can be used
+   to just mark up people's names:</p>
 
+   <pre>&lt;span itemscope itemtype=vcard>&lt;span itemprop=fn>George Washington&lt;/span>&lt;/span></pre>
+
+   <p>This creates a single item with a single name-value pair, with
+   the name "fn" and the value "George Washington". This is defined to
+   map to the following vCard:</p>
+
+   <pre>BEGIN:VCARD
+PROFILE:VCARD
+VERSION:3.0
+SOURCE:<var title="">document's address</var>
+FN:George Washington
+N:Washington;George;;;
+END:VCARD</pre>
+
+  </div>
+
+
+
   <h4>vEvent</h4>
 
   <p>An item with the <span>predefined type</span> <dfn
@@ -52216,14 +52440,13 @@
   </div>
 
 
+  <!--START html5-->
 
   <div class="impl">
 
   <h3>Converting HTML to other formats</h3>
 
-  <p>In all these algorithms, except where otherwise stated,
-  operations that iterate over a series of elements (whether items,
-  properties, or otherwise) must do so in <span>tree order</span>.</p>
+  <!--END html5-->
 
   <p>A generic API upon which the vocabulary-specific conversions
   defined below (vCard, iCalendar) can be built will need to provide
@@ -52264,7 +52487,10 @@
 
   </ul>
 
+  <!--START html5-->
+  <!--END vocabs-->
 
+
   <h4>JSON</h4>
 
   <p>Given a list of nodes <var title="">nodes</var> in a
@@ -52300,19 +52526,27 @@
 
    <li><p>Let <var title="">result</var> be an empty object.</p></li>
 
-   <li><p>Add an entry to <var title="">result</var> called "<code
-   title="">type</code>" whose value is the <span>item type</span> of
-   <var title="">item</var>.</p></li>
+   <li><p>If the <var title="">item</var> has an <span>item
+   type</span>, add an entry to <var title="">result</var> called
+   "<code title="">type</code>" whose value is the <span>item
+   type</span> of <var title="">item</var>.</p></li>
 
+   <li><p>If the <var title="">item</var> has an <span>global
+   identifier</span>, add an entry to <var title="">result</var>
+   called "<code title="">id</code>" whose value is the <span>global
+   identifier</span> of <var title="">item</var>.</p></li>
+
    <li><p>Let <var title="">properties</var> be an empty
    object.</p></li>
 
    <li>
 
     <p>For each element <var title="">element</var> that has one or
-    more <span>property names</span> and whose <span
-    title="concept-item-corresponding">corresponding item</span> is
-    <var title="">item</var>, run the following substeps:</p>
+    more <span>property names</span> and is one of <span title="the
+    properties of an item">the properties of the item</span> <var
+    title="">item</var>, in the order those elements are given by the
+    algorithm that returns <span>the properties of an item</span>, run
+    the following substeps:</p>
 
     <ol>
 
@@ -52455,9 +52689,8 @@
 
    <li>
 
-    <p>For each <code>article</code>, <code>section</code>,
-    <code>blockquote</code>, and <code>q</code> element in the
-    <code>Document</code> that has a <code title="">cite</code>
+    <p>For each <code>blockquote</code> and <code>q</code> element in
+    the <code>Document</code> that has a <code title="">cite</code>
     attribute that <span title="resolve a url">resolves</span>
     successfully relative to the element, generate the following
     triple:</p>
@@ -52498,6 +52731,7 @@
 
      </li>
 
+<!--
      <li>
 
       <p>If the element is, or is a descendant of, an
@@ -52514,6 +52748,7 @@
       </dl>
 
      </li>
+-->
 
     </ol>
 
@@ -52527,34 +52762,23 @@
 
   <ol>
 
-   <li><p>If of the elements whose <span
-   title="concept-item-corresponding">corresponding item</span> is
-   <var title="">item</var>, there are any with a <span
-   title="property names">property name</span> equal to the string
-   "<code title="md-about">about</code>", and the first such element
-   is a <span title="URL property elements">URL property
-   element</span>, and its <span
-   title="concept-property-value">value</span> is not an <span
-   title="concept-item">item</span>, let <var title="">subject</var>
-   be the <span title="concept-property-value">value</span> of that
-   property. Otherwise, let <var title="">subject</var> be a new blank
-   node.</p></li>
+   <li><p>If <var title="">item</var> has a <span>global
+   identifier</span> and that <span>global identifier</span> is an
+   <span>absolute URL</span>, let <var title="">subject</var> be that
+   <span>global identifier</span>. Otherwise, let <var
+   title="">subject</var> be a new blank node.</p></li>
 
    <li><p>Let <var title="">type</var> be the <span>item type</span>
    of <var title="">item</var>.</p></li>
 
-   <li>
+   <li><p>If <var title="">type</var> is neither the empty string nor
+   an <span>absolute URL</span>, then let <var title="">type</var> be
+   the result of concatenating the string "<code
+   title="">http://www.w3.org/1999/xhtml/custom#</code>" with the <var
+   title="">type</var>, with any characters in <var
+   title="">type</var> that are not valid in the &lt;ifragment>
+   production of the IRI syntax being %-escaped.</p></li>
 
-    <p>If <var title="">type</var> is neither the empty string nor an
-    <span>absolute URL</span>, then let <var title="">type</var> be
-    the result of concatenating the string "<code
-    title="">http://www.w3.org/1999/xhtml/custom#</code>" with the
-    <var title="">type</var>, with any characters in <var
-    title="">type</var> that are not valid in the &lt;ifragment>
-    production of the IRI syntax being %-escaped.</p>
-
-   </li>
-
    <li>
 
     <p>If <var title="">type</var> is not the empty string, generate
@@ -52571,9 +52795,11 @@
    <li>
 
     <p>For each element <var title="">element</var> that has one or
-    more <span>property names</span> and whose <span
-    title="concept-item-corresponding">corresponding item</span> is
-    <var title="">item</var>, run the following substeps:</p>
+    more <span>property names</span> and is one of <span title="the
+    properties of an item">the properties of the item</span> <var
+    title="">item</var>, in the order those elements are given by the
+    algorithm that returns <span>the properties of an item</span>, run
+    the following substeps:</p>
 
     <ol>
 
@@ -52589,7 +52815,7 @@
 
      <!-- could support <time> here somehow, though we'd have to
      reserialise it, check if the <time> was valid, check if it had a
-     .date, a .time, a .timezone, etc. -->
+     date, a time, a timezone, etc. -->
 
      <li><p>Otherwise, if <var title="">element</var> is not one of
      the <span>URL property elements</span>, let <var
@@ -52604,10 +52830,7 @@
       following substeps:</p>
 
       <ol>
-
-       <li><p>If <var title="">name</var> is equal to the string
-       "<code title="md-about">about</code>", skip this name.</p></li>
-
+<!--
        <li><p>Otherwise, if <var title="">type</var> is <code
        title="md-work">work</code>, and <var title="">name</var> is
        equal to the string "<code title="md-work-title">title</code>",
@@ -52627,10 +52850,10 @@
        title="md-work-license">license</code>", let <var
        title="">name</var> be the string "<code
        title="">http://www.w3.org/1999/xhtml/vocab#license</code>".</p></li>
-
-       <li><p>Otherwise, if <var title="">name</var> is not an
-       <span>absolute URL</span>, then let <var title="">name</var> be
-       the result of concatenating the string "<code
+-->
+       <li><p><!--Otherwise...--> If <var title="">name</var> is not
+       an <span>absolute URL</span>, then let <var title="">name</var>
+       be the result of concatenating the string "<code
        title="">http://www.w3.org/1999/xhtml/custom#</code>" with <var
        title="">name</var>, with any characters in <var
        title="">name</var> that are not valid in the &lt;ifragment>
@@ -52661,8 +52884,9 @@
 
   </ol>
 
+<!--END html5-->
+<!--START vocabs-->
 
-
   <h4>vCard</h4>
 
   <p>Given a list of nodes <var title="">nodes</var> in a
@@ -53652,9 +53876,9 @@
   names</span>.</p> <!-- of course since icalendar doesn't define
   error handling, this is somewhat problematic. -->
 
+<!--END vocabs-->
+<!--START html5-->
 
-
-
   <h4>Atom</h4>
 
   <p>Given a <code>Document</code> <var title="">source</var>, a user
@@ -53676,6 +53900,7 @@
    <li><p>Append a <code title="">feed</code> element in the
    <span>Atom namespace</span> to <var title="">R</var>.</p></li>
 
+<!--
    <li>
 
     <p>For each element <var title="">candidate</var> that is, or is a
@@ -53696,6 +53921,7 @@
     title="">property</var>.</p>
 
    </li>
+-->
 
    <li>
 
@@ -53925,6 +54151,7 @@
 
      </li>
 
+<!--
      <li>
 
       <p>For each element <var title="">candidate</var> that is, or is
@@ -53947,6 +54174,7 @@
       title="">property</var>.</p>
 
      </li>
+-->
 
      <li>
 
@@ -69126,6 +69354,8 @@
 
    </li>
 
+<!-- v2: deal with multiple vCards -->
+<!--
    <li>
 
     <p>The user agent must take the <span>list of dragged nodes</span>
@@ -69134,7 +69364,6 @@
     <code title="dom-DragEvent-dataTransfer">dataTransfer</code>
     member, associated with the <code
     title="">text/directory;profile=vcard</code> format.</p>
-    <!-- v2: deal with multiple vCards -->
 
    </li>
 
@@ -69148,6 +69377,7 @@
     title="">text/calendar;component=vevent</code> format.</p>
 
    </li>
+-->
 
    <!-- v2: text/html -->
 
@@ -74513,8 +74743,8 @@
      "<code title="">set-cookie2</code>" or another cookie-related
      header name</dt>
 
-     <dd><p>Handle the cookie as defined by the appropriate spec, with
-     the resource being the one with the host <var
+     <dd><p>Handle the cookie as defined by the appropriate
+     specification, with the resource being the one with the host <var
      title="">host</var>, the port <var title="">port</var>, the path
      (and possibly query parameters) <var title="">resource
      name</var>, and the scheme <code title="">http</code> if <var
@@ -91221,6 +91451,7 @@
   Larry Page,
   Lars Gunther<!-- Keryx Web -->,
   Lars Solberg,
+  Laura Granka,
   Laura L. Carlson,
   Laura Wisewell,
   Laurens Holst,
@@ -91419,6 +91650,10 @@
   features first widely deployed by the Windows Internet Explorer
   browser.</p>
 
+  <p>Thanks to the participants of the microdata usability study for
+  allowing us to use their mistakes as a guide for designing the
+  microdata feature.</p>
+
   <div class="impl">
 
   <p>Special thanks and $10,000 to David Hyatt who came up with a

|