Skip to content

Commit f1be88e

Browse files
committed
Progressbar: Only remove aria-valuenow for indeterminate progressbars. Added more accessibility tests.
1 parent 8c763cd commit f1be88e

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

tests/unit/progressbar/progressbar_common.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
TestHelpers.commonWidgetTests( "progressbar", {
22
defaults: {
33
disabled: false,
4-
value: 0,
54
max: 100,
5+
value: 0,
66

77
//callbacks
88
change: null,

tests/unit/progressbar/progressbar_core.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module( "progressbar: core" );
22

33
test( "accessibility", function() {
4-
expect( 7 );
4+
expect( 11 );
55
var element = $( "#progressbar" ).progressbar();
66

77
equal( element.attr( "role" ), "progressbar", "aria role" );
@@ -12,9 +12,17 @@ test( "accessibility", function() {
1212
element.progressbar( "value", 77 );
1313
equal( element.attr( "aria-valuenow" ), 77, "aria-valuenow" );
1414

15+
element.progressbar( "option", "max", 150 );
16+
equal( element.attr( "aria-valuemax" ), 150, "aria-valuemax" );
17+
1518
element.progressbar( "disable" );
1619
equal( element.attr( "aria-disabled" ), "true", "aria-disabled on" );
1720

1821
element.progressbar( "enable" );
1922
equal( element.attr( "aria-disabled" ), "false", "aria-disabled off" );
23+
24+
element.progressbar( "option", "value", false );
25+
equal( element.attr( "aria-valuemin" ), 0, "aria-valuemin" );
26+
equal( element.attr( "aria-valuemax" ), 150, "aria-valuemax" );
27+
strictEqual( element.attr( "aria-valuenow" ), undefined, "aria-valuenow initially" );
2028
});

ui/jquery.ui.progressbar.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ $.widget( "ui.progressbar", {
3333
this.element
3434
.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
3535
.attr({
36+
// Only set static values, aria-valuenow and aria-valuemax are
37+
// set inside _refreshValue()
3638
role: "progressbar",
37-
"aria-valuemin": this.min,
38-
"aria-valuemax": this.options.max,
39-
"aria-valuenow": this.options.value
39+
"aria-valuemin": this.min
4040
});
4141

4242
this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
@@ -126,7 +126,7 @@ $.widget( "ui.progressbar", {
126126
.width( percentage.toFixed(0) + "%" );
127127

128128
if ( this.indeterminate ) {
129-
this.element.removeAttr( "aria-valuemax" ).removeAttr( "aria-valuenow" );
129+
this.element.removeAttr( "aria-valuenow" );
130130
if ( !this.overlayDiv ) {
131131
this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv );
132132
}

0 commit comments

Comments
 (0)