Add tests and code for aria-hidden attributes on tabpanels

This commit is contained in:
conzett 2011-11-22 20:14:55 -05:00
parent deb887727a
commit 12627f5e39
2 changed files with 35 additions and 8 deletions

View File

@ -48,6 +48,13 @@
$(this).attr('role', 'tab'); $(this).attr('role', 'tab');
}); });
// if there isn't already a selected tab, make the first one selected
if($(tabList).find('[aria-selected="true"]').length == 0)
{
$(tabs).first().attr('aria-selected', 'true');
}
$(tabPanels).each(function(index) { $(tabPanels).each(function(index) {
var id = $(this).attr('id'); var id = $(this).attr('id');
@ -60,14 +67,13 @@
$(this).attr('aria-labeledby', $(tabs[index]).attr('id')); $(this).attr('aria-labeledby', $(tabs[index]).attr('id'));
$(tabs[index]).attr('aria-controls', $(this).attr('id')); $(tabs[index]).attr('aria-controls', $(this).attr('id'));
}); if($(tabs[index]).attr('aria-selected') == 'true'){
$(this).attr('aria-hidden', 'false');
}else{
$(this).attr('aria-hidden', 'true');
}
// if there isn't already a selected tab, make the first one selected });
if($(tabList).find('[aria-selected="true"]').length == 0)
{
$(tabs).first().attr('aria-selected', 'true');
}
}; };

View File

@ -158,6 +158,27 @@ $(document).ready(function () {
'Expect tab at position ' + index + ' to match panel id at position ' + index); 'Expect tab at position ' + index + ' to match panel id at position ' + index);
}); });
}); });
test("Aria-hidden attribute generation on tabpanels", function () {
var tabContainer = $('#qunit-fixture #tab-container');
var tabList = $(tabContainer).find('> ul');
var tabPanels = $(tabContainer).children().not('ul');
tabContainer.skeletonTabs();
$(tabPanels).each(function(index) {
if(index != 0){
equals($(this).attr('aria-hidden'),
'true',
'Expect tabpanel at position ' + index + ' to have aria-hidden set to true');
}else{
equals($(this).attr('aria-hidden'),
'false',
'Expect tabpanel at position ' + index + ' to have aria-hidden set to false');
}
});
});
}); });