Re: Issues with <dl> [continued from Re: Concerns about the "l" element name <l>]

On Fri, 5 Nov 2004, Thomas O'Connor wrote:

> And it isn't being used for formatting. It is being used to associate terms with values, whether it be words with meanings,
> speakers with speech, properties with values, labels with elements - which are all semantically valid under a loose* interpretation.

"Associating" is just a nice way of saying you need something to attach
styles to and to have some default layout you want. Why else would you
like to "associate" things?

> > And the W3C has
> > shown the way in the grossly self-contradictory section on <dl> in the
> > HTML 4 specifications.
>
> Grossly self-contradictory?

Yes. It says <dl> means definition list, and then it proceeds to
describing that it is used for dialogues.

> Surely it is a matter of interpretation, and is only self-contradictory
> from a strict* view point.

That is, only if you think words have meanings and once you have _defined_
something you cannot proceed to babbling about something completely
different "use" for it. It's quite comparable to saying that <blockquote>
means 'block quotation' and then describe that it is used to indent text
(which is in effect what the specification says, though with _some_
disapproval - it refuses to say such usage is _wrong_, it just declares it
"deprecated").

> We do have markup for a single definition, <dfn>[4], however you
> already are aware of this.

I know that it is _not_ a markup for a definition.

It is markup for a defining occurrence of a term.

> You are defining the value of certain properties.

Like the value of Romeo as the words he says?

Even <dl><dt>E-mail</dt> <dd>jkorpela@cs.tut.fi</dd> ... </dt> does
not _define_ the value of E-mail, still less the _meaning of the term
"E-mail"_, which is what it should do if the markup were compatible with
the definition of <dl> semantics.

> The W3C in its HTML 4.0 recommendation[5], XHTML 2.0 draft [6] and
> validator implementation[3] of <dl> does not imply or act from a
> strict view point, but in fact it implies that <dl> is actually loose*.

That's what I have been saying. <dl> is a complete failure.
Its usage, and even the descriptive part of the HTML specs,
does not correspond to its defined meaning. And there is no way
to define it in a way that corresponds to its widespread use - because
that use itself is purely presentational, used to achieve some simple
layout, and if you try to capture that into some semantics, you find
yourself in speaking about vague "associations". And defining a pointless
special case of a table.

And it would be particularly strange to keep the tag names. If
<dl> does not mean definition list (a list of definitions), why
call it <dt>? It <dt> does not mean definition term (a term being
defined), why call it <dt>? If <dd> is a value of a variable, or the
words of an actor, or some comments on something, and not definition
data, why call it <dd>?

-- 
Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/

Received on Friday, 5 November 2004 00:10:56 UTC