Microsoft has announced some changes due in Internet Explorer 10 that promise to improve its HTML5 parsing with respect to other browsers, but the removal of certain features is causing a stir in the web development community.
In a post to the IEBlog, Internet Explorer lead Tony Ross detailed some of the changes that are due in version 10, which will underpin the Windows 8 operating system across both ARM and x86 platforms.
"The Web is better when developers can use the same markup and same code across different browsers with the same results," explains Ross. While that's a laudable aim, it's a sentiment that may come as a surprise to many developers when Internet Explorer's track record with the implementation of standards is taken into account. "The second platform preview of IE10 makes progress in this area," Ross continues, "by fully supporting the HTML5 parsing algorithm."
That full support means that HTML5 content should operate the same in Internet Explorer 10 as it does in other browsers such as Firefox and Safari. That's undeniably good news, but comes at a cost: IE10 is set to remove support for conditional comments and XML data islands, as well as changing the behaviour of certain elements.
Conditional comments are traditionally used to change the display to accommodate different browsers. Taking the form of an 'if IE' tag, the comment is ignored by all but the targeted browser and usually contains custom CSS code to work around bugs in the rendering engine of earlier IE versions. While they will operate as expected in legacy mode, IE10's native mode will ignore them altogether.
It's a gutsy move on Microsoft's part, and one that the web development community should be expecting: conditional comments have been deprecated for a while in favour of feature detection, but there are plenty of coders that have yet to make the shift required.
We canvassed the opinion of several web developers to gauge the reaction to Microsoft's announcement. "Removing conditional comments for IE 10 alone isn't going to improve the standards of the browser," claimed iOS developer and PHP coder Zack Brown. "We should know this by now. My sanity is likely to break."
Others were more optimistic. "Conditionals ought to die in a hole," spat web dev Stuart Sharpe. "Anything which brings IE closer to standards is undeniably good. In theory it shouldn't break anything: devs are supposed to use feature detection instead of browser sniffing. They're removing them because parsing them is incompatible with strict HTML5 parsing - conditionals are non-standard."
James Luff was equally hopeful, but warned that the IE team will need to make sure the rest of the code is up to scratch. "Hopefully this will see an end to conditional statements and constantly checking to see if browsers support features, but removing the ability to load CSS for a specific browser could cause more problems if it's not 100 per cent compliant."
Providing IE10's implementation of Cascading Style Sheets is on a par with other browsers, the removal of conditional comments shouldn't pose a problem. Should IE10 repeat the sins of its predecessors, however, developers could find themselves having to find a new work-around for the problem.