Validating The Top 50 Websites of 2009
Apple revealed an iPad ready webpage today. A list of websites that support the latest web standards, including HTML5, CSS3, and JavaScript. This is kind of an "in-your-face" to Adobe and it's flagship Flash product. If you're not familiar with the Apple HTML5 and Adobe Flash war, do a search for "Apple snubs Adobe Flash" on Google, you should get brought up to speed fairly quickly.
After looking over the list, I began to wonder about how many of the top sites are actually standards compliant. What I found was a little shocking. Now before you continue, please keep in mind that this is by no means a true scientific study. The colors used in the table don't take into account minor vs. major errors. I only checked the front page, so its possible that the inner pages are 100% compliant. I visually checked to see if a page had any Flash, Silverlight or HTML5 embedded on it. This really doesn't tell you if the site is completely created with these technologies or just using them somewhere on the page.
The following is a the list of Time Magazine's 50 Best Websites of 2009. I supplied each web address to the W3C HTML Validator and the W3C CSS Validator and noted the HTML & CSS versions and noted the any errors.
2009 Validated List
| No. | Name | HTML Version | HTML Errors | CSS Version | CSS Errors | Flash/SL Used | HTML5 Used |
|---|---|---|---|---|---|---|---|
| 1 | Flickr | HTML 4.01 Strict | 38 Errors | CSS level 2.1 | 30 Errors | - | - |
| 2 | California Coastline | HTML 4.01 Transitional | 15 Errors | CSS level 2.1 | Valid | - | - |
| 3 | Delicious | HTML 4.01 Strict | 19 Errors | CSS level 2.1 | 383 Errors | - | - |
| 4 | Metafilter | HTML 4.0 Transitional | 57 Errors | CSS level 2.1 | 10 Errors | - | - |
| 5 | PopURLs | XHTML 1.0 Transitional | 12 Errors | CSS level 2.1 | Valid | - | - |
| 6 | XHTML 1.0 Strict | 65 Errors | CSS level 2.1 | 209 Errors | - | - | |
| 7 | Skype | XHTML 1.0 Strict | 5 Errors | CSS level 2.1 | 93 Errors | Yes | - |
| 8 | Boing Boing | HTML 4.01 Transitional | 193 Errors | CSS level 2.1 | 20 Errors | Yes | - |
| 9 | Academic Earth | XHTML 1.0 Transitional | 9 Errors | CSS level 2.1 | 23 Errors | Yes | - |
| 10 | OpenTable | XHTML 1.0 Transitional | 1294 Errors | CSS level 2.1 | Valid | - | - |
| 11 | HTML5 | 41 Errors | CSS level 2.1 | 1 Errors | - | - | |
| 12 | YouTube | HTML5 | 257 Errors | CSS level 2.1 | 1 Errors | Yes | Yes |
| 13 | Wolfram|Alpha | XHTML 1.0 Strict | 24 Errors | CSS level 2.1 | 17 Errors | - | - |
| 14 | Hulu | XHTML 1.0 Transitional | 59 Errors | CSS level 2.1 | 212 Errors | Yes | - |
| 15 | Vimeo | XHTML 1.0 Strict | 118 Errors | CSS level 2.1 | 64 Errors | Yes | Yes |
| 16 | FORA.tv | XHTML 1.0 Transitional | 187 Errors | CSS level 2.1 | Valid | Yes | - |
| 17 | Craiglook | HTML 4.01 Transitional | 14 Errors | CSS level 2.1 | 175 Errors | - | - |
| 18 | Shop Goodwill | XHTML 1.1 | 145 Errors | CSS level 2.1 | Valid | - | - |
| 19 | Amazon | HTML 4.01 Transitional | 1162 Errors | CSS level 2.1 | 28 Errors | - | - |
| 20 | Kayak | XHTML 1.0 Transitional | 219 Errors | CSS level 2.1 | 112 Errors | Yes | - |
| 21 | Netflix | HTML 4.01 Transitional | 7 Errors | CSS level 2.1 | 1 Errors | Yes | - |
| 22 | Etsy | HTML5 | 26 Errors | CSS level 2.1 | 30 Errors | Yes | - |
| 23 | PropertyShark.com | XHTML 1.0 Transitional | 9 Errors | CSS level 2.1 | 24 Errors | - | - |
| 24 | Redfin | HTML 4.01 Transitional | 3 Errors | CSS level 2.1 | 1 Errors | - | - |
| 25 | Wikipedia | HTML5 | Valid | CSS level 2.1 | 4 Errors | - | - |
| 26 | Internet Archive | XHTML 1.0 Strict | 78 Errors | CSS level 2.1 | 68 Errors | - | - |
| 27 | Kiva | HTML 4.01 Transitional | 102 Errors | CSS level 2.1 | 37 Errors | - | - |
| 28 | ConsumerSearch | XHTML 1.0 Strict | 61 Errors | CSS level 2.1 | 60 Errors | Yes | - |
| 29 | Metacritic | XHTML 1.0 Transitional | 399 Errors | CSS level 2.1 | 7 Errors | Yes | - |
| 30 | Pollster | XHTML 1.0 Strict | 298 Errors | CSS level 2.1 | 7 Errors | Yes | - |
| 31 | XHTML 1.0 Strict | 41 Errors | CSS level 2.1 | 236 Errors | - | - | |
| 32 | Last.fm | HTML5 | 23 Errors | CSS level 2.1 | 273 Errors | - | - |
| 32 | Pandora | HTML 4.01 Transitional | 65 Errors | CSS level 2.1 | 5 Errors | Yes | - |
| 33 | Musicovery | XHTML 1.0 Transitional | 159 Errors | CSS level 2.1 | Valid | Yes | - |
| 34 | Spotify | XHTML 1.0 Transitional | Valid | CSS level 2.1 | 52 Errors | - | - |
| 35 | Supercook | HTML 4.01 Transitional | 9 Errors | CSS level 2.1 | Valid | Yes | - |
| 36 | Yelp | HTML 4.01 Strict | 23 Errors | CSS level 2.1 | 29 Errors | - | - |
| 37 | Visu Words | XHTML 1.0 Transitional | 137 Errors | CSS level 2.1 | 5 Errors | Yes | - |
| 38 | CouchSurfing | HTML 4.01 Transitional | 105 Errors | CSS level 2.1 | 159 Errors | - | - |
| 39 | BabyNameWizard.com's NameVoyager | XHTML 1.0 Strict | 116 Errors | CSS level 2.1 | 13 Errors | Yes | - |
| 40 | Mint | XHTML 1.0 Strict | 80 Errors | CSS level 2.1 | 16 Errors | - | - |
| 41 | TripIt | XHTML 1.1 | 50 Errors | CSS level 2.1 | 183 Errors | - | - |
| 42 | Aardvark | HTML5 | 2 Errors | CSS level 2.1 | 209 Errors | - | - |
| 43 | drop.io | XHTML 1.0 Transitional | 26 Errors | CSS level 2.1 | 30 Errors | Yes | - |
| 44 | Issuu | HTML 4.01 Strict | 2 Errors | CSS level 2.1 | 7 Errors | - | - |
| 45 | Photosynth | XHTML 1.0 Transitional | 112 Errors | CSS level 2.1 | 5 Errors | - | - |
| 46 | OMGPOP | XHTML 1.0 Transitional | 38 Errors | CSS level 2.1 | 5 Errors | Yes | - |
| 47 | WorldWide Telescope | XHTML 1.0 Transitional | 40 Errors | CSS level 2.1 | 2 Errors | - | - |
| 48 | Fonolo | XHTML 1.0 Transitional | Valid | CSS level 2.1 | Valid | - | - |
| 49 | Get High Now | XHTML 1.0 Transitional | 12 Errors | CSS level 2.1 | 5 Errors | - | - |
| 50 | Know Your Meme | XHTML 1.0 Transitional | 22 Errors | CSS level 2.1 | 49 Errors | - | - |
I was happy to see that six out of the fifty sites were using the new HTML5 Spec. But what was really kind of shocking, is that only one site (Fonolo) validated perfectly and if you ignore the CSS validation, only three sites passed the HTML validation!
So what does this all mean? I'm not sure. My best guess is that the content management system these sites are using are generating invalid code. When you have a large site, it's understandably difficult to create a CMS that's easy enough for your content entry folks to use, but that generates valid code. At least this has been my experience.
Not sure if this table really means all that much, but I had never seen anything like this before, so I decided to create it. Leave a comment below and let me know your thoughts.