Performance and Accessibility Review of the Tim Ryan 2020 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 timryanforamerica.com
The background is a video, so my screenshot only captured this farm and not the candidate.

timryanforamerica.com

Google Lighthouse

Lighthouse scores for timryanforamerica.com

Performance: 22 out of 100

YIKES! 5.2 seconds until the first meaningful paint of content.

There are very heavy images that haven’t been properly optimized and FIVE videos being loaded on the page at one time.

Hundreds of KB in unused CSS and javascript are present on the page, spread across multiple files that block rendering until they’ve been fully downloaded and parsed.

Modernizr classes are present for every test ever, including borderradius. Scoff! Seriously, make your own bundle for only the tests you need! I can’t remember the last year I had to prefix my border-radius CSS.

Accessibility: 55 out of 100

  • Color contrast issues.
  • Social links using only an icon and no discernible text.
  • Images with alt attributes.
  • User scaling is disallowed.

Best Practices: 79 out of 100

The usual suspects of target=”_blank” links not having a rel=”noopener” attribute present. This is a persistent issue with the ActBlue donation forms present on almost every candidate website so far.

jQuery and jQuery UI version vulnerabilities are present. Someone is still using jQuery UI?!

SEO: 100 out of 100

No glaring issues.

Network

  • HTTPS: yes
  • 191 Requests
  • 20.3 MB resources
  • Largest asset is the 9.8 MB TimRyan_WebsiteSplash_FineCut_01_LOOP_20180705-1.mp4 used in the background of the home page. The fact that these files are being served from a dev subdomain is probably not helping matters.

Platform

Notes

The chosen theme relies heavily on plugins for much of its functionality, bloating the overall experience.