There’s been buzz for months about HTML5 and CSS3 and the ways they are changing the web. The biggest headline grabber is the canvas element; with its ability to enable video, games and other media-rich content inline without the need for any plugins. Many developers are also excited about the new HTML5 form elements which allow for more specific form elements including date, time, slider, color picker and more.
At what point do we as developers start taking advantage of HTML5 and CSS3? Well the answer is a little complicated. Being suites of features rather than a monolithic package, some features are more completely defined than others. Similarly, some features are more broadly implemented and supported by modern browsers. There is a correlation of course; the further along a given feature is in the approval process, the more widely supported it is.
The current versions of Firefox, Chrome, Safari and Opera all fully support the canvas element. Internet Explorer 8 does not, however Internet Explorer 9 beta does. IE users historically have been the slowest to upgrade though, so it may be some time before we can reliably assume all users are able to render canvas elements.
Support for other features is spottier. In the end, whether to use a given HTML5/CSS3 feature (such as a canvas element) depends on the needs of your project. For a well supported feature it makes sense, particularly if the HTML5/CSS3 solution will be more lightweight than one using plugins. Users have an expectation nowadays for pages to load quickly and run smoothly. If the page requires a resource hogging plugin which causes spotty performance, that will shape users’ perception of your site. On the other hand if you can give users a new or better experience than they have seen elsewhere, that will leave a positive impression.