508-L Toolbar menu item scripts do not work with the keyboard fuctions. Only way user has access to these function is by use of the mouse. Scripts should be made directly accessible whenever possible by employing natively keyboard-accessible markup elements (such as anchors and forms) and generic event handlers (such as onfocus, onblur and onselect). This violates 508 certification requirements: ยง 1194.22 (l) Scripts When pages utilize scripting languages to display content, or to create interface elements, the information provided by the script shall be identified with functional text that can be read by assistive technology.
Created attachment 744690 [details] toolbar scripts
After having studied this issue we can summary status as follow: - Menu navigation components are deal with jQuery in the module UIPortalNavigation.js. - Current design doesn't allow to use keyboard to navigate into the menu elements, some top menu elements are not <a> tags, and also there is not an event to show the children when <a> link is active. - A change can be possible using a different approach, some examples can be shown in these discussions: http://stackoverflow.com/questions/14510846/jquery-is-it-possible-to-bind-css-hover-focus-behaviours-to-keydown and this online-demo: http://jsfiddle.net/greenrobo/eLCmM/ In these examples, when a link is active, the children can be showed, as expected. - Introduce this change can affect whole UIPortalNavigation.js, refactor the current design to introduce key events. So, I would check with Thomas Heute how to proceed with this one.
Update: - wrapping some menu elements with <a> tags instead of <span>. - Adding focusin/focusout jquery handlers with similar behaviour of mouseenter/mouseleave. With these small changes, now, menu tool bar and submenus are accessible with keyboard without any major change in the current JavaScript design.