W3C home > Mailing lists > Public > public-html@w3.org > November 2010

Re: ISSUE-128 (figure-in-p): Chairs Solicit Proposals

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>
Message-ID: <20101101194446611748.eb6922f4@xn--mlform-iua.no>
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

This archive was generated by hypermail 2.3.1 : Thursday, 29 October 2015 10:16:06 UTC