[whatwg] [html5] Numbering things other than <li>
mpt at myrealbox.com
Sat Jan 8 02:00:05 PST 2005
On 8 Jan, 2005, at 3:47 AM, Ian Hickson wrote:
> Incidentally, the markup in this section suggests to me that Web
> Apps is going to need to do something to HTML to handle this better.
> And suggestions?
Yes, people have lots of fun trying to find the correct markup for this
The general problem is that people want to number (or, less commonly,
bullet) series of items that are already in multi-element structures,
such that <ol>/<ul> cannot be used. Here, if numbering were not
required, you would arguably be using <dl> (since each section is a
full definition of the instruction given in its first line), but <dt>s
can't be numbered automatically solely with HTML. The same applies to a
formal dictionary where definitions <dd> for each term should be
numbered. And the same applies to a table where each row <tr> should be
You could use CSS counters, but that's a presentation answer to a
content problem; the numbers are vital information even when CSS is
unavailable or disabled. Similarly, it is occasionally necessary to
start from a number other than 1 (so as to quote only some clauses from
a statute, for example), and/or to change the list numbering partway
through (so as to omit step 2 from a business plan, for example), just
like you can with <ol>, without inserting CSS into your markup. (And
yes, the only browser to support CSS counters is Opera -- but that
itself isn't a fair argument against using them, since immediate
support for any newly-invented markup would be even worse.)
I was going to suggest listtype= and liststart= attributes, to be
applied to any element (e.g. <tbody>) whose children you want treated
as a list, along with a listvalue= attribute for altering numbering of
children within the list itself. But then I realized that wouldn't work
for <dd>, because the container(s) surrounding a definition term or
terms, and the definition datum or data, are never explicit.
Then I was going to suggest a <list> element, with the same attributes
as <ol>, and the difference that it can be placed around any elements
you want treated as a list. But putting that around every set of <dd>s
in a <dl> would still be annoying.
So, um, I don't know. Perhaps listtype=, liststart=, listfor=, and
listresetafter=? For example, <dl listfor="dd" listresetafter="dt"
More information about the whatwg