On Fri, 10 Aug 2007, Jukka K. Korpela wrote:
I have repeatedly written about the unsuitability of <dlmarkup in general,
but I feel morally compelled to defend it against claims about ambiguity when
there is no reasonable ambiguity.
The specifications could be _much_ clearer, but the apparent _intended_
semantics is that a <dtelement associates with the first <ddelement after
it. The semantics is undefined when there is no following <ddelement or a
<dlelement begins with a <ddelement.
The three lists <ol>, <ul>, and <dlin HTML are the same as the three
lists \begin{enumerate}, \begin{itemize}, and \begin{description} in
LaTeX. It *could* be that the HTML lists were modelled on LaTeX lists, but
there is IMHO no doubt that these three are indeed frequently needed. In
quite some of my own Web pages I have
<ul><li><p><strong>something:</strongmore about it</p></li... </ul>
because I wanted to spare the effort of writing a CSS spec for the
intended
<dl><dt>something:</dt><dd>more about it</dd... </dl>
given that more or less all browsers would represent that in very ugly way
when there is no style sheet to fix it.
Such kinds of lists occur always when the headline of a paragraph is part
of the paragraph. Definitions of terms are an example but given the
examples in the W3C spec, one should not have qualms to use it for other
things as well.
One will have three or four forms of such list (paragraph-like for
multi-word terms and table-like for variable names, each perhaps in more
than one design) and one may distinguish them by class attributes.
There is one use of <dl>s which I frown upon: tables are, for whatever
reason, considered less accessible than lists, which causes people to
convert two-column tables into <dl>s. This is correct when the table is
only a means of typesetting a list, but it is nonsense when the semantics
is indeed that of a table. There is nothing wrong with using a <tablefor
a table, and there is no need to use something else.
--
Helmut Richter