Accordion: set aria-selected to true on selected header, false on others. Fixed #7078 - Accordion: Set aria-selected

This commit is contained in:
Richard Worth 2011-03-15 04:52:24 -04:00
parent 6bbc43113c
commit 69ebdf46a5
2 changed files with 10 additions and 1 deletions

View File

@ -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);

View File

@ -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();