-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mousemove on Autocomplete widget generates tons of cloned elements in hidden accessible #2002
Comments
environment: MacBook Pro (16-inch, 2019) This (liveRegion announcement) happens on any move of your mouse cursor in the resulting list - so you don't have to hover to another item. I would expect that dom insertion does not happen all the time when hovering the same item, at the least? |
@vitality82 Thanks for the report. Do you see the same behavior with jQuery UI 1.12.1 or not? |
No, I don't see dupes in the hidden accessible element, just one per each of the result items. Maybe they are triggered on a less sensitive event or perhaps additionally removed (this would be redundant), in any case I tested with: jQuery v1.12.4 on a live production app, and the class Hope this will help move the ball forward. |
The jQuery version shouldn't matter that much; I was asking whether the same issue appears when jQuery UI 1.12.1 is used. |
Sorry about the confusion. Prior to the upgrade I was using jQuery UI - v1.11.4 - 2015-05-14 and the same issue didn't show on that version. |
Thanks. Can you check if the issue is still there if you switch to jQuery UI 1.12.1? |
You can reproduce it just by downloading jQuery-UI both v1.11.4 and v1.12.1 - there is the source of truth - and it looks like the issue also exists in v1.11.4 only a little bit different: v1.11.4: one item inserted per hover (every time) |
Thanks for the updated info. Since the issue is already in 1.12, given limited team resources it's not likely to be fixed by the UI team; see the project status at https://blog.jqueryui.com/2021/10/jquery-maintainers-update-and-transition-jquery-ui-as-part-of-overall-modernization-efforts/. PRs are welcome, though. |
@mgol and @vitality82, we have the same issue. This issue is not present in jQuery UI 1.12.1, but is present in jQuery UI 1.13.0. (jQuery 3.6.0/macOS/Chrome) and is preventing us from going to 1.13.0. We can easily reproduce this issue. |
@jga8 Thanks for the info. It'd be good to understand why you get different results than @vitality82 who said the issue is in 1.12.1 as well, just not in 1.11.4 (at least not to this extent). |
@mgol to reproduce this, this is what we did: when we copy the code from the demo page, we see the issue. And simply replacing the line Is there any other information we can provide to help? Screenshot 1 of 2: With 1.12.1, which does not have the error (no duplicates on mousemove ) Screenshot 2 of 2: With 1.13.0 with the duplicates on mousemove. The following is the code we used
|
I can see the major issue in 1.13.0 and 1.12.1. The way I've tested is to download jQuery UI for both versions and tested on latest Chrome and Firefox. On 1.11.1 the DOM appending also has dupes but only when you hover a full item in the result list. |
OK, it looks like at least one of the issues is specific to 1.13. Thanks for all the info, I'll have a look if no one beats me to it. |
This looks to be related to a change in menu.js that was introduced in 1.13 Line 117 in 6d072c5
Adds this to the event listeners: "mousemove .ui-menu-item": "_activateItem",
The |
Awesome work! Just curious will there be a minor release with this included patch? |
Yes, we'll release it in 1.13.1 when it's ready. For now we still plan to land one more patch before this release. |
jQuery UI 1.13.1 including a fix for this issue has been released: https://blog.jqueryui.com/2022/01/jquery-ui-1-13-1-released/. |
I thought I had a bug in my project after upgrading to jQuery 3.6.0 and jQuery UI - v1.13.0 but this is reproducible with downloading the full jQuery UI as of today:
Not just hovering, but any mouse move on any of the items in the autocomplete result list clones every item inside .ui-helper-hidden-accessible DOM element. Keep going and the debug console scrollbar starts to become very small.
Is this the intention? I have some performance concerns here over cloning so many elements in a hidden DOM, therefore polluting the DOM significantly.
The text was updated successfully, but these errors were encountered: