WebAIM - Web Accessibility In Mind

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


In February of 2019, 2020, and 2021 WebAIM conducted an accessibility evaluation of the home pages for the top 1,000,000 web sites. The evaluation was conducted using the WAVE stand-alone API (with additional tools to collect site technology and sector parameters). The results provide an overview of and insight into the current state of web accessibility for individuals with disabilities and trends over time.


Results below are the most recent available—currently from February 2021—with comparisons to, and trends from, earlier analyses.

The Sample

Site Lookup

How did your home page rank in our study? Enter a web site domain below (minus "www.") to view details.

The million home page list was derived from various sources, primarily the Majestic Millions list. Due to different methods of determining "top" sites, this list was supplemented with additional top pages from the Open PageRank Initiative and Alexa Top Sites. Sites without home pages, pages that returned errors (404, etc.), or pages with fewer than 10 HTML elements were not included.


The WAVE accessibility engine was used to analyze the rendered DOM of all pages after scripting and styles were applied. WAVE uses heuristics and logic to detect end-user accessibility barriers and Web Content Accessibility Guidelines (WCAG) conformance failures. All automated tools, including WAVE, have limitations—not all conformance failures can be automatically detected. Absence of detectable errors does not indicate that a site is accessible or compliant. Still, the data presented in this report provide a meaningful representation of the state of web inaccessibility.

Errors, Page Complexity, and Error Density

Across the one million home pages, 51,379,694 distinct accessibility errors were detected—an average of 51.4 errors per page. The number of errors decreased by 15.6% between February 2020 (60.9 errors) and February 2021 (51.4 errors)! "Errors" are WAVE-detected accessibility barriers having notable end user impact, and which have a very high likelihood of being WCAG 2 Level A/AA conformance failures.

Home page complexity increased slightly in 12 months, from an average of 864 elements per page to 887 elements. 5.8% of all home page elements had a detectable accessibility error. Users with disabilities would expect to encounter detectable errors on 1 in every 17 home page elements with which they engage.


Error density (number of errors divided by number of page elements) is provided in the site lookup, but is an unreliable metric of site accessibility. A significant number of page elements (<div> and <span> elements, for example) may result in a lower error density (suggesting better accessibility), when in fact many new accessibility errors may have also been introduced. This report focuses on average number of detectable errors—likely end user barriers—present as opposed to error densities (how diluted those errors are within page elements).

WCAG Conformance

97.4% of home pages had detectable WCAG 2 failures! This was down slightly from 98.1% in February 2020. 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 was certainly much lower.

Most common types of WCAG 2 failures
WCAG Failure Type% of home pages in February 2021% of home pages in February 2020% of home pages in February 2019
Low contrast text86.4%86.3%85.3%
Missing alternative text for images60.6%66.0%68.0%
Missing form input labels54.4%53.8%52.8%
Empty links51.3%59.9%58.1%
Missing document language28.9%28.0%33.1%
Empty buttons26.9%28.7%25.0%

The vast majority of barriers recorded stem from these six categories. Addressing just these few types of issues would significantly improve accessibility across the web.

Over the course of three years, home pages with low contrast text, missing input labels, and empty buttons have generally increased, whereas home pages with missing alternative text, empty links, and missing document language have generally decreased.

Low Contrast Text

Low contrast text, below the WCAG 2 AA thresholds, was found on 86.4% of home pages. This was the most commonly-detected accessibility issue. On average, home pages had 31 distinct instances of low-contrast text.

Images and Alternative Text

There were 37,948,510 images in the sample, or 37.9 images per home page on average. The number of images decreased slightly since 2020. 26% of all home page images (10 per page on average) had missing alternative text (not counting alt=""). Nearly half of the images missing alternative text were linked images—resulting in links that were not descriptive.

9.6% of images that were assigned alternative text had questionable or repetitive alternative text—such as alt="image", "graphic", "blank", a file name, etc., or alternative text identical to adjacent text or alternative text.

These data show that one can expect over one third of the images on the web to have missing, questionable, or repetitive alternative text. This number, however, is decreasing as the prevalence of alternative text is slowly increasing over time.


Despite being removed from HTML5 over a decade ago, 2,009 home pages had a longdesc attribute present, an increase from 1,885 in 2020. Half of the 16,778 longdesc attributes encountered had invalid values, such as an empty value, an invalid URL, an image file name, etc.

Form Labeling

