Skip to content

Commit

Permalink
[c] (0) When itemprop='' is specified on elements like <a> or <iframe…
Browse files Browse the repository at this point in the history
…>, require the corresponding attribute, to help authors who are misusing microdata.

Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=14596
Affected topics: HTML, Microdata, Video and Audio

git-svn-id: http://svn.whatwg.org/webapps@6851 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Dec 7, 2011
1 parent 74ecf6d commit 5ac0a98
Show file tree
Hide file tree
Showing 3 changed files with 139 additions and 0 deletions.
36 changes: 36 additions & 0 deletions complete.html
Expand Up @@ -20213,6 +20213,12 @@ <h4 id=the-a-element><span class=secno>4.6.1 </span>The <dfn><code>a</code></dfn
if the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute is
not present.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-a-element>a</a></code> element, then the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute must also be
specified.</p>
<!--MD-->

<div class=example>
<p>If a site uses a consistent navigation toolbar on every page,
then the link that would normally link to the page itself could be
Expand Down Expand Up @@ -24602,6 +24608,12 @@ <h4 id=the-iframe-element><span class=secno>4.8.2 </span>The <dfn><code>iframe</
<a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially surrounded by
spaces</a>.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-iframe-element>iframe</a></code> element, then the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute must also be
specified.</p>
<!--MD-->

<p>The <dfn id=attr-iframe-srcdoc title=attr-iframe-srcdoc><code>srcdoc</code></dfn>
attribute gives the content of the page that the <a href=#nested-browsing-context>nested
browsing context</a> is to contain. The value of the attribute is
Expand Down Expand Up @@ -25443,6 +25455,12 @@ <h4 id=the-embed-element><span class=secno>4.8.3 </span>The <dfn><code>embed</co
present, must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially
surrounded by spaces</a>.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-embed-element>embed</a></code> element, then the <code title=attr-embed-src><a href=#attr-embed-src>src</a></code> attribute must also be
specified.</p>
<!--MD-->

<p>The <dfn id=attr-embed-type title=attr-embed-type><code>type</code></dfn>
attribute, if present, gives the <a href=#mime-type>MIME type</a> by which the
plugin to instantiate is selected. The value must be a <a href=#valid-mime-type>valid
Expand Down Expand Up @@ -25745,6 +25763,12 @@ <h4 id=the-object-element><span class=secno>4.8.4 </span>The <dfn><code>object</

<p>At least one of either the <code title=attr-object-data><a href=#attr-object-data>data</a></code> attribute or the <code title=attr-object-type><a href=#attr-object-type>type</a></code> attribute must be present.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-object-element>object</a></code> element, then the <code title=attr-object-data><a href=#attr-object-data>data</a></code> attribute must also be
specified.</p>
<!--MD-->

<p>The <dfn id=attr-object-typemustmatch title=attr-object-typemustmatch><code>typemustmatch</code></dfn>
attribute is a <a href=#boolean-attribute>boolean attribute</a> whose presence
indicates that the resource specified by the <code title=attr-object-data><a href=#attr-object-data>data</a></code> attribute is only to be used if
Expand Down Expand Up @@ -27679,6 +27703,12 @@ <h5 id=error-codes><span class=secno>4.8.10.1 </span>Error codes</h5>
attribute, if present, must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty
URL potentially surrounded by spaces</a>.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on the <a href=#media-element>media element</a>, then the <code title=attr-media-src><a href=#attr-media-src>src</a></code> attribute must also be
specified.</p>
<!--MD-->

<p>The <dfn id=attr-media-crossorigin title=attr-media-crossorigin><code>crossorigin</code></dfn>
content attribute on <a href=#media-element title="media element">media
elements</a> is a <a href=#cors-settings-attribute>CORS settings attribute</a>.</p>
Expand Down Expand Up @@ -37820,6 +37850,12 @@ <h4 id=the-area-element><span class=secno>4.8.13 </span>The <dfn><code>area</cod
if the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute is
not present.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-area-element>area</a></code> element, then the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute must also be
specified.</p>
<!--MD-->

<div class=impl>

<p>The <a href=#activation-behavior>activation behavior</a> of <code><a href=#the-area-element>area</a></code>
Expand Down
36 changes: 36 additions & 0 deletions index
Expand Up @@ -20213,6 +20213,12 @@ included with Exhibit B.
if the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute is
not present.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-a-element>a</a></code> element, then the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute must also be
specified.</p>
<!--MD-->

