Re: Official RDFa Response: ISSUE-104: Determine if RDFa should normatively state that <link> and <meta> elements are supported in flow content.

On Fri, 9 Sep 2011 11:10:16 -0400
Gregg Kellogg <gregg@kellogg-assoc.com> wrote:

> Your comment was that RDFa should allow for the use of <link> and
> <meta> elements in flow content, as Microdata specifically supports. 

While the Microdata spec does show a <meta> element in flow content as
an example, in practice for text/html this simply doesn't work.

http://dev.w3.org/html5/spec/tree-construction.html#parsing-main-inbody

| A start tag token whose tag name is one of: "base", "basefont",
| "bgsound", "command", "link", "meta", "noframes", "script", "style",
| "title"
|
|     Process the token using the rules for the "in head" insertion
|     mode.

In other words, when building the DOM, all <meta> and <link> elements
are placed as children of the <head> element, no matter where they
occur in the original stream.

This has been done by browsers for at least a decade, so any change
could create substantial backwards compatibility problems. For example,
a client-side Microdata or RDFa implementation that expected to be able
to find <meta> and <link> elements in flow content would not find them
in the DOM of any legacy browsers. (And for "any legacy" read "any".)

Of course in application/xhtml+xml, DOM construction is as per XML, so
elements stay where you expect them to be.

-- 
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>

Received on Tuesday, 20 September 2011 07:25:53 UTC