[whatwg] Suggest making <dt> and <dd> valid in <ol>
Ian Yang
ian.html at gmail.com
Fri Jul 13 22:22:05 PDT 2012
Hi chief editors and everyone else,
How have you been?
Recently I was involved in a project. One of its pages has a special
content which is like a "life cycle". There are several stages in the
cycle, each stage has a term followed by some text describing the term.
Let's take the life cycle of butterfly for example:
Egg
A white egg.
Caterpillar
The egg hatches into a caterpillar. The caterpillar eats and grows a
tremendous amount.
Pupa
The caterpillar forms a hard outer shell. Inside the shell, the caterpillar
changes into a butterfly.
Butterfly
Butterflies live for only a short time. They will fly, mate, and reproduce.
The female lays an egg that was fertilized by the male.
By seeing such contents, we usually code it using definition list (<dl>).
At first, I was thinking the same idea. But then I realized that stages in
a life cycle should be regarded as ordered contents. So ordered list (<ol>)
would be more appropriate. However, if using ordered list, usually the
approach is to use general heading (<H1>) and paragraph (<p>) to wrap the
term and the description. And that loses the meaning of "definition term"
and "definition description".
I was hesitant about using definition list or ordered list. Finally, I
chose ordered list, but felt uncomfortable about that.
If we could make <dt> and <dd> being not restricted to <dl> only, but could
also exist in <ol>, the problem will be solved perfectly. Like the
following:
<ol>
<li>
<dt></dt>
<dd></dd>
</li>
<li>
<dt></dt>
<dd></dd>
</li>
<li>
<dt></dt>
<dd></dd>
</li>
</ol>
********************
And here comes another idea about the definition list (<dl>). By inspecting
the above code, <dt> and <dd>(s) could become more meaningful if they could
be grouped together by <li>. For example:
<dl>
<li>
<dt></dt>
<dd></dd>
</li>
<li>
<dt></dt>
<dd></dd>
</li>
<li>
<dt></dt>
<dd></dd>
</li>
</dl>
It's like the case of <label>s and <input>s in <form>. Although it is
valid to just leave all <label>s and <input>s as directly children of <form>,
we often group them with <div>s (or <p>s) to make the markup more
meaningful and organized. And by doing so, we also get the side benefit of
having more styling elements.
********************
To sum up, it would be more meaningful if the following things become valid:
- <dt> and <dd> are not restricted to <dl> only. They could also exist
in <li> of <ol>
- <dt> and <dd> in <dl> may, but not must, be grouped by <li> when in
situations that using <li> to group them could make the markup more
meaningful
And we surely don't need <dt> and <dd> in <ul> because using <dl> is more
appropriate.
Sincerely,
Ian Yang
Meaningful and semantic HTML lover | Front-end developer
More information about the whatwg
mailing list