Categories
Web development

When can I use…

Preview of the 'When can I use' page

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…”

Nice work.

There are a lot of DOM 2 / DOM 3 basic stuff that IE still doesn’t support in version 8. Most noticeably the W3C event model. You may want to consider adding that. You can find a lot more examples on the first two buckets of the Acid 3 Test. A lot of frameworks like jQuery are providing workarounds.

@Rick Walter – Thanks for doing that research! Good to hear Firefox’s support is still sufficient.

@David – The only reason XHTML+SMIL gets to be in is because IE has some form of support for it. ๐Ÿ™‚

There doesn’t seem to be much interest in XHTML+Voice by other browser makers or by web designers/developers, so it doesn’t seem appropriate to add to WCIU.

Cross-Origin Resource Sharing, on the other hand, does seem appropriate to add, so I’ll do more research into that. Thanks for the reminder!

@Stac โ€“ XHTML+SMIL is there under Status Unofficial / Note.

@Alexis – XHTML+SMIL also has only a JS implementation, and you considered it was enough to make it to the list. Template Layout should have the same status, imho.

Btw,
– what about XHTML+Voice ? (see your comment #38)
– What about Cross-Origin Resource Sharing ? http://www.w3.org/TR/access-control/

cheers!

More on MathML

It seems that even the W3C requires an XSL transform/stylesheet to display mathml-content. The W3C’s Putting Mathematics on the Web has a link to test if a browser supports mathml-content. That test page has an xsl stylesheet that transforms content form to presentation form. They even recommend that you use and/or link to their xsl style sheet!!!

So I guess that it’s enough that a browser supports all of MathML presentation and xsl stylesheets. With this criteria, Firefox does support all of MathML.

Links for MathML in Firefox

The mathml project page on mozilla.org. None of this is anywhere near recent.
This says that Mozilla is only doing the mathml 1.0 presentation and maybe some of mathml 2.0

The W3C Mathml Test suite on w3c.org seem to work correctly! But they don’t really. There is an xsl file (c2p.xsl is included in mathml.xsl) that transforms the mathml-content into mathml-presentation! View frame source and then try saving the frame source as ‘web page complete’. You get an xml file with the mathml-content replaced by the equivalent mathml-presentation.

If you copy the example code from the test pages into your own file (either xhtml or mml) they don’t work. I’ve posted the ‘cn2’ test on my site.

Sorry for the belated responses, but here goes:

@Lars – I think I already have that covered with “SVG effects for HTML”?

@Remy Sharp – Awesome man, that’s very very cool. As tweeted before, I feel flattered. ๐Ÿ™‚

@Rick Walter – Interesting, I’ll need to investigate that further. Happen to have a link for me with more info?

@David – ๐Ÿ˜€ If you look at the FAQ, you’ll see that a feature needs to have at least one implementation to make it to the list. So unfortunately I can’t add that one.

@Dan – Thanks for the link, I managed to update WCIU on the day that news arrived. ๐Ÿ™‚

@Szczepan – What Magne said. Also note that When Can I Use… is not for people to pick out the best browser, it’s for designers/developers to know when tools are available to them to make web development easier, make web pages load faster, and make websites work better (and do more than was possible before).

@Stac – You raise an interesting point. However, since neither HTML+TIME nor XHTML+SMIL made it past the “Note” stage in the W3C, it’s not reasonable to have expected other browser makers to implement the feature. Since clearly there is an interest in video and audio elements by browser makers, there must have been a good reason for the W3C not to standardize this particular specification.

Your argument doesn’t really hold up. If IE implemented this 10 years ago, when it was basically alone on the market (with 95%+ marketshare), why didn’t web designers start using it?

Sounds to me like something was wrong with IE’s implementation.

Just to mention…

IE has support for VIDEO & AUDIO elements at least 10 years (since IE 5) as part of XHTML+SMIL (former HTML+TIME) module.

Unfortunaly too few developers knows about that.

Opera and Mozilla sucks in this case. If they would have implemented VIDEO support as decribed here (http://www.w3.org/TR/NOTE-HTMLplusTIME), we would already have widespread VIDEO use.

@Szczepan You sound like a frustrated Internet Explorer user who is shocked by how bad your browser performs ๐Ÿ˜‰

Standards matter. Without standards the web wouldn’t work. How would the different browsers know how to render things?

People do care about who codes sites, no matter if they understand the mechanics behind or not. Generators like MS Office (eew) generates tons of unnecessary code that makes site load slow. People want sites to load fast, and look good. You can’t do that with MS Office.

And for one last note, IE is going down. Use it and you are aboard a sinking ship.

Blah, blah, blah… Everything is “not ready”. Standards sucks. It is stll not ready even if it is html 3.2, 4, 4.01 or Special IE XHTML 12 Nitro Edition. I hate websites of web designers. Everyone can make site (using greart features in top most applications – all over the world – like MS Office), even if it will works great only in top most world wide web browser: Internet Explorer. People do not care for tech-specs for webpages, just like do not take care to understand differences between “browser”, “search engine” and “Internet” – it is for about 75% of people: just “the same”(!!!).

Hey Alexis,

I just notice WCIU doesn’t mention Template Layout ! ๐Ÿ˜ฎ

Don’t you know that css module ? ๐Ÿ˜‰

David

Hi Alexis

You show Firefox as fully supporting MathML, which is incorrect. MathML has two parts, Presentation Markup and Content Markup. Firefox only supports the Presentation Markup part of the specification.
It does fully support the Presentation Markup tho.

Small note:

http://dev.w3.org/csswg/css3-images/ – I think CSS gradients have now been accepted by the W3C, but the accepted solution is the one proposed by Mozilla instead of the one by Webkit (which is the one you have listed). Therefore, Firefox 3.6+ supports the correct way to do gradients, while Safari/Google Chrome (?) has the “Partial/Incorrect” status, but support for the Mozilla solution is being worked on.

@Lars – I’ll look into it, but I’m not sure if the average web developer would be interested in overly specific SVG feature support.

@Magne – Thanks for the info, will update soon. And I apologize for not having updated the feed recently, forgot all about that after the latest changes. Glad to hear it’s being read though, I’ll update it too shortly with the changes I’d forgotten to mention.ย 

Also congrats for having posted the 666th comment on this blog. ๐Ÿ™‚

Comments are closed.