W3C home > Mailing lists > Public > www-html-editor@w3.org > July to September 2004

Navigation Lists

From: R. Douglas Ezell <rdouglas@iglou.com>
Date: Tue, 03 Aug 2004 10:48:42 -0400
Message-ID: <410FA5CA.5000700@iglou.com>
To: www-html-editor@w3.org

I have a few questions about navigation lists.

1. What is a navigation list supposed to be? I fail to comprehend how 
the structure and examples presented could produce anything approaching 
a pop-up menu element flexible enough for web page designers to use 
instead of the usual DHTML pop-up menu.

A menu in the windows environment, if it were laid out in xhtml, would 
have the following content model.

drop-down-menu (menu-item+) -no equivalent
menu-bar             (menu+) -no equivalent
menu                   (menu-title,drop-down-menu) -equivalent to the nl 
element (label, (li)+)
menu-title            (PCDATA | Text-1) -equivalent to the label element 
(PCDATA | Text)*
menu-item           (PCDATA | Text-1)* -equivalent to the li element 
(Flow)* (!!!!!!)
sub-menu            (menu-item+) -no equivalent, and if there were an 
equivalent for drop-down-menu no need for one.

example:

<menu-bar>
    <menu>
       <menu-title>PCDATA</menu-title>
          <drop-down-menu>
             <menu-item type="command">(PCDATA | Text-l)*</menu-item>
             <menu-item type="check-box">(PCDATA | Text-l)*</menu-item>
             <menu-item type="option-button">(PCDATA | Text-l)*</menu-item>
             <menu-item type="sub-menu">(PCDATA | Text-l)*
                <sub-menu>
                 <menu-item type="command">(PCDATA | Text-l)*</menu-item>
                 <menu-item type="check-box">(PCDATA | Text-l)*</menu-item>
                 <menu-item type="option-button">(PCDATA | 
Text-l)*</menu-item>
                <sub-menu>
             </menu-item>
          </drop-down-menu>
   </menu>
    ...
</menu-bar>

see also: 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch08b.asp

While I do not advocate that XHTML 2.0 should have such a robust 
structure, at the very least I would expect a containing block for a nl 
element's list-items and a specialized navigation item with a much more 
restricted content model than the li element. Since most websites that 
utilize drop down menus generally use a menu-bar equivalent (whether a 
horizontal bar or a vertical column), a menu-bar equivalent could also 
be useful to improve the semantic meaning of dedicated navigational 
elements in XHTML 2.0, rather than simply more abuse of the div element. 
Without a drop-down-menu/sub-menu equivalent, there is no way to address 
the actual pop-up menus directly to say, put a border around it or hide 
all of it's contained navigation items at once. Without a more 
restricted content model for a navigational list's items, it will be 
incredibly difficult for implementors to implement navigation lists. 
After all, a validating XHTML 2.0 document could contain the entire 
contents of the w3c.org within a single li element.

Am I seeing things all wrong? I hope so. Please explain to me how a nl 
element is supposed to work so I know whether or not these concerns are 
valid.

As it stands now, I would either ignore the nl element entirely, or use 
it like this:

<nl>
    <label>PCDATA</label>
    <li>
        <div>PCDATA</div>
        <div>PCDATA</div>
        <div>
            <nl>
                <label>PCDATA</label>
                <li>
                    <div>PCDATA</div>
                    <div>PCDATA</div>
                    <div>PCDATA</div>
                </li>
            </nl>
        </div>
    </li>
</nl>

Which is only a variation of the common practice of using ul elements 
for navigation lists, only at least then the ul elements contained more 
than one li element. A list element that never contains any more than 
one list item somehow seems crude to me, but it is the only way I could 
see the current nl element's structure meeting my needs for such an element.

Please either set me straight or validate and address my concerns on 
this issue.

2. Do you know of any work for specialized css selectors and rules for 
the nl element? There needs to be a way for designers to specify the 
direction and alignment of a nl element's pop-up menu on visual user 
agents, or the element will surely die. If they only drop down and to 
the left, designers will have no other option than to use scripting to 
modify this behavior, and all we will have gained are a few new elements 
with which to apply the standard DHTML menu creation techniques already 
in use.

3. Will the w3c actually place sufficient requirements on the behavior 
and other implementation details to help assure that navigation lists 
can be navigated with mice, keyboards, and other means? I dread that 
navigation lists will become anathema due to lack of adequate 
conformance requirements.

4. Will the w3c actually place sufficient requirements on the behavior 
and other implementation details to help assure that navigation lists do 
not become ugly and inflexible widgets? I dread that navigation lists 
will become anathema due to lack of adequate conformance requirements.

5. When can we expect to see a sufficiently thought out and detailed 
description of the behavior of a navigation list? The version found 
here: http://www.w3.org/TR/xhtml2/xhtml2.zip was humorous at its very 
best, and would have actually caused the entire nl element, including 
it's label, to disapear whenever it lost focus. Again, I refer you to 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch08b.asp 
for some excellent guidlines for menu behavior. If only microsoft 
followed it's own advice more often =). Perhaps a style rule could 
enable alternate behaviors for navigation lists based on either UA, or 
the basic hover behavior now so common on the web. In any case, I dread 
that navigation lists will become anathema due to lack of adequate 
conformance requirements.

Thank you for your time, and I look forward to any replies.
Received on Tuesday, 3 August 2004 10:51:03 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:14:52 UTC