Are we Clear for Takeoff?
Then the compliance barrier hits us, and the market share question has to be considered. We’ve dealt with browser disparities for years, knowing this right-click operation can be blocked by this browser, and we use should use document.getElementById over document.all. So what do we have to worry about?
Is my Browser Ready?
The good people at Google (and I say this in good faith) have produced a great site to test how ready a browser is for HTML5. I trust Google to report this one accurately, especially because they cite the justification behind each requirement and the measurement of its compliance in the browser.
Check out http://html5test.com/ with your browser and see what passes. The score at the top is a summary of how well your browser handles the current requirements of the draft HTML5 standard. Here’s a breakdown of how well the major browsers today handle things (as of 10/9/2012). The maximum score is 500:
I personally am not surprised that Chrome is at the top (Google wouldn’t advertise this site if their browser wasn’t king) but are you as surprised as I was that Opera is such an HTML5 ally? Safari as a WebKit cousin to Chrome is relatively close and Firefox isn’t much further behind.
So How will my User Community be Affected?
According to the W3C, here’s a breakdown of how browsers rank in market share comparing 2004, 2008 and 2012:
What Can I Safely Use?
You can leverage the following to work on all browsers:
- Drag and Drop-Not earth shattering, but you can drag elements around on a page interactively. A handy way of making objects interact with each other.
- Canvas- The successor to scalable vector graphics is a great way to render images and objects on the page that produce cool effects. And it’s fully supported in the major browsers.
- Video- The video element supports at least MPEG 4 across all the major browsers, which is good enough for most people.
- Audio- The audio element supports at least MP3 and OGG formats in the major browsers.
- Session Storage and Local Storage- a limited set for isolated storage can be used to put cookie-like data or to cache small sets of information in the user’s browser to avoid unnecessary host round trips in a given session.
I’ll continue following this one as I personally have a big stake in it as a web developer. I’m interested to hear what your take is out there, those of you who are hungry to use these features and those that already are!