98% of the Top 100 U.S. Websites Use Invalid HTML (in 2021)
Is frontend development in the bad shape it’s said to be? Is it hyperbole when frontend developers are accused of poor quality work? Or is there merit to the idea that craft and profession are lacking?
With the discipline being attacked for good and bad reason, I wanted to take a quick sample of where we stand. For that reason I grabbed the 100 most popular U.S. websites, per Ahrefs, and validated the HTML and CSS of all the respective homepages.
Why validate? If you’re a frontend developer who’s asking that, then you’re currently part of our craft’s and our profession’s problem. As frontend developers we validate our HTML and CSS to produce output in conformance with the underlying standards, to preempt a variety of issues, to avoid unnecessary code, and in recognition that valid output differentiates us from non-professionals, because everyone can produce invalid code.
The result is sobering.
Of 100 websites, only 2 have 0 HTML errors. 2.
That is, of course, of 100 websites, 98 have HTML errors.
Of 100 websites, 34 websites even have more than 100 HTML errors. (Errors, not warnings.)
The average number of HTML errors is 125.22.
How is this for CSS?
Of 88 websites (that the CSS validator could test), only 3 have no CSS errors (3.4%).
Conversely, of those 88 websites, 85 have CSS errors (96.6%).
Of 88 websites, more than 11 websites have more than 100 CSS errors.
The average number of CSS errors is 48.4.
Figure: The only website with both valid HTML and CSS code? The CDC’s. (Maybe not surprising.)
This is, and I’ve stopped to mince words, pathetic. True, we probably use shitty tooling. That’s one thing we need to change (and to put pressure on, if that tooling is not under frontend developer control). But these numbers also reflect poor craft and an unprofessional attitude.
If you’re a frontend developer, the first sign you’re a professional is that you ship valid code. (Any random person on the street can ship invalid code. Your houseplant can write invalid code when you put it on a keyboard.)
If you run a website, it’s also only professionally done if it’s valid. (If you work with third parties like agencies and freelancers, add valid output to your contracts.)
Validation is fundamental stuff. It’s simple. It’s useful. It’s important. We need to get this right—and our act together as frontend developers.
I’m Jens, and I’m an engineering lead—currently manager for Developer Experience at LivePerson—and author. I’ve worked as a technical lead for Google, I’m close to W3C and WHATWG, and I write and review books for O’Reilly. I love trying things, sometimes including philosophy, art, and adventure. Here on meiert.com I share some of my views and experiences.
If you have a question or suggestion about what I write, please leave a comment (if available) or a message. Thank you!
Maybe this is interesting to you, too:
- Next: CS:GO on macOS, an Amateur Setup
- Previous: Upgrade Your HTML III
- More under Web Development, or from 2021
- Most popular posts
Looking for a way to comment? Comments have been disabled, unfortunately.
Get a good look at web development? Try The Web Development Glossary (2020). With explanations and definitions for literally thousands of terms from Web Development and related fields, building on Wikipedia as well as the MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.