45% of the 4.4 million form inputs identified were not properly labeled (either via <label>, aria-label, or aria-labelledby). This is a significant improvement from 55% in 2020 and 59% in 2019. Despite this improvement, nearly half of form inputs do not have associated label texts.


Nearly 21.5 million headings were detected (over 21 on average per page). The number (and prevalence) of heading levels were:

  • 1.6 million <h1> headings (7.4%)
  • 6.5 million <h2> headings (30.1%)
  • 7.5 million <h3> headings (35.0%)
  • 3.6 million <h4> headings (17.5%)
  • 1.5 million <h5> headings (6.9%)
  • .7 million <h6> headings (3.2%)

18.4% of home pages had more than one <h1>—a decrease from 20.5% in 2020. The prevalence of <h3>, <h4>, <h5>, and <h6> headings all increased.

There were 1,017,026 instances of skipped heading levels (e.g., jumping from <h2> to <h4>) and 1 in every 21 headings was improperly structured. Skipped headings were present on 38.4% of all pages (down from 39.1% in 2020), and 10.6% of pages had no headings present at all (down from 12.4% in 2020).

These data all suggest that headings are being used more frequently and more appropriately over time. This is important because headings are the primary mechanism used by screen reader users to navigate content.


69.1% of home pages had at least one region (or ARIA landmark) defined—an increase from 68.9% in 2020 and 62.4% in 2019. A <main> element or main landmark was present on 30.1% of home pages, up from 27.8% in 2020 and 23.5% in 2019. 17.6% of home pages had a "search" landmark.

96% of home pages with a main region/landmark had only one instance (which is a correct implementation). Pages with a navigation region/landmark present averaged 2.3 of them per page.


47,883,732 ARIA attributes were detected—nearly 48 per page on average! ARIA code usage increased 25% in just one year.

68.1% of the one million home pages used ARIA (excluding ARIA landmark roles)—an increase from 64.6% in 2020 and 60.1% in 2019. Home pages with ARIA present averaged 41% more detectable errors than those without ARIA, meaning one would expect to encounter an additional 24 potential barriers on home pages with ARIA present. This number, however, decreased from 60% in 2020.

ARIA correlated to higher detectable errors. The more ARIA attributes that were present, the more detectable accessibility errors could be expected. This does not necessarily mean that ARIA introduced these errors (these pages are more complex), but pages typically had more errors when ARIA was present.

Home pages averaged 7.6 aria-label or aria-labelledby attributes (an increase from 5.6 in 2020). 1 out of every 15 aria-labelledby and aria-describedby attributes had broken references (meaning the element referenced by the ARIA attribute did not exist on the page).

7% of home pages (1 in 14) had an ARIA menu (role="menu"), but an alarming 60.1% of ARIA menus (an increase from 53.7% in 2020) introduced accessibility barriers due to the lack of necessary ARIA menu markup and interactions.

Home pages also averaged 8.9 aria-hidden="true" attributes (up from 6.6 in 2020) and 2.2 role="button" attributes (up from 1.3) per page. Over 14.3 million (14.3 per page on average) instances of tabindex=0 or tabindex=1 were present (up 43% from 2020).


79.1% of home pages had a valid HTML5 doctype—a notable increase from 74.1% in 2019, but a small decrease from 80% in 2020. Pages with a valid HTML5 doctype had nearly double the page elements (average of 987 vs. 508) and 35% more errors (average of 54.3 vs. 40.2) than those with other doctypes. 707 unique doctypes (most of these, obviously, being invalid) were encountered in the million-page sample.

Site Categories


We're grateful for the support of webshrinker.com in providing us the site category data. Their support makes this valuable information available.

The home pages were categorized based on content into IAB Content Taxonomy categories. The table below shows the number of home pages in each category (some sites may be in more than one category), average number of errors in that category, and the percent difference in errors for that category and the average of 51.4 errors for the entire million-page sample. In other words, the percentage difference is how much better or worse that category is than the average home page.

