Skip to content
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

Hover-based user input is often used for "zoom widgets", skewing LCP results #108

Open
yoavweiss opened this issue Nov 30, 2022 · 11 comments

Comments

@yoavweiss
Copy link
Contributor

Many e-commerce sites use hover based zoom widgets (searching for "hover zoom widget" in your favorite search engine will reveal many results).

The desktop LCP scores for such sites can be heavily influenced by this use of zoom widgets, as hover is not a user interaction that stops LCP from being counted. As such, the site loads, users hover over the product image, and a larger image is then loaded, counting as an LCP candidate.

It'd be great to modify LCP to take that into account:

  • If a mouseover event is triggered over an LCP candidate, then future loaded resources will be discounted for LCP purposes.
    • It remains to be seen if there are zoom widgets that are triggered by hovering over images that are not an LCP candidate (e.g. thumbnails). If so, we may need to adapt the heuristic.
  • Current Chromium implementation is using a timer, but we could also use Task Attribution for better accuracy.

I'm planning to experiment with such heuristics.

@yoavweiss
Copy link
Contributor Author

A pending CL would enable experimentation with that heuristic with the --enable-features=LCPMouseoverHeuristics Chrome CLI flag.

@ksylor
Copy link

ksylor commented Dec 8, 2022

There's also a possibility of loading and/or autoplaying a video on hover.

We're currently running this as an experiment on our search results page - the placement of the current implementation is not one that would be the LCP element, but as an example of the behavior since I've seen autoplay video on hover grow as a pattern on other ecommerce sites.

To see the implementation go to https://www.etsy.com/search?q=Kantha+quilt&features=ranking%2Fsearch.experience.search_lc_video_rerun%3Aon and scroll down to the third row of results

@tunetheweb
Copy link
Member

So looking at the Amazon example there two types. Take for example this page

  • We have a hover on the main image, which loads a zoom in. That does trigger a new LCP image. And I agree it shouldn't as it's a user action.
  • There is another hover on the left images, which replaces the LCP image with the new image. Luckily this replaces the current LCP image (or maybe replaces it with one the exact same size - I've not looked too closely), so does NOT trigger a new LCP image. However would that always the case? Because if not, it wouldn't be captured by current heuristic. Maybe "replacing the current LCP element image size" should be added to heuristic? I dunno if that's a likely case, but thought I'd mention just in case.

@siakaramalegos
Copy link

@rockeynebhwani
Copy link

rockeynebhwani commented Dec 8, 2022

@siakaramalegos - Here is example for zoom on hover on desktop - https://direct.asda.com/george/women/nightwear-slippers/grey-spot-print-pyjama-bottoms/GEM971664,default,pd.html. In this example zoom image becomes LCP on hover.

@gilbertococchi
Copy link

I cannot reproduce the LCP new entry issues on direct.asda.com nor on homedepot.com. For what it concerns amazon.com we've already verified that the change behind the flag would fix that case.

Thanks!

@pablomercadolibre
Copy link

I'd like to share another example of thumbnails that trigger LCP https://www.mercadolibre.com.uy/apple-iphone-12-64-gb-productred/p/MLU16163651, in our case hover in the thumbnail replaces the main image which trigger a new LCP image and hovering the replaced main image also trigger a new LCP.

@Santas
Copy link

Santas commented Feb 29, 2024

https://finviz.com - hovering over tickers which show a chart preview triggers LCP

@yoavweiss
Copy link
Contributor Author

^^ @clelland - any updates on efforts on that front?

@Coiven
Copy link

Coiven commented Apr 2, 2024

--enable-features=LCPMouseoverHeuristics flag doesn't work for me, is it expired?

@krzksz
Copy link

krzksz commented Sep 24, 2024

Hi, just wanted to share another situation where this issue often appears – megamenus.

I described everything in this Chrome bug, but the gist of it is that ecommerce menu drawers often contain images that can hijack the LCP from the main content.

I tried testing my example with the --enable-features=LCPMouseoverHeuristics flag but a new entry is still reported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants