Performance and Accessibility Review of the Marianne Williamson 2020 Campaign Website

This is one in a series of posts that will look at the performance and #a11y metrics of the websites for the currently declared 2020 Democratic presidential candidates. Yeah, all of them! For more background on what I’m doing and how I’m doing it check read this.

Homepage of

The timing.js console log statements in devtools quickly tipped me off that Seth’s site is running the on the same platform as another I’ve already reviewed. Nice, that saves me some writing.

Google Lighthouse

Lighthouse scores for

Performance: 46 out of 100

11.8 seconds Time to Interactive.

Huge 2+ MB homepage image is loaded as in png format despite any need for that. 20 seconds are spent downloading images, sometimes the same image in multiple resolutions.

Accessibility: 63 out of 100

  • [id] attributes on the page are not unique.
  • Images missing alt attributes.
  • Browser default focus outlines are present, improving navigation via keyboard.
  • Links that only use an image with no discernible text content.

Best Practices: 64 out of 100

Lo-Dash@2.4.1 contains vulnerabilities.

Errors are being logged to the console:

timing.js:38 Timer 'Form' already exists
timing.js:38 Timer 'Downloading' already exists
at.js:26 Uncaught NVTag was already initialized. The NVTag JS is likely included more than once on this page.

SEO: 97 out of 100

Tap targets are not sized appropriately.


  • HTTPS: yes
  • 109 Requests
  • 10 MB resources
  • Largest asset is the 2.2 MB hero png. A prime candidate for using webp, supported in 3 of the 4 major browsers.


  • Drupal, custom theme.


Not the best site of all the candidates, but not the worst by any means either. Properly optimizing image delivery would be a huge boost to the site’s performance.