- 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