GoogleChrome / GoogleChrome/lighthouse

Baseline audit detects false-positive features triggered by internal gatherers

Open
#17,218 0 comments 0 reactions 1 assignee Claimed by @lusayaa View on GitHub
bug
Dominant language
JavaScript
Stars
30.8k
Forks
9.8k
Avg merge
1d 20h
Merged PRs (30d)
19

Description

### FAQ

- [x] Yes, my issue is not about [variability](https://github.com/GoogleChrome/lighthouse/blob/main/docs/variability.md) or [throttling](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md).
- [x] Yes, my issue is not about a specific accessibility audit (file with [axe-core](https://github.com/dequelabs/axe-core) instead).
- [x] Yes, my issue is not answered by [other FAQs](https://github.com/GoogleChrome/lighthouse#faq).

### URL

https://example.com/

### What happened?

When running a Lighthouse audit on a completely static page with zero `` tags (such as `https://example.com/`), the **Baseline Features** (`baseline`) audit reports 7 JavaScript web platform features attributed to `https://example.com/:0`:

1. `page-visibility-state`
2. `long-animation-frames`
3. `layout-instability`
4. `abortsignal-any`
5. `nullish-coalescing`
6. `aborting`
7. `weak-references`

Recorded Lighthouse Viewer report:
https://googlechrome.github.io/lighthouse/viewer/?gist=ea14135d469d87a7cc02933a47646162

These features originate from Lighthouse's own internal driver gatherers and performance observers (e.g. CLS/INP `PerformanceObserver`s, `AbortController`, `AbortSignal.any()`, `document.visibilityState`) running in the inspected execution context, which increment Blink's `UseCounter` IDs for the document.

### What did you expect?

Because `https://example.com/` contains no JavaScript, the `web-features` / `baseline` audit should not report any JavaScript API features. Internal Lighthouse gatherers and driver scripts should not attribute Blink UseCounters to the audited page.

### What have you tried?

1. Tested against a static site (`https://example.com/`) with zero scripts.
2. Verified that running headless Lighthouse without interactive DevTools scripts avoids certain runtime gatherer collisions, while DevTools / in-page gatherers trigger Blink `UseCounter` detections that get recorded in `audit.details.items`.
3. Verified the exact items and source locations in the exported LHR JSON.

### How were you running Lighthouse?

Chrome DevTools

### Lighthouse Version

13.4.0

### Chrome Version

152.0.7977.65

### Node Version

_No response_

### OS

_No response_

### Relevant log output

```sh

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.