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

Henri Sivonen, Tue, 5 Oct 2010 00:07:28 -0700 (PDT):

> The current draft of the Change Proposal is at
> http://www.w3.org/html/wg/wiki/ChangeProposals/FigureInP

Thank you for the invitation to contribute. So far I've added some in 
the Positive Effects section of the CP. 

  [ snip ]
> The more controversial part makes a figure element on the tree 
> builder stack prevent an ancestor p from closing when an element that 
> would otherwise autoclose p appears as a descendant of figure. In 
> other words, figure becomes like button as far as p autoclosing goes. 
> Since legacy parsers don't know about figure at all, this is a novel 
> feature. This feature makes it possible to present any content 
> (including pre and table) as a figure even when figure is a child of 
> p. Authors would benefit from this part once they no longer try to 
> make their pages work in browsers that predate this change.
> 
> I invite feedback on these two aspects of the proposal particularly 
> from practicing Web designers.

I consider this *the* positive side of the proposal. And, it also 
echoes things that have been said in this group before, and which the 
vendors thus have been aware of: <figure>, as curently defined, can 
only be used to caption images that are kept outside of paragraphs. 
E.g. it was one of the issues that brougth up when Shelley objected to 
<figure>.

 HTML5 already *implicitly* allows paragraphs to be nested - per the 
description of the paragraph *concept* (as opposed to the paragrph 
*element*). [1] The only thing that HTML5 does not allow, is to 
explicitly express in with mark-up.

This change proposal allows us to keep two concept separate, which 
currently (in HTML4) are kept together: it would allow us to use 
<figure> for marking up what is a figure - regardls of its strucure or 
content, and it would allow us to use <object> solely for embedding. In 
HTML4 one must instead use the object elements for both purposes.

One question that I think the CP should clarify is the following: When 
it comes to <object>, then it is permitted to wrap it inside a inline 
element, such as <span>: <span><object/></span>. What about <figure/>? 
Would it be permitted to do <p><span><figure/></span></p>? You make 
some comparsions to <button/> - and it *is* permitted to wrap a 
<button/> inside <span/> (or inside a <dfn/>, for that matter). 

It is a pitty that Webkit seems to spit block elements out of the <p/>, 
despite that they appear inside <figure>. (Reminds me a lot about how 
Webkit handles the <caption> element.) But IE (tested IE7), Firefox 3.6 
Opera 10.x  do not have problems that way. Opera have problems, nut not 
as many as my Safari. 

That it is possible to work around the problems in Safari and Opera by 
using <object> as a wrapper, illustrates one of the reasons why I 
support this proposal: We should have a unfied way of handling block 
elements that are nested inside a <p>. In contrast to the current 
status, whether the elements fallback content or visible to all, should 
irrelevant.

[1] http://dev.w3.org/html5/spec/content-models#paragraphs
-- 
leif halvard silli

Received on Tuesday, 2 November 2010 02:53:28 UTC