- From: Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>
- Date: Sun, 27 Jun 2010 06:48:16 +0200
- To: "L. David Baron" <dbaron@dbaron.org>
- Cc: Anne van Kesteren <annevk@opera.com>, HTML WG <public-html@w3.org>
L. David Baron, Sat, 26 Jun 2010 20:52:19 -0700:
> On Sunday 2010-06-27 04:59 +0200, Leif Halvard Silli wrote:
>> can you track down and put into the Differences document some data
>> about _when_ and _why_ HTML5 changed the content model of <object>?
>>
>> Example of the issue:
>>
>> <p>
>> <object type="image/gif" data="image">
>> <p>Foo.</p>
>> </object>
>> </p>
>>
>> The above is legal in HTML4, but illegal in HTML5.I've already a bug to
>> get back the HTML4 content model:
>> http://www.w3.org/Bugs/Public/show_bug.cgi?id=9657
>
> I think the HTML4 model was just a spec bug resulting from the use
> of DTDs to express the restrictions of the language. Why would you
> want <object> to let pages violate a whole bunch of the rules of the
> content model of the language?
HTML4 include 4 such code examples - which I don't think it would have
included, if it only were a theoretical DTD kind of thing:
<P><OBJECT classid="http://foo.bar.com/poem_viewer"
data="KublaKhan.txt">
<PARAM name="font" valuetype="object" value="#tribune">
<P>You're missing a really cool poem viewer ...
</OBJECT>
.......
<P><OBJECT data="navbar1.gif" type="image/gif" usemap="#map1">
<MAP name="map1">
<P>Navigate the site:
<A href="guide.html" shape="rect" coords="0,0,118,28">Access
Guide</a> |
<A href="shortcut.html" shape="rect"
coords="118,0,184,28">Go</A> |
<A href="search.html" shape="circle"
coords="184,200,60">Search</A> |
<A href="top10.html" shape="poly"
coords="276,0,276,28,100,200,50,50,276
,0">Top Ten</A>
</MAP>
</OBJECT>
........
<P><OBJECT data="navbar1.gif" type="image/gif" usemap="#map1">
<P>This is a navigation bar.
</OBJECT
.........
<P>
<OBJECT data="navbar.png" type="image/png" usemap="#map1">
<OBJECT data="navbar.gif" type="image/gif" usemap="#map1">
<MAP name="map1">
<P>Navigate the site:
<A href="guide.html" shape="rect" coords="0,0,118,28">Access
Guide</a> |
<A href="shortcut.html" shape="rect" coords="118,0,184,28">Go</A>
|
<A href="search.html" shape="circle"
coords="184,200,60">Search</A> |
<A href="top10.html" shape="poly"
coords="276,0,276,28,100,200,50,50,276,
0">Top Ten</A>
</MAP>
</OBJECT>
</OBJECT>
And also: Every time the HTML4 validator discover an element in an
illegal context, it typically tells you to nest it inside a <object> or
<map> or <button> if you want to have it there.
I find it hard to believe that all these things are side effects of the
fact that HTML4 is expressed as a DTD.
> I could understand saying that you want to allow nested paragraphs
> in general.
When would it have made sense to nest a <p> inside a <p>? What would
you use it for? I can see that it is useful to have a <table> or list
inside a paragraph - in HTML4 you can do this by placing it inside an
<object>. But I do not see why paragraph inside a paragraph is useful -
it seems illogical.
> (It's not compatible with text/html-parsing, though.)
This is because <p> does not need a closing tag, I assume.
> But why would you want to allow nested paragraphs only when there is
> an object element between them?
Because, technically, it then isn't a paragraph inside a paragraph. It
is a paragraph inside an object inside an a paragraph. From a practical
point of view, because <object> is supposed to have fallback, including
long fallbacks and transcripts. With the HTML5 limitation, you would
have to to this:
<p>Paragraph 1.
<div>Paragraph 2: <object data="image"><p>Fallback.</object></div>
<p>Paragraph 3.
Whereas the HTML4 model allows us to do the logical thing:
<p>Paragraph 1.
<p>Paragraph 2: <object data="image"><p>Fallback.</object>
<p>Paragraph 3.
The only advantage I see to the current HTML5 model is that it is more
compatible with legacy Internet Explorer. (And, I admit that I thought
this to be a reason by the limitation ...)
I do not understand the way you reason: You find the issue that nesting
of <p> inside <p> is impossible, as suboptimal. Then why do you argue
for the same limitations also when there is no such technical
limitation?
--
leif halvard silli
Received on Sunday, 27 June 2010 04:49:22 UTC