A few weeks ago I was trying to find out which browser supported exactly which experimental feature, be it CSS3, HTML5, or something else. I found a couple of useful pages, but nothing quite as detailed as what I was looking for. Since I enjoy graphs, charts, and showing the world how much IE6 really sucks, I went ahead and made what I was looking for.
Thus was born the “When can I use…” page, which shows tables of a variety of current and upcoming web technologies. For all major browsers (Internet Explorer, Firefox, Safari, Opera and Chrome), versions for four different eras (past, present, near and far future).
The page can be customized to show only certain browsers/features/eras, so you have the option to ignore lesser used browsers or for that matter the most used one (it’s a lot of fun to pretend Internet Explorer doesn’t exist). I’ve also included a summary at the bottom of the page, which shows what percentage of the displayed features are supported.
Most features were tested myself, to ensure that the information is accurate. Please let me know if you notice any mistakes. Keep in mind that a “supported” feature may not actually work 100%, as well as the fact that some of the specifications are not set in stone yet, so what may be supported today may not actually work in the future. However, it is likely that in most cases the browser will update its support as the spec changes.
The feature list includes anything I personally feel is of significant use to web designers, but still lacks support in at least one browser version. I am open to adding more features, but only if it’s of significant importance and not just a detailed subset of another feature.
I intend to update the page as new browsers are released, or at the very least once a year. Due to its popularity, the page is updated as soon as new information becomes available.
192 replies on “When can I use…”
Turns out that CSS transitions won’t make it into Firefox 3.6, but instead in 3.7.
Also, 3.6 is quite locked from getting new features now, I think you can safely mark everything that is currently grey as red. Seeing that HTML5 form features is also grey, it seems that support for the “multiple” attribute will come with 3.6. Maybe not enough to justify the partial status?
And last, I thought the list page itself had stopped being updated, as I was often looking at the RSS feed and saw no new updates. It would be nice if you kept that up to date.
Thanks!
Have you thought about adding SVG clip paths and paint servers to your table?
There is a an alternate JS solution for border-radius, called CurvyCorners, which works in IE and, they say, in Opera.
Chrome 3 was just released, and it supports both <audio> and <video>. For some reason, you have it listed as not supporting <audio>. You might want to update that!
Thanks for the great resource. It’s pretty helpful to be able to get a high-level overview of the progress on all of this stuff.
Yeah, I’m pretty sure you’re mistaken…you may have the Adobe SVG viewer plug-in installed, which would might be rendering it for you in IE8.
I’ve maybe wrong but the SVG fonts test work fine for me:
SVG 3.0 under IE8
(XP32 Pro SP3 – IE 8.0.6001.18702)
@Magne – Cool, thanks for pointer! Feature support has been noted (and I went ahead and changed 4.0 to 3.6)
@rob – That is correct, it is biased towards the features I have personally noticed web designers/developers show a specific interest in. Canvas is a category of features, and appears on its own due to the amount of interest shown in the technology around the web.
Since I have yet to hear anyone talk about wanting more Ruby support or implementation of the TV profiles (does any browser even support this?), I have not added them.
The selection on this page is very biased. For instance:
* For CSS 3 it show working drafts even but not candidate recommendations like Ruby and TV profiles.
* Canvas is shown as a separate standard even though it is only a part of an HTML5 working draft
For CSS3 the page should use this list.
http://www.w3.org/Style/CSS/current-work
Not make it a biased list of its own !!!
Sweet, we’re getting CSS transitions in Firefox too soon 🙂
https://bugzilla.mozilla.org/show_bug.cgi?id=435441 – Milestone is the Mozilla 2.0 engine (used in Firefox 4.0), but as the patch is already submitted, that might mean that it shows up as early as for Gecko 1.9.2 which is used in Firefox 3.6.
But, I think you can safely mark it as 4.0 and 4.* for Firefox.
@Norman – Indeed it does, which is why it appears as supported on this table. However, it does not support any of the database features currently supported in Webkit.
Also the “3D” effects on the page you link to are actually done with just 2D transforms, as the article itself explains. 🙂
@Darxus – Thanks! Since the summary table varies based on the other tables displayed, it doesn’t actually work by itself. And as much as I like it myself, I don’t want it to be too prominent since the numbers are essentially quite arbitrary. While they provide a general idea of how well browsers are supporting upcoming/new features, I’d hate to see people making specific claims based on those numbers.
Also, the permalinks work for me (aside from the Summary one)…What browser are you using?
oh and it also supports 3d transformation (example) 🙂
your table needs a small update: Firefox 3.5 does support (I dont know how much of it tho) Web Storage Features
see this link
Actually, I really think you should put the Summary table at the top. That one is particularly awesome.
The category link for Summary doesn’t work. All the values are NaN%. I see you started adding permalinks, but they’re broken. Whenever I use the links from a different page, or open in new tab, instead of the table I want, I get “Um…dude.”
This page is awesome.
@Fabien – Indeed, I have removed the note. Thanks!
Of course, and that’s very sad, but I said that because Firefox 2.0 and Safari 3.1 are in “Far past” too, now.
I’d love to think so to Fabien, but I think there’s still a lot of people out there who thinks IE6 support is important.
I think the note
“Far past” exists only for IE6, as it is often the only really old browser people need to support.
can be removed now 🙂
But then again, I see you marked it as 2.x. Does that mean you tested it yourself, and it worked on 2.1+, as I’m running 2.0.