- From: Ian Hickson <ian@hixie.ch>
- Date: Wed, 27 Feb 2008 19:40:15 +0000 (UTC)
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. `._.-(,_..'--(,_..'`-.;.'
Received on Wednesday, 27 February 2008 11:40:15 UTC