Re: launching the IG review

> OPTION    Making SELECT structures with lots of OPTIONs comprehensible

Here is 1st my cut at explaining this issue:

Some HTML documents include forms with very long selection menus.
The large number of options on these menus makes them hard to
browse when using speech-based browsers or browsers that show
a few words at a time in a very large print.

A possible solution is to find a way to break up such menus
into smaller labelled pieces. This would be done by allowing
authors to group options and to add labels to these groups.
This can be done in such a way as avoid problems for people
using existing browsers. Authors would need to consider both
old and new browsers when writing HTML pages.

Regular windows based browsers would be able to render
option groups in a variety of ways, e.g. horizontal rules
between groups, slide-right menus as used by Windows 95, or
tabbed dialogs. Everyone wins, including people with disabilities.

The changes to HTML required for this basically involve adding
one new element to be called OPTGROUP which represents a group
of options. The WAI-HC list has been discussing two proposals.

The simplest approach is to use OPTGROUP as a container for the
OPTION elements that define the options in each group. To allow
for hierarchically nested option groups, the OPTGROUP elements
can be nested. Each option group can be labelled using an
attribute called, naturally enough, "label".

Authors provide labels for options that make sense when
viewed with older browsers. In the absence of the context
provided by the option groups, these labels need to spell-out
the full meaning of each option. For newer browsers that do
show the option groups, this would make the options look
rather long winded. To deal with this, the label attribute
is also added to the OPTION element. Newer browsers use this
attribute, when present, in preference to the element's content
when fetching the label for each option.

This proposal makes the option group structure immediately
apparent in the markup, particularly so if the elements are
indented to reflect the level of nesting.

Another proposal is to make OPTGROUP an empty element like BR,
and to use attributes to markup which OPTGROUP each OPTION
belongs. To allow for nested option groups, you can also state
which OPTGROUP's a given OPTGROUP belongs. Each OPTGROUP is
given a unique name with the ID attribute. The axes attribute
for OPTION and OPTGROUP lists a set of ID values that name
the groups the element belongs to. The option group label is
stated using the label attribute on each OPTGROUP.

This proposal is harder to author and harder to grasp when
looking at the markup. This makes it more likely for authors
to slip up, and less likely that they will bother to use
option groups in the first place.

Regards,

-- Dave Raggett <dsr@w3.org> http://www.w3.org/People/Raggett
phone: +44 122 578 2984 (or 2521) +44 385 320 444 (gsm mobile)
World Wide Web Consortium (on assignment from HP Labs)

Received on Wednesday, 15 October 1997 11:53:51 UTC