Re: what is dt?

Shelley Powers writes:

> So now, rather than "dt" being a definition term, it's become, well I
> don't know what it's become. Something.

Hi Shelley.  I think in all these cases <dt> is being used to label the
content in the corresponding <dd>:

> It's used in its previous incarnation, as part of a definition list:
> <dl>
> <dt lang="en-US"> <dfn>color</dfn> </dt>
> <dt lang="en-GB"> <dfn>colour</dfn> </dt>
> <dd> A sensation which (in humans) derives from the ability of
> the fine structure of the eye to distinguish three differently
> filtered analyses of a view. </dd>
> </dl>

"color" and "colour" are the labels for that description.

But note that <dt> isn't necessarily a definition list -- it can be used
for a list of any name-value pairs.

> And now, seemingly, its a part of the so-called "details" element,
> whose purpose is, well, I'm trying to figure that one out, "The
> details element represents additional information or controls which
> the user can obtain on demand", not being particularly helpful.

It's a way of making additional details about something available to
users without them necessarily being exposed all the time.  For example
on your Twitter homepage the sidebar has 'Trending Topics' and
'Following', whose contents can be expanded or collapsed.

> I'm assuming its a pure Ajax type thing,

Not really -- using <details> doesn't require any asynchronicity,
JavaScript, or XML (though pre-HTML5 implementations obviously need
JavaScript to achieve the same results as <details> will).

> meant to be exposed when something is clicked.


> Anyway, dt within details is supposed to provide the summary of the
> details. So, I guess it's now "definition term" and "details term".

Again, the <dt> is labelling the content

> Now, dt is used in figure, as caption:
> <p>In <a href="#l4">listing 4</a> we see the primary core interface
> API declaration.</p>
> <figure id="l4">
> <dt>Listing 4. The primary core interface API declaration.</dt>
> <dd>
>  <pre><code>interface PrimaryCore {
>  boolean verifyDataLine();
>  void sendData(in sequence&lt;byte> data);
>  void initSelfDestruct();
> }</code></pre>
> </dd>
> </figure>
> <p>The API is designed to use UTF-8.</p>

And there the <dt> is labelling the figure, whose contents are in the

> I guess dt means...actually, I give up. I don't think that dt means
> anything anymore.

Having <dt> always label its associated <dd> seems consistent.  The main
problem is its non-intuitive name (though that's hardly unique among
HTML elements); all the good names already have other behaviour in
existing browsers, and it seems folks aren't prepared to wait a few
years before <details> or <figure> are usable.


Received on Tuesday, 15 September 2009 16:45:46 UTC