[navigation] does <dt> label a <dd> that follows it?

** preface

Pretty soon we will have a Wiki up where people can refine ideas
about the usage of WAI-ARIA markup. I'll hook to this idea from the
Wiki once it's in operation. But there are some long-standing issues
around navigation that I've been tasked to frame, and I'm pursuing
them here.

When I put [navigation] in the Subject line, I'm trying to say that
this post fits under the general question "What markup is needed, and
how should it be used, to meet the goal of structured navigation
represented by UAAG 1.0 Checkpoint 9.9 and WCAG 1.0 checkpoints
12.3 and 12.4."

http://www.w3.org/TR/UAAG10/guidelines.html#tech-nav-structure

http://www.w3.org/TR/WCAG10-TECHS/#tech-group-information

http://www.w3.org/TR/WCAG10-TECHS/#tech-associate-labels

** Implicit grouping in html:dl

There are some differences between how the structure defined
with <dl>, <dt>  and <dd> elements is described in the HTML specification
and how it is used in the wild.  However, in both cases there is
an implied association between a <dd> and the closest <dt> before
it.  The conventional layout indents the <dd> contents.  So the
culture treats this as a hierarchy: there are one or more <dd>
elements, and the <dt> contents apply to any <dd> elements
listed after it.

I am only belaboring this because there is no syntactic nesting in
this case. If this is hierarchy, it is hierarchy we can't get by the
routine parent tracking in the DOM. The <dt> and <dd> elements are
both direct children of the <dl> and the <dd> are not children (in
the parse tree) of the <dd>. So this is a structure that fails to
deliver what we asked for in XAG 2.5, to provide (in the markup) a
full containment structure.

http://www.w3.org/TR/xag#cp2_5

Here the scoping is implicit from the sequence, not explicit in
the element nesting.

Recall that ISO HTML attempted to force a full containerization
on HTML.  This may or may not have contributed to the fact
that it was roundly ignored and the world continued approximating
W3C HTML as the standard (to the extent that markup is orthodox).

So my suspicion is that we are more likely to achieve success, here
if we "pave the cowpaths" and treat <dt>, <dd> as expressing
implicit hierarchy rather than ask people to change how they mark
up their content to make the hierarchy explicit from the parse.

** question:

Can we (should we) get the software doing the binding to
accessibility APIs to treat

<dl>
<dt>term1</dt>
<dd>remark 1.1</dd>
<dd>remark 1.2</dd>
....
</dl>

as if it were marked

<dl>
<dt id='list3term1randxyz'>term1</dt>
<div role='aaa:group' aaa:labelledby='#list3term1randxyz'>
<dd>remark 1.1</dd>
<dd>remark 1.2</dd>
</div>
....
</dl>

** example:

This example is from the WCAG2 Techniques, technique C7, example two

<quote
cite="http://www.w3.org/WAI/GL/WCAG20/WD-WCAG20-TECHS/#C7">

<dl>
<dt>Winnie the Pooh </dt>
    <dd><a href="winnie_the_pooh.html">
       <span>Winnie the Pooh </span>HTML</a></dd>
    <dd><a href="winnie_the_pooh.pdf">
          <span>Winnie the Pooh </span>PDF</a></dd>
<dt>War and Peace</dt>
     <dd><a href="war_and_peace.html">
       <span>War and Peace </span>HTML</a></dd>
     <dd><a href="war_and_peace.pdf">
       <span>War and Peace </span>PDF</a></dd>
</dl>

</quote>

In the WCAG techniques document, the <span> inside an <a> link
is styled to hide it (with an overflow trick).

Aside from the bad practice in this example (span in link is not
a good selector for this use, a class should be used to mark
the conditional content as @class='more' or something to that
effect), should the repeated labeling even be necessary, or should
the <dt> be regarded as enough of a label within this HTML
markup?

Should we really be asking authors to repeat the text, here, or should
we expect client software to treat the <dt> contents as an inheritable
context label?

Al

Received on Thursday, 17 May 2007 17:29:30 UTC