diff options
Diffstat (limited to 'tests/visual/menu')
-rw-r--r-- | tests/visual/menu/menu.html | 44 | ||||
-rw-r--r-- | tests/visual/menu/popup.js | 13 |
2 files changed, 53 insertions, 4 deletions
diff --git a/tests/visual/menu/menu.html b/tests/visual/menu/menu.html index cc1f4a939..1db12f25b 100644 --- a/tests/visual/menu/menu.html +++ b/tests/visual/menu/menu.html @@ -25,7 +25,7 @@ }); } - var menus = $("#menu1, #menu2, #menu3"); + var menus = $("#menu1, #menu2, #menu3, #menu4"); create(); $("#toggle-destroy").toggle(function() { @@ -41,7 +41,7 @@ <style> body { font-size:62.5%; } .ui-menu { width: 200px; margin-bottom: 2em; } - #menu3 { height: 200px; overflow: auto; } + #menu4 { height: 200px; overflow: auto; } </style> </head> <body> @@ -56,7 +56,7 @@ <li><a href="#">Salzburg</a></li> </ul> -<ul id="menu1"> +<ul id="menu2"> <li><a href="#">Aberdeen</a></li> <li><a href="#">Ada</a></li> <li><a href="#">Adamsville</a></li> @@ -95,6 +95,44 @@ </ul> <ul id="menu3"> + <li><a href="#"><span class="ui-icon ui-icon-print"></span>Aberdeen</a></li> + <li><a href="#"><span class="ui-icon ui-icon-scissors"></span>Ada</a></li> + <li><a href="#">Adamsville</a></li> + <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Addyston</a></li> + <li> + <a href="#">Delphi</a> + <ul> + <li><a href="#">Ada</a></li> + <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Saarland</a></li> + <li><a href="#">Salzburg</a></li> + </ul> + </li> + <li><a href="#">Saarland</a></li> + <li> + <a href="#"><span class="ui-icon ui-icon-print"></span>Salzburg</a> + <ul> + <li> + <a href="#"><span class="ui-icon ui-icon-wrench"></span>Delphi</a> + <ul> + <li><a href="#">Ada</a></li> + <li><a href="#">Saarland</a></li> + <li><a href="#">Salzburg</a></li> + </ul> + </li> + <li> + <a href="#">Delphi</a> + <ul> + <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Ada</a></li> + <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Saarland</a></li> + <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Salzburg</a></li> + </ul> + </li> + <li><a href="#">Perch</a></li> + </ul> + </li> +</ul> + +<ul id="menu4"> <li><a href="#">Aberdeen</a></li> <li><a href="#">Ada</a></li> <li><a href="#">Adamsville</a></li> diff --git a/tests/visual/menu/popup.js b/tests/visual/menu/popup.js index 2cd4ee047..f57cba699 100644 --- a/tests/visual/menu/popup.js +++ b/tests/visual/menu/popup.js @@ -35,7 +35,7 @@ $.widget( "ui.popup", { this.element .addClass("ui-popup") this._close(); - + this._bind(this.options.trigger, { click: function( event ) { event.preventDefault(); @@ -46,6 +46,10 @@ $.widget( "ui.popup", { } }); + this._bind(this.element, { + blur: "_close" + }); + this._bind({ keyup: function( event ) { if (event.keyCode == $.ui.keyCode.ESCAPE && this.element.is( ":visible" )) { @@ -94,6 +98,10 @@ $.widget( "ui.popup", { .attr( "aria-expanded", true ) .position( position ) .focus(); + + // take trigger out of tab order to allow shift-tab to skip trigger + this.options.trigger.attr("tabindex", -1); + this.open = true; this._trigger( "open", event ); }, @@ -103,6 +111,9 @@ $.widget( "ui.popup", { .hide() .attr( "aria-hidden", true ) .attr( "aria-expanded", false ); + + this.options.trigger.attr("tabindex", 0); + this.open = false; this._trigger( "close", event ); } |