Le 30 août 2006 à 4:31, Anne van Kesteren a écrit :
The meaning of your markup is that you inserted and deleted some
text within each list item, not that you added or deleted a list
item like in mine. Semantically there is a difference, subtle
maybe but still there.
That depends on the definition.
Sure, the definition could say anything. But it also need to be
coherent with what is already defined as well as with author
expectations (to a degree) if we want to see it used correctly. Since
enclosing a <p> element within <ins> means you added a paragraph, it
would only make sense to enclose a <li> element within <ins> to
signify you added a list item.
On the other side, disallowing <ins> and <del> in list context defies
the expectation that you simply have to wrap what was inserted or
deleted within <ins> or <del> to express what changed in a document.
If the spec continues to disallow these elements in some contexts, it
should be made more explicit.
The most convincing reason I've seen for keeping such an exception is
backward compatibility in a table context. While something like this
would make perfect sense to me as an indication that a new row was
added to a table:
<table>
<tr><th>Some Header</th><th>Some Header</th></tr>
<tr><td>Some Data</td><td>Some Data</td></tr>
<ins><tr><td>New Data</td><td>New Data</td></tr></ins>
</table>
... browsers just won't allow <ins> inside the table; they'll take
the <ins> element and put it just before the table in the DOM.
But then it wouldn't be the first backward compatibility issue of
this kind: put a paragraph within a <section> element and look at the
resulting DOM in Mozilla, or Opera 7, and you'll have a similar problem.
Also, while your markup gives the same visual rendering while
using the default browser stylesheet (which underlines <ins> and
overstrikes <del>), the result will be completely different if you
want to hide the inserted or deleted parts. Using this CSS rule:
del { display: none }
you'll see a one-item list for my markup, while for your markup
you'll see a second, empty list item.
That could be seen as a limitation of the styling language. It has
been repeated many times on this list that styling should not be
taken into account when "designing" markup.
And I agree with that, mostly. I think style should be taken into
account last, that priority should be given to clarity, simplicity,
and coherency.
That said, the essence of my message was that if you can style -- or
manipulate via the DOM -- a list-level <ins> or <del> element using
the *same* rules you'd use for inline- or block-level <ins> or <del>,
it makes things more coherent.
Michel Fortin
[EMAIL PROTECTED]
http://www.michelf.com/