Biz & IT —

Microsoft continues HTML5 push with “modern.ie” compatibility initiative

New site detects compatibility problems and deviation from best practices.

For some months now, Microsoft has been promoting the use of standard HTML5 that avoids targeting specific browsers—particularly WebKit-based browsers like Chrome and Safari—and instead works well in any browser, including its own. The company today launched a new site, modern.ie, to further promote this agenda and provide tools to help Web developers.

The site has three main components to it. The first is a scanner that examines sites and detects a laundry list of compatibility concerns. These cover a range of issues, from using out-of-date versions of popular JavaScript libraries such as jQuery to using browser-specific CSS without also including standard cross-browser fallbacks.

One slight peculiarity of this system is that if the scanner detects certain compatibility issues, rather than reporting them directly it requests that you get in touch with Microsoft engineers after demonstrating that it's your site, apparently for "security and privacy reasons."

The second component is a tie-in with a company called BrowserStack. BrowserStack offers a service that lets you view your site in different browsers running on virtual machines hosted in the cloud. It's a commercial service, but through modern.ie developers can sign up for a three-month free trial.

If you'd rather do your cross-browser testing in-house, Microsoft is providing a bunch of virtual machines for various virtualization platforms (Hyper-V today, VMware, Parallels, and VirtualBox coming soon), each containing Windows and Internet Explorer, with VMs for Internet Explorer 6, 7, 8, 9, and 10 all available.

Third, the site is providing guidelines on coding best practices.

Underscoring all this is Microsoft's continued push to get Web developers to start thinking about Internet Explorer 10, while at the same time not giving Internet Explorer 10 special treatment. That's not a contradiction; Microsoft wants developers to stop doing things like detecting specific browsers and instead detect the presence of specific features.

Internet Explorer 10 has better standards compliance than any of its predecessors, but sites doing browser detection will ignore its new features and capabilities, because they'll implicitly assume that Internet Explorer 10 offers the same functionality as version 9 or older. With feature detection, sites will automatically take advantage of newly supported features, whatever browser is being used.

modern.ie's library information.
Enlarge / modern.ie's library information.

This also explains the focus on JavaScript library versions and CSS properties. Older versions of jQuery, for example, have bugs that affect Internet Explorer. Newer versions fix those bugs. The very latest version of jQuery, jQuery 2.0, in fact contains fewer workarounds for Internet Explorer issues than any other browser.

When it comes to CSS, many sites use WebKit-specific properties, prefixed with -webkit. Many of those properties have equivalents that work in Firefox (with a -moz prefix), Opera (with -o), and Internet Explorer (with -ms); many more are available as standard CSS without any prefix at all. Encouraging developers to use more than just -webkit means that their pages will offer more features in more browsers.

modern.ie's guidance on the use of prefixed CSS.
Enlarge / modern.ie's guidance on the use of prefixed CSS.

As with the rest of Microsoft's HTML5 standards advocacy, modern.ie may be a little self-serving—Internet Explorer happens to be particularly hard-hit by bad browser detection, for example, and some of modern.ie's advice is tailored specifically to improving Internet Explorer compatibility—but the best practices that Microsoft is espousing are genuine. The guidance Redmond is providing is useful and its advice is legitimate. Whether developers take notice remains to be seen.

Channel Ars Technica