W3C home > Mailing lists > Public > whatwg@whatwg.org > September 2009

[whatwg] Closing tags for empty content model

From: Dean Edwards <dean.edwards@gmail.com>
Date: Tue, 29 Sep 2009 04:58:43 +0100
Message-ID: <4AC185F3.9060309@gmail.com>
On 29/09/2009 03:21, Tab Atkins Jr. wrote:
> On Mon, Sep 28, 2009 at 9:18 PM, Marius Gundersen<gundersen at 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
Received on Monday, 28 September 2009 20:58:43 UTC

This archive was generated by hypermail 2.3.1 : Monday, 13 April 2015 23:08:52 UTC