- From: Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>
- Date: Mon, 1 Nov 2010 19:44:46 +0100
- To: Anne van Kesteren <annevk@opera.com>
- Cc: Henri Sivonen <hsivonen@iki.fi>, Ian Hickson <ian@hixie.ch>, Sam Ruby <rubys@intertwingly.net>, HTML WG <public-html@w3.org>
Anne van Kesteren, Tue, 05 Oct 2010 18:40:50 +0200:
> I think a point I missed in your description is that having e.g.
> <p><figure><pre> work, but <p><pre> break, as suggested by Henri, is
> highly illogical and confusing. Henri told me he thinks this okay
> because people only look at the nearest ancestor (i.e. parent-child
> relationships), but I do not think that is true. You often change
> your markup around and in this scenario if you removed <figure>, </p>
> would suddenly be implied before the <pre>, which is not really what
> you would expect.
On the contrary, it seems logical that one can use a certain wrapper
element - <figure/> - in order to place elements in "foreign" contexts.
That the wrapper effect goes way if the wrapper is removed, is normal
and very little surprising.
HTML4 has that concept: One can place a <table> inside a <p> in HTML4,
as long as one wraps it inside an <object>. One can even place a <p>
inside a <p>, as long as the second <p> is wrapped inside an <object>.
Since, HTML5, as it stands, removes this HTML4 feature, it is logical
to replace it with a new feature. And it seems <figure> has the
potential of being more useful and logical/expected solution to this
wrapper problem, than <object> is (which also i buggily implemented,
especially in IE).
If would even be possible to use the <figure> inside a <object>, and
thus one would - effectivley - get back the feature that HTML5
currently has removed. We can illustrate this with the adopted solution
to ISSUE-107, which uses illegal HTML5(!), since it places a <p> inside
<p> - wrapped in a <object>:
<p>
<object type="application/vnd.o3d.auto">
[ snipped ]
<p>To see the teapot actually rendered by O3D on your
[ snip ] please download and install the [ link ].
</p>
</object>
<script src="o3d-teapot.js"></script>
</p>
With, Henri's proposal, one could wrap the <p> in a <figure>:
<p>
<object type="application/vnd.o3d.auto">
[ snipped ]
<figure>
<p>To see the teapot actually rendered by O3D on your
[ snip ] please download and install the [ link ].
</p>
</figure>
</object>
<script src="o3d-teapot.js"></script>
</p>
Of course, a more perfect illustration would of course be something
like this, where the fallback is used for real fallback rather than for
(only) providing installation help:
<p>
<object data=SVG-diagram >
<figure>
<table>
<!-- table fallback for the diagram -->
</table>
</figure
</object>
</p>
--
leif halvard silli
Received on Monday, 1 November 2010 18:45:24 UTC