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. I decided to focus on Chrome (my preferred browser), Internet Explorer, Firefox, and Safari. I’ve yet to meet anyone who uses Opera but if any of my readers want to chime in on that browser be my guest. 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 Referece. 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 thats 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 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.
Finally we come to Chrome’s documentation: HTMLElements. Not surprisingly it’s the Linux of docs – simple and direct without much flair. Not that there’s anything wrong in that – but it’s kinda not a surprise. However I really like the grid on the main page that details where certain tags are supported. A lot of times you don’t care about the syntax of a tag and just want to see if it is in your supported version of the browser. Interestingly enough they also document other browsers. Check out the B reference. This is nice – but I’m not sure I’d trust it. They refer to Safari version 3 as the latest which is a whole 2 versions behind. I’m also a bit disappointed by the amount of information. Clicking on the video reference shows no examples. Now it may be overkill for something like the b tag, but all the other guides took the time to write even the simplest example.