There are multiple competing browser implementations, usually focused around the rendering engines which take CSS and DOM as inputs to position allow interaction with content. The most notable engines are Webkit (used for Safari, Chrome, and many mobile devices), Mozilla (Firefox, among many Linux alternative browsers), Opera, and Trident (Internet Explorer and MS post-IE browers). There are many more engines out there, however these have the highest market penetration.
The standards are large with many fine details and are continuly evolving. As with any decently complex standard, there are points open to interpretation, if the rendering engine chooses to honor the standard at all. Since 2010 many browsers have began to converage on the HTML5 features and associate standard such as CSS3 and ECMAscript 5, however there are still many gaps. Large compability matricies including legacy browsers and versions where the implementers chose to deivate from the standard quickly becomes costly. My personal expierence has shown supporting legacy versions of Internet Explorer (prior to 10) can consume as much as 1/3 of the development of an application. This has resulted in a movement among progressive web development groups to only support the most recent two versions of a browser releases within thier compatability matricies.
Alternatives to HTML resources in the browser
Through out hte long history of browsers several other alternatives have surfaced, however no such alternative have received such fan fair as HTML. There are several factors for competing interface descriptions to have failed, including lack of browser support, developer buy-in, and tooling. Several such technologies include VRML (Virtual Reality Markup Language) and XML using XSLT or CSS for visual description of the elements.
- Polymer - A WebComponent base library and polyfill for building custom web page components.
- WebGL - OpenGL ES 2.0 adaption for the browser.