2009-02-02 14:36:08 +00:00
|
|
|
/*
|
|
|
|
* accordion_core.js
|
|
|
|
*/
|
2009-02-03 08:23:48 +00:00
|
|
|
|
2009-09-15 08:33:28 +00:00
|
|
|
|
|
|
|
(function($) {
|
|
|
|
|
2009-02-02 14:36:08 +00:00
|
|
|
module("accordion: core");
|
|
|
|
|
2009-02-03 08:23:48 +00:00
|
|
|
test("handle click on header-descendant", function() {
|
|
|
|
var ac = $('#navigation').accordion({ autoHeight: false });
|
2009-09-15 08:33:28 +00:00
|
|
|
$('#navigation h2:eq(1) a').trigger("click");
|
|
|
|
state(ac, 0, 1, 0);
|
2009-02-03 08:23:48 +00:00
|
|
|
});
|
|
|
|
|
2010-12-06 05:56:19 +00:00
|
|
|
test("ui-accordion-heading class added to headers anchor", function() {
|
|
|
|
expect(1);
|
|
|
|
var ac = $("#list1").accordion();
|
|
|
|
var anchors = $(".ui-accordion-heading");
|
|
|
|
equals( anchors.length, "3");
|
|
|
|
});
|
|
|
|
|
2009-02-03 08:23:48 +00:00
|
|
|
test("accessibility", function () {
|
|
|
|
expect(9);
|
2011-01-12 01:53:31 +00:00
|
|
|
var ac = $('#list1').accordion().accordion("option", "active", 1);
|
2009-02-03 08:23:48 +00:00
|
|
|
var headers = $(".ui-accordion-header");
|
|
|
|
|
|
|
|
equals( headers.eq(1).attr("tabindex"), "0", "active header should have tabindex=0");
|
|
|
|
equals( headers.eq(0).attr("tabindex"), "-1", "inactive header should have tabindex=-1");
|
|
|
|
equals( ac.attr("role"), "tablist", "main role");
|
|
|
|
equals( headers.attr("role"), "tab", "tab roles");
|
|
|
|
equals( headers.next().attr("role"), "tabpanel", "tabpanel roles");
|
|
|
|
equals( headers.eq(1).attr("aria-expanded"), "true", "active tab has aria-expanded");
|
|
|
|
equals( headers.eq(0).attr("aria-expanded"), "false", "inactive tab has aria-expanded");
|
2011-01-12 01:53:31 +00:00
|
|
|
ac.accordion("option", "active", 0);
|
2009-02-03 08:23:48 +00:00
|
|
|
equals( headers.eq(0).attr("aria-expanded"), "true", "newly active tab has aria-expanded");
|
|
|
|
equals( headers.eq(1).attr("aria-expanded"), "false", "newly inactive tab has aria-expanded");
|
2009-02-02 14:36:08 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
})(jQuery);
|