A Performance and Accessibility Audit of the 2020 Democratic Presidential Candidate Websites


When Elizabeth Warren released her nifty Cancel My Student Debt online calculator a couple weeks ago, I needed to take a look at it. I do this with pretty much any notable piece of work on the web. Kick the tires so to speak, enter random data, and open up Chrome’s dev tools to inspect the code. That inspired the above tweet and got me thinking about how performant and accessible the leading candidate’s websites are.

My career is building websites. Huge data-driven applications for businesses and consumers, one-off pages for young adult book series, and marketing sites of all sizes in between. I’ve been an advocate for best practices in accessibility and performance for years, but unfortunately with marketing budgets and timelines as tight as they often are those concerns get left until the end of a project, the “nice to haves” if we have time, and I’m rarely given the time.

However, I believe a website is never “done”, and there are always ways to improve it, shrink the load times, be more inclusive to more users, all in ways that don’t sacrifice the aesthetic design that was sold to the client. So with all that in mind and today being Global Accessibility Awareness Day I’m kicking off a series looking at the websites of the 23 (?!) [Update 6-12-2019, I’ve just seen that there are actually 24 declared] currently declared Democratic candidates for 2020. I think it could be a fun (lol, so fun!) exercise to look at each of them with an eye for how inclusive they are and how well they perform when stacked up against one another.

Tools and Methodology

I’ll begin with only looking at the homepages of each candidate. As the entry page with the most traffic this is likely to show the best and worst build qualities on any site. I’ll perform an audit of the page’s performance, accessibility, and SEO using Google Lighthouse.

Lighthouse scores for damofknowledge.com
Obviously I still have some work to do on my own site.
“The shoemaker’s kid always goes barefoot” and all that.

My settings for Google Lighthouse:

  • Device: Desktop
  • Audits: Performance, Best Practices, Accessibility (a11y), SEO
  • Bandwidth Throttling: Simulated Fast 3G
  • Clear storage
  • Incognito window so there are no conflicts with browser extensions


Checking the Network tab in Chrome’s dev tools and noting: the total number of requests loaded, total page size, and what is the largest asset being served.

I will manually check the site is served over HTTPS, and that HTTP traffic is properly redirected. If you want my campaign donations this is a no brainer so I would be surprised if this weren’t the case everywhere.

Platform check: am I able to determine what CMS or other application is powering the site? WordPress, Drupal, or something else entirely?

Many of the accessibility checks that Lighthouse does can not be automated and it notes that these must be done manually so I will do my number one a11y test: tabbing through a page and noting if I can find my way or not. Do links and buttons visually identify themselves as focused? Is the tab order logical (left to right, top to bottom)?

Finally I’ll add any notes and fun findings I may come across.

Comments will be open for feedback. As the first caucuses and primaries are still MONTHS away it is my hope that I will revisit many of these sites and see that their teams also realize that a website’s work is never finished and improvements have been made.

And now, in the order of this FiveThirtyEight poll tracker, let’s get started (before there are 25!).

UPDATE: 6-23-19, there is a 25th candidate. :facepalm:

Thanks to Quartz for being the first place I Googled to find all of them in one place.