Category# of home pages# of errors
Business88,09645.8 (−10.9%)
Food and Drink30,72246.8 (−8.8%)
Law, Government, and Politics23,45146.9 (−8.7%)
Technology and Computing154,37847.4 (−7.8%)
Health & Fitness53,88648.5 (−5.6%)
Science6,93748.7 (−5.2%)
Careers11,94050.1 (−2.5%)
Personal Finance41,74050.6 (−1.5%)
Social Media & Society22,87550.7 (−1.3%)
Education49,47450.8 (−1.2%)
Religion and Spirituality9,76651.4 (0.1%)
Home and Garden31,70551.5 (0.2%)
Family and Parenting6,46053.0 (3.1%)
Automotive18,67557.1 (11.2%)
Arts and Entertainment40,50557.3 (11.4%)
Pets7,72557.3 (11.5%)
Travel40,38559.4 (15.6%)
Hobbies and Interests84,71861.7 (20.1%)
Style and Fashion20,08663.2 (23.1%)
Sports37,75164.8 (26.0%)
Real Estate17,57771.4 (38.9%)
News/Weather/Information72,00773.5 (43.1%)
Shopping40,70675.2 (46.4%)
Adult Content19,07983.1 (61.7%)

There were notable differences in accessibility errors for sites in different categories. Home pages in the Food & Drink category were most improved since 2020 with errors reduced from 66.1 to 46.8 errors on average. This improvement may be at least partially attributed to the significant increase in litigation regarding web accessibility in this sector. Shopping sites, which were also highly subject to accessibility complaints and lawsuits, were greatly improved from 90.5 errors to 75.2 errors on average, yet this category remains among the least accessible.


793 unique top-level domains (.com, .tv, .fashion, etc.) were represented in the million pages analyzed. Home pages with .com (501,741), .org (73,959), and .net (44,813) were the most common.

The table below shows the most common TLDs with page counts, average number of errors, and difference between those errors and the average of 51.4 errors for the entire million-page sample.

Top-level Domain# of home pages# of errors
tk5,90317.7 (−65.6%)
us5,48435.7 (−30.5%)
ca6,85839.4 (−22.9%)
org73,95940.4 (−21.4%)
uk20,21344.1 (−14.2%)
de28,48844.2 (−14.0%)
io5,42244.3 (−13.8%)
net44,81345.9 (−10.7%)
info8,03845.9 (−10.7%)
co6,93748.2 (−6.2%)
jp14,09548.6 (−5.4%)
nl11,54251.0 (−50.7%)
com501,74151.2 (−0.3%)
au8,27551.4 (0%)
fr8,81056.3 (+9.6%)
it8,57958.7 (+14.2%)
in9,72858.8 (+14.4%)
pl7,68558.8 (+14.4%)
br8,03360.5 (+17.8%)
ru33,07477.0 (+49.9%)
cn10,93280.5 (+56.7%)

This shows notable differences between TLDs. Home pages with .gov (22.5 errors), .edu (30.0 errors), and .us (35.7 errors), which are all affiliated with U.S.-based entities, had among the lowest number of average accessibility errors of all common (n>2000) TLDs.


72% of pages specified a document language. Pages without a language defined had significantly fewer errors on average than pages with a language defined.

This table shows the specified page language for the most common languages, number of pages in the sample, average number of errors, and difference in errors from the overall average.

Specified Language# of home pages# of errors
No language specified280,09744.5 (−13.4%)
English488,34947.1 (−8.3%)
Dutch10,98251.3 (−0.2%)
Japanese19,94352.8 (+2.8%)
German26,22556.7 (+10.4%)
French19,78060.3 (+17.4%)
Spanish23,24366.7 (+29.8%)
Chinese11,56079.6 (+54.9%)
Russian30,19882.1 (+59.8%)

As with TLDs, there are significant differences in accessibility of pages in various languages, with Russian, Chinese, and Spanish pages being much worse than the average. Russian and Chinese pages had nearly twice as many detectable errors than pages in English.


Data regarding over 1000 different types of technologies present on the one million home pages were collected and analyzed. Technologies detected on more than 5,000 home pages are listed below, ordered from "best" to "worst". Note that correspondence of additional errors with a technology cannot automatically be attributed to that technology.

Content Management Systems

CMS# (and %) of home pagesAvg. # of errors% difference
Squarespace5,772 (0.6%)19.7−61.6%
Typo36,098 (0.6%)49.9−2.9%
Drupal27,110 (2.7%)51.0−0.7%
Elementor30,328 (3.0%)53.6+4.3%
WordPress310,936 (31.1%)56/6+10.1%
Rocket22,543 (2.3%)59.4+15.5%
1CBitrix7,630 (0.8%)90.7+76.6%

There was a wide diversity in the impact that the CMS choice appeared to have on accessibility.

JavaScript Frameworks

