I like this idea. The <dl> element has been used (and some would say
abused) for quite a few different purposes. HTML5 creates a <dialog>
element to split off one of those purposes, but I'd argue that
marking up dialogues is not the only - probably not even the most
important - use of <dl> that should be split off.
In particular, I think key-value lists are an important case. e.g.
<dl>
<dt>Name:</dt>
<dd>Toby Inkster</dd>
<dt>Date of birth:</dt>
<dd>1980-06-01</dd>
</dl>
This is quite different to a definition list. "Toby Inkster" isn't
the definition of "Name"; if anything it's the other way around:
"Name" is the definition of "Toby Inkster". <dl> lists like this seem
to be pretty common.
Specialising it using an attribute seems preferable to creating a
different element for each usage. I'd suggest not using @type though
because its syntax would conflict with the attribute of the same name
on <a>, <link>, <script>, <object>, etc.
Possibly @role could be re-used. (@role isn't just an ARIA attribute,
it's intended to be used in other ways too.) e.g.
<dl role="property-list">
<dt>Name:</dt>
<dd>Toby Inkster</dd>
<dt>Date of birth:</dt>
<dd>1980-06-01</dd>
</dl>
A role of "glossary" or something would be the default if no
contradictory roles (like "dialog", "timeline" or "property-list")
were found.
--
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>