HTML5 shoot-out: How Chrome, Safari, Firefox, IE, and Opera measure up

Chrome and Opera lead in compliance with the latest Web features, but the differences among browsers may be smaller than they appear

1 2 Page 2
Page 2 of 2

Browser No. 1: Google Chrome

Chrome has the highest score on the HTML5Test -- 523 for Chrome 42-- and that says much about Google's commitment to driving the HTML5 spec and producing one of the leading browsers. There are only a few check boxes left for the programming team to mark and a few points for them to earn.

The omissions are scattered throughout the chart, and there's no easy way to summarize with a simple phrase. You'll find a missing markup element here and an unimplemented graphics method there. All in all, Chrome is a dream for anyone committed to a broad set of tools for building user interfaces. If you want to use all of the new markups or form elements, Chrome is your best choice. There are very few gaps in the list.

Some of the bigger omissions are under the hood. There are no hooks in the JavaScript engine that fire separate events when scripts start and stop executing. And there is no easy way to use scope to control how the CSS styles affect the page. Nor are there opportunities to use your code to register a function that processes all data of a particular MIME type or URL scheme, the so-called custom content handlers.

All three, incidentally, are ideas that were implemented in Firefox long ago. They haven't caught on with the team at Google.

Another area that might bring frustration is the support for codecs and media formats. MPEG-4, for instance, works with iOS browsers but not with Chrome. Both Apple and Microsoft support audio track selection, and Apple supports video track selection, but Chrome won't let you monkey around with these.

In all, Chrome is a great browser for anyone who wants to start using the extra features that are part of the new standard.

Browser No. 2: Opera

At this writing, Opera is currently in second place in the HTML5Test, but by only four points, with 519 for Opera 29. Like Chrome, Opera offers broad support for the new markup and form elements, so it’s as good a platform as Chrome for anyone who wants to experiment with them.

By the same token, Opera also skips custom content handlers, scoped style elements, and script execution events. But then, so does every other browser besides Firefox. 

The biggest differences lie in the codecs, where Opera fails to support the MPEG-4 and H.264 video formats. To complicate matters, it also lacks support for AAC and MP3, two audio formats that have been around for some time. Thus, getting your multimedia content to work with Opera can be a bit tricky. Opera is almost certainly hemmed in by patent licensing costs, and the company probably chose to ignore the heavy licensing costs. Opera certainly supports Ogg Vorbis, Ogg Theora, and WebM, which are good enough, if not directly compatible.

Along with Internet Explorer and Chrome, Opera is leading the way with “pointer events,” a generalization of the different input models. These aim to make it simpler to support mice, touchscreens, and styluses by offering the programmer a single, simpler event model that harmonizes them.

In all, Opera is an impressive browser that doesn't get as much attention as it should. It is rivaled only by Chrome in its broad support of modern Web features.

Browser No. 3: Mozilla Firefox

Numerically, Firefox looks like it's a bit behind the two leaders. It scores 449 on HTML5Test, for Firefox 37, but this fact is affected heavily by the weights that the test gives to the various features. Firefox loses many points on some areas where it lags and gains fewer points on the areas it leads.

Many of the points are lost, for instance, because Firefox doesn't implement many of the new input fields and interactive elements. If you want to simply add one form element to collect date or time values, Firefox won't help you. For these omissions, it loses 26 points, but it's not clear whether any programmer really suffers. There are already elaborate JavaScript libraries for accepting time data, and they've been designed to be cross-browser compatible. Many of them are also highly stylized and better-looking than the generic tools. Thus, many programmers choose these over the built-in support.

The scoring also doesn't reward Firefox for taking the lead. Events that fire when a script is about to execute are useful for juggling loads, but support for these script execution events gains Firefox only one point. Adding scope to the style sheets is useful for integrating several style sheets, but it’s worth only two points in the eyes of the HTML5Test creator.

Firefox no longer wins any points for implementing microdata markup, the extra tags that make it simpler to identify and flag some common data types in Web pages. Unloved by the W3C and all the other browsers, microdata is supported only in Firefox at this point.

In codecs, Firefox offers broad support, but avoids MPEG-4, putting it in the same camp as Chrome and Opera. It supports Ogg, WebM, and H.264, which are more than sufficient.

Are these differences important? It all depends upon how you weigh the features personally. If you like all of the new form elements and must have them, Firefox isn't for you and your project. But in many ways, Firefox offers the same level of compliance as the browsers with higher scores -- if you don't care about things like the new time input form fields.

Browser No. 4: Apple Safari

On the HTML5Test, Safari 8 earns 396 points on the HTML5Test, which makes it look further behind than it may be in practice. Like Firefox, Safari loses a great number of points by failing to implement all of the possible form and markup elements. There are no options to make an input field to collect time or color and no support for the standard menu elements.

