[whatwg] Navigation Lists — A different use for <MENU>, and two errors

Ian Hickson ian at hixie.ch
Mon Aug 6 16:39:33 PDT 2007


On Mon, 19 Mar 2007, Nicholas Shanks wrote:
>
> Given XHTML 2.0's idea of an element for navigation list (using <nl> as 
> the tag [1]), it occurred to me that <menu>, deprecated in HTML 4 but 
> resurrected in HTML 5, would be entirely suitable for this purpose and 
> fully backwards compatible. From what I can gather, this was the 
> intended purpose of the element in the first place (not mimicking of OS 
> menus/toolbars). It was little-used probably though lack of awareness.
> 
> I suggest that a new type, "navigation", be available for the menu 
> element. It's default rendering would be unchanged from HTML 4 
> (essentially, the type would be a no-op) but used to explicitly declare 
> destination-oriented rather than an action-orientated menus. This would 
> be in addition to rather than instead of the <nav> element, who's 
> behaviour in HTML4 UAs is that of <div> rather than <ul>. (And be 
> backwards-compatible, something <nav> isn't!)

You can already do that, basically, using <menu type=list> (which is also 
the default).


> Allowing header elements within the menu content model would alleviate 
> this. Currently the "label" attribute is used for this purpose, which 
> has all the failings of an attribute discussed at length in other 
> threads, but most importantly does not get seen by users with screen 
> readers!

Why not?


> I also think that the "popup" type should be renamed "contextual". What 
> is known as a pop-up menu is created by using the <select> element.

It's been renamed to "context".


> Further, I am concerned about the backwards-compatibility of menus 
> inside menus. The current spec says that if the submenu contains no 
> label, it should render in line with the previous items. This 
> contradicts HTML ² 4 which says that menus inside menus should act the 
> same as ULs inside ULs. (i.e. indent; create a submenu).

The current spec is talking about <menu type=context> with nested <menu>s, 
whereas HTML4 didn't have the "type" attribute here, so this doesn't seem 
to be a problem to me.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


More information about the whatwg mailing list