mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Progressbar: Only remove aria-valuenow for indeterminate progressbars. Added more accessibility tests.
This commit is contained in:
parent
8c763cdf98
commit
f1be88e795
@ -1,8 +1,8 @@
|
||||
TestHelpers.commonWidgetTests( "progressbar", {
|
||||
defaults: {
|
||||
disabled: false,
|
||||
value: 0,
|
||||
max: 100,
|
||||
value: 0,
|
||||
|
||||
//callbacks
|
||||
change: null,
|
||||
|
@ -1,7 +1,7 @@
|
||||
module( "progressbar: core" );
|
||||
|
||||
test( "accessibility", function() {
|
||||
expect( 7 );
|
||||
expect( 11 );
|
||||
var element = $( "#progressbar" ).progressbar();
|
||||
|
||||
equal( element.attr( "role" ), "progressbar", "aria role" );
|
||||
@ -12,9 +12,17 @@ test( "accessibility", function() {
|
||||
element.progressbar( "value", 77 );
|
||||
equal( element.attr( "aria-valuenow" ), 77, "aria-valuenow" );
|
||||
|
||||
element.progressbar( "option", "max", 150 );
|
||||
equal( element.attr( "aria-valuemax" ), 150, "aria-valuemax" );
|
||||
|
||||
element.progressbar( "disable" );
|
||||
equal( element.attr( "aria-disabled" ), "true", "aria-disabled on" );
|
||||
|
||||
element.progressbar( "enable" );
|
||||
equal( element.attr( "aria-disabled" ), "false", "aria-disabled off" );
|
||||
|
||||
element.progressbar( "option", "value", false );
|
||||
equal( element.attr( "aria-valuemin" ), 0, "aria-valuemin" );
|
||||
equal( element.attr( "aria-valuemax" ), 150, "aria-valuemax" );
|
||||
strictEqual( element.attr( "aria-valuenow" ), undefined, "aria-valuenow initially" );
|
||||
});
|
||||
|
8
ui/jquery.ui.progressbar.js
vendored
8
ui/jquery.ui.progressbar.js
vendored
@ -33,10 +33,10 @@ $.widget( "ui.progressbar", {
|
||||
this.element
|
||||
.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
|
||||
.attr({
|
||||
// Only set static values, aria-valuenow and aria-valuemax are
|
||||
// set inside _refreshValue()
|
||||
role: "progressbar",
|
||||
"aria-valuemin": this.min,
|
||||
"aria-valuemax": this.options.max,
|
||||
"aria-valuenow": this.options.value
|
||||
"aria-valuemin": this.min
|
||||
});
|
||||
|
||||
this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
|
||||
@ -126,7 +126,7 @@ $.widget( "ui.progressbar", {
|
||||
.width( percentage.toFixed(0) + "%" );
|
||||
|
||||
if ( this.indeterminate ) {
|
||||
this.element.removeAttr( "aria-valuemax" ).removeAttr( "aria-valuenow" );
|
||||
this.element.removeAttr( "aria-valuenow" );
|
||||
if ( !this.overlayDiv ) {
|
||||
this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user