Skip to content

Commit 26603de

Browse files
committed
Selectmenu: added basic markup and a11y unit tests
1 parent ce3e7c0 commit 26603de

File tree

2 files changed

+42
-4
lines changed

2 files changed

+42
-4
lines changed

tests/unit/selectmenu/selectmenu.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
<meta charset="utf-8">
55
<title>jQuery UI Selectmenu Test Suite</title>
66

7-
<link rel="stylesheet" href="../../../themes/base/jquery.ui.spinner.css">
7+
<link rel="stylesheet" href="../../../themes/base/jquery.ui.core.css">
8+
<link rel="stylesheet" href="../../../themes/base/jquery.ui.button.css">
9+
<link rel="stylesheet" href="../../../themes/base/jquery.ui.menu.css">
10+
<link rel="stylesheet" href="../../../themes/base/jquery.ui.selectmenu.css">
811

912
<script src="../../jquery.js"></script>
10-
<script src="../../../external/jquery.mousewheel-3.0.4.js"></script>
11-
<script src="../../../external/globalize.js"></script>
12-
<script src="../../../external/globalize.culture.ja-JP.js"></script>
1313
<script src="../../../ui/jquery.ui.core.js"></script>
1414
<script src="../../../ui/jquery.ui.widget.js"></script>
1515
<script src="../../../ui/jquery.ui.button.js"></script>

tests/unit/selectmenu/selectmenu_core.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,42 @@
33
module( "selectmenu: core" );
44

55

6+
test("markup structure", function () {
7+
expect(5);
8+
var element = $('#speed').selectmenu();
9+
var widget = element.selectmenu("widget");
10+
var button = widget.filter(".ui-selectmenu-button");
11+
var menu = widget.filter(".ui-selectmenu-menu");
12+
13+
equals( button.length, 1, "button wrapper found");
14+
equals( button.children("a").length, 1, "button link found");
15+
16+
equals( menu.length, 1, "menu wrapper found");
17+
equals( menu.children("ul").length, 1, "menu found");
18+
19+
equals( menu.find("ul li.ui-menu-item").length, element.find("option").length, "menu li's found");
20+
});
21+
22+
test("accessibility", function () {
23+
var element = $('#speed').selectmenu();
24+
var widget = element.selectmenu("widget");
25+
var button = widget.filter(".ui-selectmenu-button");
26+
var menu = widget.filter(".ui-selectmenu-menu");
27+
var link = button.children("a");
28+
var ul = menu.children("ul")
29+
var links = ul.find("li.ui-menu-item a");
30+
expect(6 + links.length);
31+
32+
equals( button.attr("aria-disabled"), "false", "button aria-disabled");
33+
equals( link.attr("aria-disabled"), "false", "button link aria-disabled");
34+
equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup");
35+
equals( link.attr("role"), "button", "button link role");
36+
equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns");
37+
equals( link.attr("tabindex"), 0, "button link tabindex");
38+
39+
$.each( links, function(index){
40+
equals( $(this).attr("role"), "option", "menu link #" + index +" role");
41+
});
42+
});
43+
644
})( jQuery );

0 commit comments

Comments
 (0)