WebAIM - Web Accessibility In Mind

The WebAIM Million
An accessibility analysis of the top 1,000,000 home pages


This page reflects data from February 2019. For a complete and up-to-date information on the accessibility of the top one million home pages,see the main WebAIM Million Report.


In February 2019, WebAIM conducted an accessibility evaluation of the home pages for the top 1,000,000 web sites using theWAVE stand-alone API(with additional tools to collect site technology parameters). While this research focuses only on automatically detectable issues, the results paint a rather dismal picture of the current state of web accessibility for individuals with disabilities.


A re-analysis of these million pageswas conducted in August 2019 to identify changes over time.

The Sample

Site Lookup

See how your home page ranked in our study. Enter a domain below (minus "www.") to get details on any site in our database.

The "top" million web sites were gleaned primarily usingthe Majestic Millions list与大多数指子网域。因为没有t all domains have home pages, the list of domains was supplemented with the top 250,000 domains from theOpen PageRank Initiativethat were not already in the Majestic Million list.

回家爸爸ges that returned errors (404, etc.) were not included. Pages with fewer than 10 HTML elements were also rejected—these tended to be placeholder or empty documents rather than home pages that convey content.

回家爸爸ges from 730 unique top-level domains were analyzed, with .com (521,316), .org (76,489), and .net (39,757) being the most common. 6,010 distinct .edu home pages were analyzed.


The WAVE accessibility engine was used to analyze the rendered home pages (i.e., the DOM of all pages after scripting and styles were applied). The WAVE engine uses heuristics and logic to detect patterns in web page content that align with end user accessibility issues and Web Content Accessibility Guidelines (WCAG) conformance failures. All automated tools, including WAVE, are limited in their detection of accessibility issues—only around 25% of possible conformance failures can be automatically detectable.Absence of detectable errors does not indicate that a site is accessible or compliant.Despite these limitations, the data presented in this report provide a meaningful representation of the state of web inaccessibility.

Why Only Home Pages?

We chose to focus only on home pages as a metric for web accessibility in general. Home pages are very often the most accessed pages on a web site and are the gateway to the rest of a web site's content. Home pages not only tend to receive the most attention from developers, but research indicates a correlation between issues detected on a home page and other site pages. Future research may explore additional pages beyond the home page.

Errors and Error Density

Errors are accessibility issues that are automatically detectable via WAVE, have notable end user impact, and are likely WCAG 2 conformance failures.59,653,607 distinct accessibility errors were detected across the 1 million home pages—an average of 59.6 errors per page.

Error density (number of errors divided by number of page elements) for all home pages was collected. 782,481,056 distinct HTML elements were analyzed, meaning there was an average of 782 elements per home page. This results in approximately 7.6% of all home page elements having a detectable accessibility error.Users with disabilities would expect to encounter detectable errors on 1 in every 13 elements with which they engage.


Error density is an interesting metric and is provided inthe site lookup. However, a significant increase in page elements (

s ands, for example) may result in a lower error density (suggesting better accessibility), when in fact many new accessibility errors may have also been introduced. We have thus chosen to focus in this report on average number of detectable errors (end user barriers) present as opposed to error densities (how diluted those errors are within page elements).

There was no significant change in error counts or error density based on popularity rank. The home pages for the most popular domains had only slightly more errors and more elements than home pages for the least popular sites in the sample.

WCAG Conformance

97.8% of home pages had detectableWCAG 2failures!These are only automatically detectable errors that align with WCAG conformance failures with a high level of reliability. Because automatically detectable errors constitute a small portion of all possible WCAG failures, this means that the actual WCAG 2 A/AA conformance level for the home pages for the most commonly accessed web sites is very low, perhaps below 1%.

Most common types of WCAG 2 failures
WCAG Failure Type # of home pages % of home pages
Low contrast text 852,868 85.3%
Missing alternative text for images 679,964 68%
Empty links 581,408 58.1%
Missing form input labels 528,482 52.8%
Missing document language 329,612 33.1%
Empty buttons 250,367 25%

While failures are prevalent, the types of common errors are relatively few. Simply addressing these few types of issues would have a significant positive impact on web accessibility.

Low Contrast

Low contrast text, below the WCAG 2 AA thresholds, was the most common accessibility issue detected. The vast majority (85.3%) of home pages analyzed had detectable WCAG contrast failures. Contrast errors were only detected on elements that contain text.On average, home pages had 36 distinct instances of text with insufficient contrast.4.6% of all home page HTML elements (this is all elements, not just visible elements with text) analyzed had insufficient contrast.

Images and Alternative Text

There were 36,713,043 images in the sample, or 36.7 images per home page on average.33.6% of all images (12.3 per page on average) had missingalternative text(not countingalt=""). 18.5% of all images (6.7 per page on average) were linked images with missing or empty alternative text, resulting in both an alternative text issue and a link lacking any description. 16% of pages had images and noaltattributes at all.

