diff -r 000000000000 -r 40c8f766c9b8 src/cm/media/js/lib/yui/yui_3.0.0b1/examples/node-focusmanager/node-focusmanager-3.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.0.0b1/examples/node-focusmanager/node-focusmanager-3.html Mon Nov 23 15:14:29 2009 +0100 @@ -0,0 +1,836 @@ + + + + + YUI Library Examples: Focus Manager Node Plugin: Accessible Menu Button + + + + + + + + + + + + + +
+
+
+

+ + YUI 3.x Home - + +

+
+ + +
+ + + +
+
+
+
+

YUI Library Examples: Focus Manager Node Plugin: Accessible Menu Button

+
+
+ +

Note: This is YUI 3.x. Looking for YUI 2.x?

+ +
+
+
+
+ +

Focus Manager Node Plugin: Accessible Menu Button

+ +
+

+

+This example illustrates how to use the Focus Manager Node Plugin, +Event's delegation support and +mouseenter event, along with +the Overlay widget and Node's support for the +WAI-ARIA Roles and States to +create an accessible menu button. +

+ +
+
+ + + + + Move To + + + + + + + + + +
+
+
+ +

Setting Up the HTML

+

+For a menu button, start with an <a> element whose +href attribute is set to the id of an <div> +that wraps a list of <input> elements. +Therefore, without JavaScript and CSS, the menu button is simply an in-page +link to a set of additional buttons. +

+ + + +

Progressive Enhancement

+

+The markup above will be transformed into a menu button widget using both CSS +and JavaScript. To account for the scenario where the user has CSS enabled in +their browser but JavaScript is disabled, the CSS used to style the menu button +will be loaded via JavaScript using the +built-in loader of the YUI Global Object. +Additionally, JavaScript will be used to temporarily hide the menu button markup +while the JavaScript and CSS are in the process of loading to prevent the user +from seeing a flash unstyled content. +

+ + +

ARIA Support

+

+Through the use of CSS and JavaScript the HTML for the menu button can be +transformed into something that looks and behaves like a desktop menu button, +but users of screen readers won't perceive it as an atomic widget, but rather +simply as a set of HTML elements. However, through the application +of the +WAI-ARIA Roles and States, it is +possible to improve the semantics of the markup such that users of screen +readers perceive it as a menu button control. +

+ + +

Keyboard Functionality

+

+The keyboard functionality for the button's menu will be provided by the Focus +Manager Node Plugin. The Focus Manager's +descendants +attribute is set to a value of "input", so that only one menuitem in the +button's menu is in the browser's default tab flow. This allows users +navigating via the keyboard to use the tab key to quickly move into and out of +the menu. Once the menu has focus, the user can move focus among each menuitem +using the up and down arrows keys, as defined by the value of the +keys +attribute. The +focusClass +attribute is used to apply a class of yui-menuitem-active to +the parent <li> of each +<input> when it is focused, making it easy to style the +menuitem's focused state in each of the +A-Grade browsers. + + +

+ +
+ +
+
+ + + +
+ +
+

Copyright © 2009 Yahoo! Inc. All rights reserved.

+

Privacy Policy - + Terms of Service - + Copyright Policy - + Job Openings

+
+
+ + + +