GoogleChrome / GoogleChrome/lighthouse

Convert Accessibility Gatherer to streaming results

Open
#11,028 7 comments 0 reactions 0 assignees View on GitHub
P2
Dominant language
JavaScript
Stars
30.8k
Forks
9.8k
Avg merge
1d 20h
Merged PRs (30d)
19

Description

When running Lighthouse (on a URL I can't share as it is private and requires cookie authentication) it throws a `PROTOCOL_TIMEOUT` error during the Accessibility Gatherer. Ultimately the call [driver.evaluateAsync](https://github.com/GoogleChrome/lighthouse/blob/master/lighthouse-core/gather/gatherers/accessibility.js#L109) with the axe `expression` doesn't return in time and the protocol timeout is triggered.

This is a really hard issue to debug as it's only happening when I run in Docker (not on my local mac) and therefore I can't easily see what's happening in the browser or why it's hanging. This isn't the first time I've come across an issue like this and we've been able to continue testing a site by skipping these audits.

Rather than throw a `PROTOCOL_TIMEOUT` and ultimately cancelling the whole run when the accessibility gatherer fails like this, would you be open to a PR which would handle this more gracefully? Ultimately allowing the Lighthouse run to finish without any accessibility score or audits as it would if the [No axe-core results returned](https://github.com/GoogleChrome/lighthouse/blob/master/lighthouse-core/gather/gatherers/accessibility.js#L111) error was thrown.

#### Environment Information
* Affected Channels: Node
* Lighthouse version: 6.0 (and 6.1)
* Chrome version: 83.0.4103.61
* Node.js version: 12.18.1
* Operating System: Debian

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.