Permalink
Browse files

Accordion: set aria-selected to true on selected header, false on oth…

…ers. Fixed #7078 - Accordion: Set aria-selected
  • Loading branch information...
rdworth committed Mar 15, 2011
1 parent 6bbc431 commit 69ebdf46a596de6e6889f9532fdad6ad841cc765
Showing with 10 additions and 1 deletion.
  1. +5 −1 tests/unit/accordion/accordion_core.js
  2. +5 −0 ui/jquery.ui.accordion.js
@@ -14,7 +14,7 @@ test("handle click on header-descendant", function() {
});
test("accessibility", function () {
- expect(9);
+ expect(13);
var ac = $('#list1').accordion().accordion("activate", 1);
var headers = $(".ui-accordion-header");
@@ -25,9 +25,13 @@ test("accessibility", function () {
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");
+ equals( headers.eq(1).attr("aria-selected"), "true", "active tab has aria-selected");
+ equals( headers.eq(0).attr("aria-selected"), "false", "inactive tab has aria-selected");
ac.accordion("activate", 0);
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");
+ equals( headers.eq(0).attr("aria-selected"), "true", "active tab has aria-selected");
+ equals( headers.eq(1).attr("aria-selected"), "false", "inactive tab has aria-selected");
});
})(jQuery);
@@ -114,6 +114,7 @@ $.widget( "ui.accordion", {
.not( self.active || "" )
.attr({
"aria-expanded": "false",
+ "aria-selected": "false",
tabIndex: -1
})
.next()
@@ -126,6 +127,7 @@ $.widget( "ui.accordion", {
self.active
.attr({
"aria-expanded": "true",
+ "aria-selected": "true",
tabIndex: 0
});
}
@@ -173,6 +175,7 @@ $.widget( "ui.accordion", {
.removeClass( "ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top" )
.removeAttr( "role" )
.removeAttr( "aria-expanded" )
+ .removeAttr( "aria-selected" )
.removeAttr( "tabIndex" );
this.headers.find( "a" ).removeAttr( "tabIndex" );
@@ -477,12 +480,14 @@ $.widget( "ui.accordion", {
toHide.prev()
.attr({
"aria-expanded": "false",
+ "aria-selected": "false",
tabIndex: -1
})
.blur();
toShow.prev()
.attr({
"aria-expanded": "true",
+ "aria-selected": "true",
tabIndex: 0
})
.focus();

0 comments on commit 69ebdf4

Please sign in to comment.