Dajbych.net


Does Internet Explorer support HTML5 enough?

, 7 minutes to read

html5 logo

I often hear the opinion that Internet Explorer does not support HTML5 technologies as much as other browsers. When I think that technology is a production process and I think that we are talking about standards, I still cannot shake off the impression that the opposite is true. The level of support certainly cannot be expressed in one number. And if so, it is necessary to think about what such a number reveals. HTML5 is a huge spec with many all-around useful and many one-sided benefits.

What the tests say

When I visit html5test.com I find out that someone is trying to tell me that IE on my computer does not support JPEG XR. This is a very surprising finding, given that I work with this format most often and I have never noticed this minor flaw, not to mention that I have never noticed that JPEG XR is part of the HTML5 specification. Although who today knows what changes have taken place in the 6 years that HTML5 has been under the wings of the W3C.

I was also intrigued that IE 11 allegedly does not support IndexedDB and Web Cryptography API. IndexDB has had IE since September 2012 and Web Cryptography API since October 2013. Therefore, if any testing has problems with measurement, the comparison based on them is only indicative, if it is possible to talk about any informative value at all. For example, gamepad support is just as important as Pointer Events support, according to the test. While the gamepad is only useful for the Xbox One, every modern device today has a touch screen.

Similar, although far worse, was the earlier situation with the Acid test. It was focused mainly on browser bugs. Its score expressed the number of successful tests. There’s nothing wrong with that, as long as you don't start comparing browsers on this measurement. The bugs investigated are not evenly distributed among browsers, despite the fact that some browser bugs are intentional. For example, Internet Explorer didn't support SVG fonts and focused on WOFF instead. It was similar with SMIL animation in SVG, which gave way to CSS3 animation. Over time, it turned out that no one was using it. After some time, the SVG working group recognized this fact and changed support for these two causes to voluntary. Ian Hickson then modified the test and, lo and behold, Internet Explorer 9 also passed all the tests.

What does specification mean

HTML5 can't be fully supported yet. It is a specification that changes and that is subject to the commercial interests of the companies involved in its creation. The manufacturer implements an incomplete specification, which gives him experience from the implementation and thus a stronger attitude to enforce his interests. Specifications change over time. Google was able to make changes with WebSocket so quickly that instead of specifying, it was more of a nightly build documentation. Tests should reflect these changes, but this is often not the case. They often test an outdated or too futuristic version of the specification.

Today, HTML5 is flaunted by everyone, but the use of CSS animation instead of jQuery is still only seen at WebExpo. The fact that 153 of the 500 companies with the largest turnover in the country across the Atlantic support HTML5 is just gibberish. A web developer’s support for HTML5 is something they can't avoid, even if they wanted to. Browsers also adjust their quirks rendering modes according to the HTML5 specification. It is true about all the most used browsers today that HTML5 browsers, even according to an unfinished specification, simply exist, because they do not have (except for Internet Explorer, where the situation is more complicated) a rendering mode stagnated in the Stone Age.

What do development cycles bring?

On the other hand, the graph that shows the course of the measurement results over the past years really caught my attention. It shows something that I also wanted to illustrate for one of my lectures. Since some browsers have caught certain Linux tendencies and release new versions every now and then, they look optically better than their competitors most of the time. However, it is more important to know on which devices each version is available when. It is not uncommon to encounter a strange business decision to make a special version of the website for the iPad, which has a smaller market share than Internet Explorer 8, instead of emphasizing compatibility with older browsers.

You might think that Microsoft also wants to keep up with fast-release times as it shortens its development cycles. But it has nothing to do with it. The main interest is economic. Having a different development cycle for each software product comes at a high cost to maintain compatibility between them. When Microsoft releases a new version of Windows and Internet Explorer at the same time, it saves the cost of having to modify the old Windows to run the new Internet Explorer. And it’s not just about the operating system and browser, but also about Visual Studio and other software giants. A developer who previously worked on running a new browser on an old system can now work on supporting a new specification in a new version of the browser.

What will be facilitated by backward compatibility

Support for new important features for all supported versions has always been present through Windows Update. Every month, I keep track of what’s included in updates for Internet Explorer. Of course, this is primarily about strengthening security, which in most cases means increasing the resistance of compilers to error inputs. However, they often also contain fixes for erroneous rendering, i.e. an increase in the quality of the implementation of a standard. True, there will never be support for a new level of CSS, for example, because there is nothing to add.

Internet Explorer developers try to support the specifications either as much as possible or not at all. No intermediate stages issued every few weeks. From partial or experimental support, we have preview versions that will only be released when there is a good reason for it. Journalists have nothing to write about, advertising has nothing to lure about, developers have nothing to research. However, it has an undeniable advantage in that if IE supports something, you can rely on it working as it should. Or more precisely, as it should have been at the time when the implementation was created. It may change at some point. Implementing the standard too early risks losing backward compatibility in the future. Its use obliges the developer to constantly monitor his website to see if the necessary features that were previously supported only by his favorite browser still work as they did in the previous version.

What is actually needed

Take a look at the standards you really need and let me know which IE doesn't have. Microsoft has a lot of experience with what components the vast majority of application user interfaces consist of. They are in Visual Studio in the Toolbox panel. The only thing missing is some HTML5 equivalent in Calendar, RichTextBox and Slider. Let me remind you that Grid is already part of CSS3 thanks to Microsoft and has been supported by IE since version 10. We have DirectX available on the web, it’s just remapped to WebGL. After all, HTML5 applications can be decently integrated into the operating system from Windows 7 and from Windows 8. Did you know that in the past, HTML5 included a narrower set of specifications around HTML itself, and that with other areas such as CSS3, Connectivity, Offline & Storage, or 3D, Graphics & Effects, it was called Web Applications? It was not until later that the term HTML5 became so popular that it replaced Web Applications. And my question is: will Chrome OS, Firefox OS, or OS X allow me to integrate a web application into the operating system to the extent that Windows currently allows me to?