16.8% of images that were assigned alternative text had questionable (such as alt="image", "graphic", "blank", a file name, etc.) or repetitive alternative text (alternative text identical to adjacent text or an adjacent image's alternative text).

If we assume that this million page sample is indicative of accessibility of broader web pages, these data indicate that around half of images encountered by users with disabilities would definitively have inappropriate alternative text.This, however, presumes that all other images were actually givenequivalentalternative text, which is certainly not the case. As an example, 4.5 million non-linked images (12.2% of all images) had been givenalt=""—it's likely that many of these images should have been assigned alternative text.


2,218 pages (.2% of the sample) had alongdescattribute present. However, 49.7% of the 12,051longdescattributes encountered had invalid values, such as an empty value, an invalid URL, an image file name, etc.

Form Labeling

59% of the 3.4 million form inputs identified were unlabeled(either via,aria-label, oraria-labelledby). The presence ofunlabeled form controlswas a strong indicator of broader errors—pages with at least one missing form label averaged nearly 30 more errors than those without any label errors.


There were 18,910,980 headings detected. These break down to 1.7 million

s (9.1%), 5.9 million

s (31.4%), 6.5 million

s (34.5%), 3.2 million

s (16.7%), 1.1 million
s (5.7%), and .5 million

There were 908,784 instances of skipped heading levels (e.g., jumping from


)—one in every 20 headings was improperly structured.Skipped headings were present on 362,659 home pages (36.3% of all pages). 148,573 home pages (14.9%) had no headings present at all.


62.4% of home pages had at least one region defined. This includes pages with ARIA landmarks (e.g., a navigation region defined with the HTML


60.1% of the 1 million home pages had ARIA present.22.3 million page elements with ARIA attributes were detected. The number of ARIA attributes outpaced both the number of images present and the number of headings present. Home pages that included ARIA had an average of 38.3 ARIA attributes each. 19% of the ARIA attributes werearia-label,aria-labelledby, oraria-describedby. NOTE: These figures do not include ARIA landmark roles.

回家爸爸ges with ARIA present averaged 26.7 more detectable errors than pages without ARIA!An increase in the number of ARIA attributes also had a moderate correlation with increased errors. In other words, the more ARIA in use, the higher the detectable errors. This does not necessarily mean that ARIA introduced these errors (it's likely these pages are simply more complex), but pages typically have more errors when ARIA is present, and even more so with higher ARIA usage.


74.1% of home pages had a valid HTML5 doctype.Pages with a valid HTML5 doctype had significantly more page elements (average of 844 vs. 605) and errors (average of 61.9 vs. 53.3) than those with other doctypes.1,130 unique doctypes (most of these, obviously, being invalid) were encountered in the sample.


Pages from various top-level domains (TLDs) were analyzed for accessibility differences. Pages with .com (n=521,316) or .net (n=39,757) had just a few more errors on average than pages from other domains. Pages with .org (n=76,489), on the other hand, faired significantly better (47.4 errors on average) than those from other domains (60.6 errors).

Pages from the following highly common top-level domains (ordered by number of home pages in that TLD) had notably fewer errors than their counterparts:

  • .de (Germany)
  • .uk (United Kingdom)
  • .jp (Japan)
  • .nl (Netherlands)
  • .edu (U.S.-based education institutions)
  • .au (Australia)
  • .ca (Canada)

Pages from the following highly common top-level domains had notably more errors than their counterparts:

  • .ru (Russia)
  • .cn (China)
  • .pl (Poland)
  • .br (Brazil)
  • .it (Italy)
  • .es (Spain)

回家爸爸ges with .edu (37.1 errors), .us (36.6 errors), and .gov (30.5 errors), which are all affiliated with U.S.-based entities, had the lowest number of average accessibility errors of all common (n>2000) domains.


Data regarding 1,195 different types of technologies used on the one million home pages were collected and analyzed. Technologies that were detected on more than 5,000 home pages (.5% of the sample) are listed below. The categorized tables below show the technology name, the number of home pages with that technology present, the average number of errors present on those pages, and the percent difference in number of average errors detected on pages with that technology present vs. those without. Technologies are ordered from "best" to "worst".

As an example, the first table indicates that home pages on the Squarespace CMS had 45.4% fewer errors (almost half as many) as pages that didn't utilize that technology, pages with WordPress exhibited little difference in accessibility errors, and pages on Blogger had 237% more errors (over 3 times as many) than other pages. It is important to note that correspondence of additional errors with a technology cannot automatically be attributed to that technology.

马的内容nagement Systems

CMS # (and %) of home pages Avg. # of errors % decrease/increase of errors
Squarespace 10,036 (1.0%) 32.7 −45.4%
Wix 5,612 (0.6%) 35.3 −40.9%
Weebly 5,502 (0.6%) 41.0 −31.4%
Elementor 8,269 (0.8%) 49.0 −17.9%
Joomla 28,401 (2.8%) 49.6 −17.2%
Typo3 7483例(0.7%) 56.2 −5.9%
Drupal 32,217 (3.2%) 57.8 −3.1%
WordPress 312,026 (31.2%) 59.9 0.6%
Rocket 9,502 (1.0%) 69.5 16.7%
1CBitrix 7,028 (0.7%) 91.5 53.9%
Blogger 19,806 (2.0%) 192.0 237.0%

There is a wide diversity in the impact that the CMS choice appears to have on accessibility.

JavaScript Frameworks

Framework # (and %) of home pages Avg. # of errors % decrease/increase of errors
MooTools 27,033 (2.7%) 52.3 −12.6%
TweenMax 25,802 (2.6%) 58.3 −2.3%
Mustache 11,803 (1.2%) 65.5 9.9%
Knockout.js 7,046 (0.7%) 65.6 10.0%
React 31,960 (3.2%) 65.5 10.1%
Backbone.js 22,678 (2.3%) 69.3 16.6%
Angular 14,939 (1.5%) 70.9 19.2%
RequireJS 21,168 (2.1%) 71.1 19.7%
Handlebars 15,307 (1.5%) 73.5 23.6%
Vue.js 6,639 (0.7%) 73.7 23.7%
Prototype 14,376 (1.4%) 74.2 24.8%

With the exception of MooTools and TweenMax, the adoption of any of these frameworks is aligned with additional accessibility errors. This does not necessarily mean that the frameworks caused these errors, but does indicate that home pages with these frameworks have more errors than pages without.

JavaScript Libraries

Library # (and %) of home pages Avg. # of errors % decrease/increase of errors
Zepto 7,708 (0.8%) 44.0 −26.4%
YUI 20,136 (2.0%) 52.7 −11.9%
jQuery Migrate 313,391 (31.3%) 61.7 5.1%
Modernizr 197,260 (19.7%) 63.2 7.5%
Flickity 8,598 (0.9%) 64.9 8.8%
SoundManager 5,671 (0.6%) 64.9 8.8%
prettyPhoto 32,684 (3.3%) 65.4 10.0%
Lightbox 53,171 (5.3%) 65.8 10.9%
Dojo 7,111 (0.7%) 66.4 11.5%
Hammer.js 22,961 (2.3%) 67.4 13.3%
Lodash 17,219 (1.7%) 68.2 14.7%
Select2 22,194 (2.2%) 74.0 24.7%
jQueryUI 187,057 (18.7%) 71.4 25.3%
FancyBox 50,554 (5.1%) 73.8 25.3%
Script.aculo.us 8,825 (0.9%) 75.0 25.9%
Underscore.js 27,457 (2.7%) 74.7 26.1%
Moment.js 35,028 (3.5%) 75.6 28.0%
Slick 39866例(4.0%) 79.8 35.7%
Fingerprintjs 8,864 (0.9%) 81.8 37.6%
jQuery 774,058 (77.4%) 64.0 43.3%
Lazy.js 15,884 (1.6%) 192.8 235.3%

The vast majority of the top one million home pages utilize jQuery.回家爸爸ges with jQuery averaged 19.2 more errors than those without jQuery.The presence of jQuery corresponds with nearly 15 million detected errors, or over 25% of all of the accessibility errors we detected. Pages with jQuery were a bit more likely to have alternative text and contrast errors, but much more likely to have empty buttons (2.4 times as many), missing form labels (almost 3 times as many), and empty links (3.4 times as many) than non-jQuery pages. Interestingly, pages with jQuery were twice as likely to have the document language identified than pages without. Pages with jQuery were much more complex (844 elements on average) than other pages (605 elements on average).

Web Frameworks

Web Framework # (and %) of home pages Avg. # of errors % decrease/increase of errors
MicrosoftASP.net 89,444 (8.9%) 52.7 −12.6%
ZURB Foundation 25,390 (2.5%) 62.3 4.5%
CodeIgniter 5,962 (0.6%) 63.1 5.9%
Bootstrap 223,165 (22.3%) 64.3 10.3%
Animate.css 51,423 (5.1%) 67.0 13.1%
Laravel 6,285 (0.6%) 75.8 27.3%

回家爸爸ges in the sample that utilize the popular Bootstrap framework had 1.3 million more accessibility errors than pages that did not utilize Bootstrap. We can't know from these data if Bootstrap introduced these errors, but there is a strong correspondence of increased errors when Bootstrap is present.

Advertisement Networks

Ad Network # (and %) of home pages Avg. # of errors % decrease/increase of errors
AdRoll 12,291 (1.2%) 65.8 10.5%
AppNexus 16,192 (1.6%) 92.1 55.8%
Yandex 5,514 (0.6%) 92.8 56.0%
Criteo 21,468 (2.1%) 93.1 58.0%
Prebid 18,682 (1.9%) 94.4 60.0%
Doubleclick 66,918 (6.7%) 96.2 68.6%
Google AdSense 125,462 (12.5%) 100.9 87.8%
VigLink 8,466 (0.8%) 128.1 116.8%

Pages that utilized any of these popular ad systems had more errors on average than those that did not.回家爸爸ges that utilize the very common Google AdSense system had 47.2 more errors on average, nearly double, than other pages!

Other Technologies

Other common technologies also resulted in pages having more errors. Pages with ReCaptcha had 14.9 more errors on average than those without. Pages with Google Maps averaged 13.9 more errors, those with PHP averaged 7.6 more errors, and those with Java averaged 4.7 more errors.

Fun Facts

Here are several other fun facts regarding this research: