Ian Hickson schrieb:
On Fri, 25 Jan 2008, Christoph P�per wrote:
I think it has been shown, that the meta attribute |reverse| would not work in
HTML, it would have to be a "command" attribute, i.e. it doesn't describe the
ordering of the following list items, but their indended display. This would
make it presentational and thereby not suitable for HTML. It would belong into
CSS, but that isn't very good at reordering boxes.
I don't really follow. What's wrong with how the spec works now?
Without rereading or much rethinking the thread, the current spec is
right in that |reversed| describes the actual order of |li|s -- which
is, what markup should do --, but this doesn't degrade well and it's not
incremental, because you need to know the number of |ol|'s children
(which you could hardcode with |start|) in advance to number the first
item. Therefore someone proposed a command-like |reverse| (no
participle) attribute that would keep the numbers, but reorder the |li|s
with them, which is backwards-compatible, but works just as bad for
incremental rendering (though in a different way) and is not very
markupish and -- if at all -- should be done on the styling level.
Logical markup order Presentational markup order
<ol><!--spec, compat--> <ol><!--messy-->
<li>First 1. First <li>Third 1. Third
<li>Second 2. Second <li>Second 2. Second
<li>Third 3. Third <li>First 3. First
</ol> </ol>
<ol reversed><!--messy--> <ol reversed><!--spec-->
<li>First 3. First <li>Third 3. Third
<li>Second 2. Second <li>Second 2. Second
<li>Third 1. Third <li>First 1. First
</ol> </ol>
<ol reverse><!--a proposal--> <ol reverse><!--messy-->
<li>First 3. Third <li>Third 3. First
<li>Second 2. Second <li>Second 2. Second
<li>Third 1. First <li>First 1. Third
</ol> </ol>