99% is a load of crap. It’s not close to that.
I stumbled upon this fact because I had just created a new HTML5 Uploader for Dojo (I’ll post a blog on that soon). So naturally, since IE9 is 99% HTML5 compliant it supports multiple file uploads right?
Wrong. In fact, IE9 is missing almost every form feature. HTML5 allows for a lot of form functionality including calendars, sliders and number spinners. It has built-in validations so you can make an input an “email” or an “url” or use ranges. Opera was the first to implement these elements, including a robust calendar popup widget. Webkit and Mozilla have come quite close to full implementation, though they have subtle differences and don’t have the calendar popup. You can see these new form features for yourself in Opera’s excellent HTML5 Forms Example.
IE9 has none of them, nor does it have any validation, or ranges or the new types… and worst of all for my Uploader widget, still, after all these years, does not support multiple file uploads. So the 99% isn’t 99% of all HTML5 features — it’s 99% of the tests that IE implemented. This is like writing your own test and bragging that you passed it.
This past weekend I was doing research for a blog post, where I was planning on blasting the IE team on the bogus test results. But hey, I was saved the effort by Paul Rouget. He blasts them pretty hard and collected pretty much the same links and has the same argument I had. Kudos to him! (The picture above is linked to from blog). Read his excellent post here!
In the meantime, I hope IE stops the smoke and mirror show and focuses on not only the IE9 release, but the IE10 and IE11 which needs to come immediately after. Yes, I am happy that IE9 is coming out and M$ is getting with the 21st century. But in order to remain current with web standards and new HTML5 and CSS3 features, they need to release more often than their schedule of one browser every four years. We need something closer to four releases every year. At which point I can consider dropping
if( isIE ) from my code.