Framework# (and %) of home pagesAvg. # of errors% difference
React26,773 (2.7%)50.4−1.9%
MooTools8,270 (0.8%)54.8+6.7%
GSAP6,612 (0.7%)57.9+12.7%
RequireJS13,621 (1.4%)60.7+18.1%
Prototype5,313 (0.5%)62.6+21.8%
Backbone.js6,003 (0.6%)63.9+24.4%
Angular5,775 (0.6%)64.9+26.4%
Vue.js18,358 (1.8%)67.3+31.1%

Except for React (which saw notable decreases in detectable errors over the last year), the adoption of any of these frameworks corresponded with more accessibility errors than the average home page. This does not necessarily mean that the frameworks caused these errors, but home pages with these frameworks had more errors than on average.

JavaScript Libraries

Library# (and %) of home pagesAvg. # of errors% difference
Lodash20,964 (2.1%)57.4+11.6%
Modernizr76,072 (7.6%)57.8+12.5%
jQuery Migrate203,527 (20.4%)58.5+13.9%
Lightbox41,883 (4.2%)60.3+17.4%
jQuery624,415 (62.4%)61.6+19.9%
Slick76,858 (7.7%)63.8+24.3%
prettyPhoto19,425 (1.9%)66.8+30.0%
jQueryUI72,798 (7.3%)69.7+35.7%
Moment.js18,359 (1.8%)71.3+38.8%
FancyBox20,473 (2.0%)73.4+42.9%
Underscore.js36,247 (3.6%)74.0+44.1%
Select29,567 (1.0%)79.0+53.8%

The presence of any of these JavaScript frameworks aligned with an increase in detectable accessibility errors. 62.4% the top one million home pages utilize jQuery. Home pages with jQuery averaged 10.2 more errors than those without.

Web Frameworks

Web Framework# (and %) of home pagesAvg. # of errors% difference
Ruby on Rails5,144 (0.5%)40.7−20.7%
MicrosoftASP.net58,361 (5.8%)56.2+9.4%
ZURB Foundation16,654 (1.7%)57.4+11.8%
Bootstrap264,238 (26.4%)59.1+15.1%
Animate.css58,263 (5.8%)66.6+29.7%

Home pages in the sample that utilize the popular Bootstrap framework had 8.5 more accessibility errors on average than those that did not. We can't know from these data if Bootstrap introduced these errors, but there was a correspondence of increased errors when Bootstrap was present.

Ecommerce Platforms

Platform# (and %) of home pagesAvg. # of errors% difference
Shopify14,025 (1.4%)54.1+5.0%
Woocommerce32,127 (3.2%)67.0+30.4%
Magento5,577 (.6%)79.7+55.1%

The most popular ecommerce systems all corresponded with increased accessibility errors.

Advertisement Networks

Ad Network# (and %) of home pagesAvg. # of errors% difference
AdRoll8,547 (0.9%)52.9+3.0%
AppNexus18,484 (1.8%)66.8+29.9%
Doubleclick32,181 (3.2%)78.4+52.5%
Google AdSense85,505 (8.6%)78.7+53.2%
Criteo8,817 (0.9%)99.1+92.8%
Yandex5,297 (0.5%)105.6+105.6%

Pages that utilized any of these popular ad systems had more errors on average than those that did not. The data suggest that ads were among the strongest harbingers of accessibility errors. Home pages that utilize the common Google AdSense system had 27 more errors on average than other pages.

Other Technologies

Other common technologies also correlated to more errors. 7.9% of pages had ReCAPTCHA and averaged 10.8 more errors than those without. 39.5% of pages had Google Fonts and averaged 6.1 more errors, 3.4% of pages had Google Maps and averaged 11.6 more errors, and 47% of pages had PHP and averaged 5.9 more errors.

Fun Facts

Here are some fun facts regarding this research:

  • With 4 analyses of over one million pages each, the WebAIM Million database is approaching two billion data points.
  • Despite being 2021, 14,501 home pages had <marquee> and 341 home pages had blinking content (<blink> or CSS text-decoration:blink).
  • 1,533,402 tables were observed, down from 1,876,456 in 2020. Only 140,793 (9.2%) of the tables had valid data table markup.
  • The most errors detected on a single home page was 25,361!


While 2021 saw small decreases in the number of detectable accessibility errors and WCAG conformance failures, significant work remains to be done to make the web accessible to everyone. WebAIM hopes that this report will help influence improved accessibility.