Game developers, though, may be more put out. There's no support for tracking the orientation or motion of the device, or for gamepad control or the more general pointer events. If you're going to create items for Safari, it may be best to stick with traditional content and avoid elements that are too interactive. Leave those for the App Store.

In the world of codecs, Apple takes a different path than Chrome and Firefox. Safari will display MPEG-4 and H.264 video but reject WebM and Ogg Theora. The good news is that video and audio tracks can be controlled through JavaScript.

There are a handful of other places Safari falls short of the more complete feature sets in Chrome, Opera, and Firefox. Whereas these browsers support peer-to-peer communications via WebRTC, Apple offers no support yet, keeping company with Internet Explorer. Nor does Safari support service workers for background processing, custom scheme or content handlers, or custom search providers.

These omissions aren't debilitating by any means. Apple still offers broad support for the standard and delivers many of the most interesting features.

Browser No. 5: Microsoft Internet Explorer

Version 11 of Microsoft's once indomitable Internet Explorer has the lowest score on the HTML5Test -- a mere 348-- but this shouldn't be much of a surprise. The standards movement was always driven by the hope to encourage competition and dislodge Microsoft from its control of the Net. It's working the way that some people clearly hoped it would.

IE lost points throughout the chart and can't even muster enough to lead in one area. In fact, the only area where it beats any of the other major browsers is in Web applications, where its support for custom search providers narrowly edges Safari. The rest of the time it's bringing up the rear.

While it's certainly fair to use the lower score to judge Internet Explorer's devotion to implementing every last bit of the HTML5 standard, it's not a good indicator of how smoothly IE will run HTML5 code or perform on a day-to-day basis. A quick skim of the results shows that many of the points are lost for features that are new and far from essential. IE lost points, for instance, for not supporting CSS selectors like “in-range,” “out-of-range,” and “read-only.” It also lacks support for a number of new input fields for time.

There are dozens of places where IE is missing support for little features or additions but none of them seem like showstoppers to me. Sure, they'll annoy some programmer who wants to use them, but they won't stop the browser from working well enough.

There are a few bigger omissions. Microsoft avoids MPEG-4, Ogg, and WebM video, as well as PCM, Ogg, and WebM audio. That leaves MP3 audio, H.264 video, and Flash video as the only supported standards that stretch across the Web. IE does, however, allow JavaScript to control the audio tracks.

It's worth noting that Microsoft clearly understands the value of standards compliance, and it's making rapid gains. While the Internet Explorer version number odometer doesn't spin as quickly as the other browsers, it was only a short time ago that IE9 eked out a mere 113 points. And the pace seems to be quickening with Project Spartan, the new Web browser that comes with the Windows 10 preview.

The latest version of Spartan (which arrived in Windows build 10061) earns 390 on the HTML5Test, well ahead of IE 11 and just shy of Safari. The biggest improvements over IE -- support for device orientation, device motion, gamepad control, Web audio, DRM, media extensions, and responsive image display -- would seem to indicate that gaming, entertainment, and mobile devices are at the top of Microsoft’s priority list.

The HTML5Test is a very precise metric, but it’s important to remember that it’s built to assess whether the browsers implement the newest and most experimental features accepted by the HTML5 committees. It doesn’t give out points for doing a good job of laying out tables or rendering pages quickly. It’s a big checklist of features, not a measure of browser quality.

The results also provide a good indication of the corporate priorities. Chrome, not surprisingly, offers great support for the kind of full-featured, applicationlike websites that Google delivers. This also makes it simpler to provide more features on Google's hardware platform, the Chromebook. The company gains little from the part of the stack called an “operating system,” so it’s not surprising that it wants the part known as the “browser” to be more capable.

Apple, for its part, doesn't seem as interested in supporting gamelike behavior in the browser, perhaps because it makes so much money from the App Store and doesn't want to undermine it.

Many of the features where the browsers are at odds don't matter as much to developers. If you're building a Web application with plenty of DOM elements that generate AJAX calls and react to the server’s response, well, all of the browsers do a good job of supporting this. They all offer the same core features, and it doesn't matter much whether they implement the latest form element.

In this sense, the HTML5Test score speaks more about the future than the present. While the HTML 5.0 standard is now fixed and the committee has turned its attention to the next set of ideas, the browser makers need to finish implementing the standard. As they do, more and more of the Web developers will see that the new features are available and ready for use. Only then will the users start to see the advantages.

The good news is that the browser makers are converging quickly and many of the features have been embraced widely enough for Web developers to start using them. The committee has done its work. Now it's our turn.

Copyright © 2015 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2