W3C home > Mailing lists > Public > www-html@w3.org > May 2005

Re: [XHTML 2] removal of navigation list element

From: Laurens Holst <lholst@students.cs.uu.nl>
Date: Mon, 30 May 2005 16:33:41 +0200
Message-ID: <429B2445.3060507@students.cs.uu.nl>
To: Anne van Kesteren <fora@annevankesteren.nl>
CC: www-html@w3.org

--> www-html

Anne van Kesteren wrote:
> Laurens Holst wrote:
>> As discussed and agreed with by many on www-html, I request the 
>> removal of the navigation list (<nl>) element, as defined in section 
>> 11.2 of the XHTML 2.0 working draft dated May 27th, 2005.
>>
>> Rationale can be found in the discussion on www-html, e.g.:
>> http://lists.w3.org/Archives/Public/www-html/2005May/0137
>>
>> Basically, I think that the <nl> element could be better expressed as 
>> <ul role="navigation">. The case the specification makes about 
>> removing the need for scripting is hardly a good one, as web site 
>> authors will usually desire much more control (style, behavior) than 
>> the <nl> element offers.
> 
> Why just this element? A lot of elements can be removed now there is a 
> way to use RDF features to describe them. XHTML 2.0 could probably be 
> reduced to the xhtml2:html, xhtml2:div and xhtml2:span elements and 
> various attribute modules.
> 
> However, I'm not sure if such abstraction is a good idea.

It probably isn’t :).

There is a basic set of elements in the language to add semantics, 
however a line has to be drawn somewhere, otherwise you’ll end up with a 
docbook-kind of specification and the introduction of <irony> elements.

As I understood from Pemberton’s XTech 2005 lecture, the role attribute 
was invented for that reason; to be able to add semantics to the 
document which do not warrant their own element.


> I believe there is also a subtle difference between |role="navigation"| 
> and the NL element. Where |role="navigation"| defines its relation to 
> other elements within the document the NL element denotes that its 
> content are to be used for navigation.
> 
> A simple example:
> 
>  <section role="navigation">
>   <h>Browse around, freely</h>
>   <p>Various sections of this site include:</p>
>   <nl>
>    ...

A better example would probably be the now valid:

<section role="navigation">
   <h>Browse around, freely</h>

   <p>Various sections of this site include:
     <nl>...</nl>
   </p>
</section>


> The ROLE attribute on the SECTION element indicates its relation to 
> other sections within the document where the NL element describes the 
> function.

I don’t think there is a difference.

Given your example, why have an <nl> element there? The list is in the 
navigation section of the document, why say again that it is for navigation?

The fact that the list items themselves are hyperlinks can be derived by 
their href="" attributes. Similarly, if a definition list were used for 
navigation, e.g.

<dl>
   <dt href="tiger.php">Tiger Hash implementation for Z80</dt>
   <dd>Just a quick and nice side-project to see how well MSX could 
handle the supposedly well-scalable 64-bit Tiger hash algorithm. DOS 2 
executable and sources included.</dd>
</dt>

Following your reasoning, wouldn’t that - in line with the <nl> element 
- also warrant a <ndl> (navigation definition list) element of some 
kind? What about a <p href="something"> inside the section with the 
navigation role? Is that not for navigation, too? What says that 
navigation should only be a list?

What if you had a

<section role="navigation">
   <h>Browse around, freely</h>

   <nl>
     <label>Various sections of this site include:</label>
     <li>About me</li>
   </nl>
</section>

What is more ‘navigation’ about this list than any other list? Does a 
navigation list require all content to have hyperlinks on them (this one 
has none)? But the label (...) certainly isn’t a link.

Note that this label contains the exact same content as the paragraph in 
your example did. Why is that text ‘functionally’ different when inside 
a inside the navigation list?

In other words, I think *everything* inside a <section 
role="navigation"> has the purpose of navigation (or a <nl 
role="navigation"> when there is no section around it), and not just the 
<nl> element. That is, hyperlinks in particular, but also the 
accompanying text which describes the navigation.


> Also, how do you qualify 'many'?

That probably was a wrong choice of words :). However, I have seen 
no-one disagree with the notion. Until now ;p.


~Grauw
Received on Monday, 30 May 2005 14:35:34 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:19:04 UTC