- From: Nicholas Shanks <contact@nickshanks.com>
- Date: Mon, 19 Mar 2007 16:09:56 +0000
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!) e.g. <menu type="popup"> <!-- not a popup menu, actually declaring contextual menu items --> <li>Bold <li>Italic <li>Bold and Italic </menu> <menu type="toolbar"> <!-- button-like behaviour --> <li>Embolden <li>Italicise </menu> <nav><menu type="navigation"> <!-- contains some links --> <li><a href="bold">Typeface weights</a> <li><a href="italic">Cursive writing</a> </menu></nav> In particular, it seems pertinent for accessibility. For example, this survey seems to highlight that blind users cannot easily distinguish between menus and submenus: http://www.usability.com.au/resources/source-order.cfm (I highly recommend reading that article !) 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! 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. 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). [1]: http://www.w3.org/TR/xhtml2/mod-list.html#edef_list_nl - Nicholas. -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2157 bytes Desc: not available URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20070319/2172f4c9/attachment.bin>
Received on Monday, 19 March 2007 09:09:56 UTC