[whatwg] several messages about <figure> and related subjects
Ian Hickson
ian at hixie.ch
Wed Feb 27 11:40:15 PST 2008
On Wed, 27 Feb 2008, Michel Fortin wrote:
>
> I'm wondering however about the definition leaving something out. It
> says: "The figure element represents some prose content, optionally with
> a caption, which can be moved away from the main flow of the document
> without affecting the document's meaning."
>
> Now, suppose you have this:
>
> <p>A header looks like this in your browser:</p>
> <h1>Some text!</h1>
>
> ... unfortunately, the <h1> here isn't a real header in the document:
> it's an illustration of a header (ah-ha: figure!) which can't be removed
> from te flow of the document (oops, can't use figure). There's no
> rational way to markup this with the current wording of the spec;
> abusing <figure> is the most reasonable option I can find:
>
> <p>A header looks like this in your browser:</p>
> <figure><h1>Some text!</h1></figure>
>
> The problem being that <figure> needs the ability to be moved around
> without changing the meaning of the document, so the markup above would
> be non-conforming because the sentence just makes no sense if you put
> the figure elsewhere. Perhaps figure could have an optional "anchored"
> attribute to indicate it belongs to a specific point in the document.
Using <figure> here doesn't help. What you are illustrating in this case
isn't what a header looks like, it's a section that happens to have a
header. In fact the only difference between this case and the first
example above is that the first example above breaks the outline, but you
could work around that by doing this:
<p>A header looks like this in your browser:</p>
<section><h1>Some text!</h1></section>
...and it would have roughly the same meaning as in the <figure> case.
The problem is that there's no way to mark up content as being
"metacontent", that is, there's no way to mark up an element as having no
semantics but its default presentation.
This is a rare edge case which basically only affects tutorials and test
cases. We could come up with a feature to annotate markup as being
"literal" or "meta" rather than working as defined, but I don't see the
point. Test cases aren't going to use it because they are trying to fake
out the browser into thinking that some particular convoluted case is
occuring, and frankly tutorials are better off not using it because
otherwise people would copy and paste that without realising it is
specific to tutorials.
I recommend simply not worrying about it. In cases where you're
self-referrentially discussing markup, the document's semantics don't
really make sense. But that's ok, I don't think anyone but semantic nerds
like us are going to really notice or care.
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
More information about the whatwg
mailing list