|
1 | 1 | /*! |
2 | | - * jQuery Pretty Dropdowns Plugin v4.13.0 by T. H. Doan (https://thdoan.github.io/pretty-dropdowns/) |
| 2 | + * jQuery Pretty Dropdowns Plugin v4.15.0 by T. H. Doan (https://thdoan.github.io/pretty-dropdowns/) |
3 | 3 | * |
4 | 4 | * jQuery Pretty Dropdowns by T. H. Doan is licensed under the MIT License. |
5 | 5 | * Read a copy of the license in the LICENSE file or at https://choosealicense.com/licenses/mit/ |
|
58 | 58 | $select.data('size', nSize).removeAttr('size'); |
59 | 59 | // Set <select> height to reserve space for <div> container |
60 | 60 | $select.css('visibility', 'hidden').outerHeight(oOptions.height); |
61 | | - nTimestamp = +new Date(); |
| 61 | + nTimestamp = performance.now()*100000000000000; |
62 | 62 | // Test whether to add 'aria-labelledby' |
63 | 63 | if (elSel.id) { |
64 | 64 | // Look for <label> |
|
420 | 420 | if ($dropdown.hasClass('reverse') && !oOptions.classic) $dropdown.prepend($dropdown.children(':last-child')); |
421 | 421 | $dropdown.removeClass('active reverse').removeData('clicked').attr('aria-expanded', 'false').css('height', ''); |
422 | 422 | $dropdown.children().removeClass('hover nohover'); |
| 423 | + // Update focus for NVDA screen readers |
| 424 | + $dropdown.attr('aria-activedescendant', $dropdown.children('.selected').attr('id')); |
423 | 425 | }, (o.type==='mouseleave' && !$dropdown.data('clicked')) ? oOptions.hoverIntent : 0); |
424 | 426 | }, |
425 | 427 |
|
426 | 428 | // Set menu item hover state |
427 | 429 | // bNoScroll set on hoverDropdownItem() |
428 | 430 | toggleHover = function($li, bOn, bNoScroll) { |
429 | 431 | if (bOn) { |
| 432 | + var $dropdown = $li.parent(); |
430 | 433 | $li.removeClass('nohover').addClass('hover'); |
| 434 | + // Update focus for NVDA screen readers |
| 435 | + $dropdown.attr('aria-activedescendant', $li.attr('id')); |
431 | 436 | if ($li.length===1 && $current && !bNoScroll) { |
432 | 437 | // Ensure items are always in view |
433 | | - var $dropdown = $li.parent(), |
434 | | - nDropdownHeight = $dropdown.outerHeight(), |
| 438 | + var nDropdownHeight = $dropdown.outerHeight(), |
435 | 439 | nItemOffset = $li.offset().top-$dropdown.offset().top-1; // -1px for top border |
436 | 440 | if ($li.index()===0) { |
437 | 441 | $dropdown.scrollTop(0); |
|
0 commit comments