<div class=example>
<p>If a site uses a consistent navigation toolbar on every page,
then the link that would normally link to the page itself could be
Expand Down Expand Up @@ -24602,6 +24608,12 @@ href="?audio"&gt;audio&lt;/a&gt; test instead.)&lt;/p&gt;</pre>
<a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially surrounded by
spaces</a>.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-iframe-element>iframe</a></code> element, then the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute must also be
specified.</p>
<!--MD-->

<p>The <dfn id=attr-iframe-srcdoc title=attr-iframe-srcdoc><code>srcdoc</code></dfn>
attribute gives the content of the page that the <a href=#nested-browsing-context>nested
browsing context</a> is to contain. The value of the attribute is
Expand Down Expand Up @@ -25443,6 +25455,12 @@ href="?audio"&gt;audio&lt;/a&gt; test instead.)&lt;/p&gt;</pre>
present, must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially
surrounded by spaces</a>.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-embed-element>embed</a></code> element, then the <code title=attr-embed-src><a href=#attr-embed-src>src</a></code> attribute must also be
specified.</p>
<!--MD-->

<p>The <dfn id=attr-embed-type title=attr-embed-type><code>type</code></dfn>
attribute, if present, gives the <a href=#mime-type>MIME type</a> by which the
plugin to instantiate is selected. The value must be a <a href=#valid-mime-type>valid
Expand Down Expand Up @@ -25745,6 +25763,12 @@ href="?audio"&gt;audio&lt;/a&gt; test instead.)&lt;/p&gt;</pre>

<p>At least one of either the <code title=attr-object-data><a href=#attr-object-data>data</a></code> attribute or the <code title=attr-object-type><a href=#attr-object-type>type</a></code> attribute must be present.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-object-element>object</a></code> element, then the <code title=attr-object-data><a href=#attr-object-data>data</a></code> attribute must also be
specified.</p>
<!--MD-->

<p>The <dfn id=attr-object-typemustmatch title=attr-object-typemustmatch><code>typemustmatch</code></dfn>
attribute is a <a href=#boolean-attribute>boolean attribute</a> whose presence
indicates that the resource specified by the <code title=attr-object-data><a href=#attr-object-data>data</a></code> attribute is only to be used if
Expand Down Expand Up @@ -27679,6 +27703,12 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
attribute, if present, must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty
URL potentially surrounded by spaces</a>.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on the <a href=#media-element>media element</a>, then the <code title=attr-media-src><a href=#attr-media-src>src</a></code> attribute must also be
specified.</p>
<!--MD-->

<p>The <dfn id=attr-media-crossorigin title=attr-media-crossorigin><code>crossorigin</code></dfn>
content attribute on <a href=#media-element title="media element">media
elements</a> is a <a href=#cors-settings-attribute>CORS settings attribute</a>.</p>
Expand Down Expand Up @@ -37820,6 +37850,12 @@ function AddCloud(data, x, y) { ... }</pre>
if the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute is
not present.</p>

<!--MD-->
<p>If the <code title=attr-itemprop><a href=#names:-the-itemprop-attribute>itemprop</a></code> is specified
on an <code><a href=#the-area-element>area</a></code> element, then the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute must also be
specified.</p>
<!--MD-->

<div class=impl>

<p>The <a href=#activation-behavior>activation behavior</a> of <code><a href=#the-area-element>area</a></code>
Expand Down
67 changes: 67 additions & 0 deletions source
Expand Up @@ -21662,6 +21662,13 @@ included with Exhibit B.
if the <code title="attr-hyperlink-href">href</code> attribute is
not present.</p>

<!--END w3c-html--><!--MD-->
<p>If the <code title="attr-itemprop">itemprop</code> is specified
on an <code>a</code> element, then the <code
title="attr-hyperlink-href">href</code> attribute must also be
specified.</p>
<!--START w3c-html--><!--MD-->

<div class="example">
<p>If a site uses a consistent navigation toolbar on every page,
then the link that would normally link to the page itself could be
Expand Down Expand Up @@ -26412,6 +26419,13 @@ href="?audio">audio&lt;/a> test instead.)&lt;/p></pre>
<span>valid non-empty URL potentially surrounded by
spaces</span>.</p>

