Skip to content

Commit db3b6ef

Browse files
committed
fix issue 2002 by rewriting live region after delay
1 parent e90096e commit db3b6ef

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

ui/widgets/autocomplete.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ $.widget( "ui.autocomplete", {
6666

6767
requestIndex: 0,
6868
pending: 0,
69+
liveRegionTimer: null,
6970

7071
_create: function() {
7172

@@ -267,8 +268,10 @@ $.widget( "ui.autocomplete", {
267268
// Announce the value in the liveRegion
268269
label = ui.item.attr( "aria-label" ) || item.value;
269270
if ( label && String.prototype.trim.call( label ).length ) {
270-
this.liveRegion.children().hide();
271-
$( "<div>" ).text( label ).appendTo( this.liveRegion );
271+
clearTimeout( this.liveRegionTimer );
272+
this.liveRegionTimer = setTimeout(() => {
273+
this.liveRegion.html($( "<div>" ).text( label ));
274+
}, 400);
272275
}
273276
},
274277
menuselect: function( event, ui ) {
@@ -663,8 +666,10 @@ $.widget( "ui.autocomplete", $.ui.autocomplete, {
663666
} else {
664667
message = this.options.messages.noResults;
665668
}
666-
this.liveRegion.children().hide();
667-
$( "<div>" ).text( message ).appendTo( this.liveRegion );
669+
clearTimeout( this.liveRegionTimer );
670+
this.liveRegionTimer = setTimeout(() => {
671+
this.liveRegion.html($( "<div>" ).text( message ));
672+
}, 400);
668673
}
669674
} );
670675

0 commit comments

Comments
 (0)