A year ago I posted a blog entry detailing my search to find documentation on what HTML (and related web specs) are supported in browsers. There are plenty of good HTML resources out there, but I had not ever looked at what the browser makers themselves came up with in terms of documentation. I’ve updated the text of that blog entry and posted it below. Most likely I’ll post another update in 2013 as well. Enjoy - and as always - comments and suggestions for improvement are welcome. It seems like a simple enough question, right? If you are developing a web site and want to know the specifics of language support for a particular HTML tag, there should be a way to find out exactly what your browser supports. A few days ago I was thinking about this (at around 5AM actually - no idea why I was up that early) and decided to actually test this theory and see how easy this was in practice. This is especially important with the rise of HTML5. (It’s got a logo now so we can start using it.) I’ve read numerous blog posts about sexy cool new HTML5 features and they typically do an ok job of saying what’s supported where, but I figured that I should be able to bookmark a nice reference and always be able to quickly check an “official” guide for the final word. To be clear - I know there are other web sites out there offering HTML reference information. But I feel that the browser makers should be stepping up to the plate to make it easier for their developers.
I began with a few simple Google searches. Something like “firefox html reference” or “chrome supported html guide.” This is where I ran into my first big surprise. I rather quickly found documentation for Firefox, IE, and Safari. But I was unable to find a result for Google Chrome. Maybe it was just how I searched, but I just couldn’t find anything. Google has a Chrome Webmasters forum, but my post asking about their support reference has so far gone unanswered. I did eventually find their reference, but for me it was very non-obvious.
The first guide I found was for Firefox: HTML Element Reference. I began by checking the docs for something as simple as the b tag. Mozilla’s guide does a nice job explaining how it’s different from strong. It also has a nice format that’s easy to read and understand. I then looked for the layer tag. Surprisingly it wasn’t there. I knew it was deprecated, and their guide mentions other deprecated tags, but layer was absent. I suppose it’s not only deprecated now but removed. (Good.) I then checked the canvas tag. The guide not only flags it as HTML5 but also says when it was introduced. I had no idea it was in Firefox 1.5. That was like a billion years ago. But that type of information is great.
No surprise that Apple has a nicely designed site for their reference: Safari HTML Reference. I repeated my tests for Firefox. The guide for “b” did not go into detail about how it compares to strong, but I noticed that their availability section covers both the desktop as well as the mobile browser. That’s a huge +1 for them. Obviously it isn’t fair to say that Firefox is missing that - but I’m just happy Apple went to the trouble of documenting this for their mobile browser. Surprisingly Safari did have docs for layer. They don’t consider it deprecated but do recommend using an iframe instead.
For those of you who have to worry about IE (I’m so sorry), you will find the reference on MSDN: HTML and DHTML Reference. I was a bit surprised to see “DHTML” in the title as I thought that was old school. Oddly they also refer to HTML tags as “Objects”. Clicking on the reference for b gives an extreme amount of information right away. They explicitly list all the attributes to the point where it’s almost too much information. But I suppose it’s better to err on the side of giving you enough documentation to get your job done. I was surprised to see Marquee still documented, but at least Microsoft admits to it being an extension and non-standard. For the video tag Microsoft uses an IE9 logo on top, but to me, that isn’t quite clear enough. It’s something that a non-careful reader could glance over if not paying attention. That being said, the doc makes it clear it’s in draft status which is nice.
Previously I pointed people to a wiki that documented Chrome and its HTML support. That wiki is no longer available (or no longer available at that URL). I raised the question on HTML5 Rocks and Googler Eric Bidelman pointed out that MDN also details Chrome support as well. This is not 100% up to date, but the goal is to get it there. To me, that’s great news as MDN is an incredibly good resource anyway.
Also - check out ChromeStatus.com, a quick ‘readme’ style guide to the current status of various bleeding edge APIs like CSS3 Regions and the GamePad API.