On 29/09/2009 03:21, Tab Atkins Jr. wrote:
On Mon, Sep 28, 2009 at 9:18 PM, Marius Gundersen<gunder...@gmail.com>  wrote:
Shouldn't you always close the tags, either self-closing or with a separate
close tag? That is, this is the correct way to do it:

<video width="640" height="360" style="color:red">
  <source src="bunny.ogv" type="video/ogg" />
  <source src="bunny.mp4" type="video/mp4" />
</video>
<p>Text after the video element.</p>

In the HTML syntax of HTML5, no, void elements do *not* have to be
explicitly closed.  You *can* put the trailing slash on them, but it
doesn't do or mean anything; it's simply ignored.


If the content is served as XHTML then it would have the same effect as adding the closing </source> tags. For a JavaScript solution I would like to avoid having to require XHTML. This is further complicated by a new discovery, Safari 3 completely ignores <source> elements. They don't appear in the DOM tree at all. But that's a separate problem. :)

It's probably too late to change the spec. But the Opera bug I pointed out is serious enough to consider an alternative solution. Allowing closing tags for <source> would solve the problem. I'm not sure of the implications for the defined rendering models in HTML5.

Just to reiterate, Opera<10 treats all unknown elements as container (flow) elements. That means that as soon as it encounters a <source> tag, all of the following elements are *children* of the <source> element. This makes all DOM queries and CSS rules completely useless. Allowing a closing </source> tag solves the problem.

-dean

Reply via email to