<!--END w3c-html--><!--MD-->
<p>If the <code title="attr-itemprop">itemprop</code> is specified
on an <code>iframe</code> element, then the <code
title="attr-iframe-src">src</code> attribute must also be
specified.</p>
<!--START w3c-html--><!--MD-->

<p>The <dfn title="attr-iframe-srcdoc"><code>srcdoc</code></dfn>
attribute gives the content of the page that the <span>nested
browsing context</span> is to contain. The value of the attribute is
Expand Down Expand Up @@ -27358,6 +27372,13 @@ href="?audio">audio&lt;/a> test instead.)&lt;/p></pre>
present, must contain a <span>valid non-empty URL potentially
surrounded by spaces</span>.</p>

<!--END w3c-html--><!--MD-->
<p>If the <code title="attr-itemprop">itemprop</code> is specified
on an <code>embed</code> element, then the <code
title="attr-embed-src">src</code> attribute must also be
specified.</p>
<!--START w3c-html--><!--MD-->

<p>The <dfn title="attr-embed-type"><code>type</code></dfn>
attribute, if present, gives the <span>MIME type</span> by which the
plugin to instantiate is selected. The value must be a <span>valid
Expand Down Expand Up @@ -27704,6 +27725,13 @@ href="?audio">audio&lt;/a> test instead.)&lt;/p></pre>
title="attr-object-data">data</code> attribute or the <code
title="attr-object-type">type</code> attribute must be present.</p>

<!--END w3c-html--><!--MD-->
<p>If the <code title="attr-itemprop">itemprop</code> is specified
on an <code>object</code> element, then the <code
title="attr-object-data">data</code> attribute must also be
specified.</p>
<!--START w3c-html--><!--MD-->

<p>The <dfn
title="attr-object-typemustmatch"><code>typemustmatch</code></dfn>
attribute is a <span>boolean attribute</span> whose presence
Expand Down Expand Up @@ -29878,6 +29906,13 @@ interface <dfn>HTMLAudioElement</dfn> : <span>HTMLMediaElement</span> {};</pre>
attribute, if present, must contain a <span>valid non-empty
URL potentially surrounded by spaces</span>.</p>

<!--END w3c-html--><!--MD-->
<p>If the <code title="attr-itemprop">itemprop</code> is specified
on the <span>media element</span>, then the <code
title="attr-media-src">src</code> attribute must also be
specified.</p>
<!--START w3c-html--><!--MD-->

<p>The <dfn
title="attr-media-crossorigin"><code>crossorigin</code></dfn>
content attribute on <span title="media element">media
Expand Down Expand Up @@ -44111,6 +44146,13 @@ function AddCloud(data, x, y) { ... }</pre>
if the <code title="attr-hyperlink-href">href</code> attribute is
not present.</p>

<!--END w3c-html--><!--MD-->
<p>If the <code title="attr-itemprop">itemprop</code> is specified
on an <code>area</code> element, then the <code
title="attr-hyperlink-href">href</code> attribute must also be
specified.</p>
<!--START w3c-html--><!--MD-->

<div class="impl">

<p>The <span>activation behavior</span> of <code>area</code>
Expand Down Expand Up @@ -67330,6 +67372,31 @@ partial interface <span>HTMLElement</span> {
title="attr-meta-charset">charset</code> attributes must be omitted,
and the <code title="attr-meta-content">content</code> attribute
must be present.</p>

<p>If the <code title="attr-itemprop">itemprop</code> is specified
on an <code>a</code> or <code>area</code> element, then the <code
title="attr-hyperlink-href">href</code> attribute must also be
specified.</p>

<p>If the <code title="attr-itemprop">itemprop</code> is specified
on an <code>iframe</code> element, then the <code
title="attr-iframe-src">data</code> attribute must also be
specified.</p>

<p>If the <code title="attr-itemprop">itemprop</code> is specified
on an <code>embed</code> element, then the <code
title="attr-embed-src">data</code> attribute must also be
specified.</p>

<p>If the <code title="attr-itemprop">itemprop</code> is specified
on an <code>object</code> element, then the <code
title="attr-object-data">data</code> attribute must also be
specified.</p>

<p>If the <code title="attr-itemprop">itemprop</code> is specified
on a <span>media element</span>, then the <code
title="attr-media-src">src</code> attribute must also be
specified.</p>
<!--/YYY-->

<div class="impl">
Expand Down

0 comments on commit 5ac0a98

Please sign in to comment.