Re: [XHTML 2] removal of navigation list element

Laurens Holst wrote:
>> 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.

Sure, but some elements are not really needed to exist as an element. An 
obvious example would be xhtml:var. Relatively compared I guess its 
usage on the web is 0%.


> 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.

Although I heard he's a great speaker, the specification matters, not 
what people say about it.


> 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>

I'm not sure if I'd agree with that. Perhaps I should have used 
xhtml2:div instead of xhtml2:p though, as it's not really a paragraph of 
text.


>> 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?

Because I could also have a normal list in there summing up some 
advantages of 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.

Please tell me where this is specified that UAs should implement this in 
such a way.


> <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>

I think this is incorrect usage of the DL element that has existed for 
some time now on the web. Apparently XHTML 2 didn't redefine DL to be a 
more generic element so I'd consider this particular example to be non 
conforming.


> Following your reasoning, wouldn’t that - in line with the <nl> element 
> - also warrant a <ndl> (navigation definition list) element of some 
> kind?

Not for your example.


> 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?

Are you suggesting that everything that is a link should have a 
|role="navigation"| applied to it or should be inside an element that 
has that applied to it? I don't think that would make sense. I think it 
should be defined in such a way that |role="navigation"| denotes the 
area of navigation and that NL contains the "navigation bar".


> 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.

If you are on the "About me" page at the moment I guess you don't need 
to include a link to it. The LABEL element is merely a title for the 
list. Your example would therefore be non-conformant I guess as this is 
not really a title.

Makes me wonder, if you're having trouble with it, how many others will...


> 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?

I hope I just explained that. To quote from the specification:

# The label element is used to define a label for a list. The contents
# of the label element represent the title of a list (or sublist).


-- 
  Anne van Kesteren
  <http://annevankesteren.nl/>

Received on Monday, 30 May 2005 17:00:34 UTC