Mozilla Goes Its Own Way On Web Components
Written by Ian Elliot   
Thursday, 18 December 2014

Mozilla has decided not to stick strictly to standards in implementing Web Components. When you look a little more carefully at what is going on it seems to be inevitable that it has to break out of the standards. 



Mozilla has had to push the envelope to get things like Firefox OS working. When its main objective was to simply create a browser there was no real reason for it to move outside of industry standards but as soon as it started to implement Firefox OS there were a lot of things that needed to be done that weren't the subject of standards. As a result Mozilla has had to invent new ways of doing things that go well beyond standards but often in the hope that its work will result in a standard. Of course the problem with this hope is that there are other people in the standards game and they aren't always sympathetic to Mozilla's chosen way. In fact in some instances there are good underlying commercial reasons to prefer alternative standards.

One of the most important technologies being developed at the moment is Web Components. This is based on a set of standards - HTML imports, custom elements and the shadow DOM. Mozilla has been at the forefront of Web Components with libraries such as Brick and in the Firefox OS UI Gaia. Unfortunately as a recent post on the Mozilla blog admits:

"Unfortunately, our feedback into the standards process has not always resulted in the changes required for us to ship Web Components. Therefore we decided to reevaluate our stance with members of the developer community."

Which roughly translates to "the standards are going where we need them to and so we probably have to ignore them - is that ok with you?"

In real terms what this amounts to is:

  • Mozilla will not ship an implementation of HTML Imports. 
  • Mozilla will ship an implementation of custom elements but with some extensions. 
  • Mozilla will ship an implementation of shadow DOM but with some extensions.

It also says that Mozilla will work with standards bodies to incorporate the way that Mozilla implements things into the standard.

The argument is that HTML Imports is easy to implement with a polyfil - but if this is the case why not implement it as it must be easy to do. Without HTML imports it is not so easy to package and distribute a web components.  Mozilla cites the uncertainty created by the new ES6 modules and the need to work out how this interacts with HTML Imports. 

Does any of this matter?

Not if you restrict yourself to Firefox OS where essentially Mozilla is creating a little micro-world all of its own. It would be nice if Firefox OS apps were just web apps but given the additional hardware available to apps running under Firefox OS this has never really been a practical proposition.

When it comes to the wider issue of the Firefox browser then yes it matters. Web components have the potential to make HTML/JavaScript a much more capable programming environment. We will all want to incorporate lots of web components into our apps and even standard web pages and when this happens module management becomes important.

It is possible to understand the needs that Mozilla has with Firefox OS driving the need for more facilities in HTML/Javascript and its dismay at the speed and direction that standards bodies move in. It is another thing to actually go it alone even if it is only picking and choosing what standards to implement. 


More Information

Mozilla and Web Components: Update

Related Articles

A New Future For Mozilla       

Firefox Losing Share As Desktop Browser       

Web Components With X-Tag

Brick - Mozilla Does UI Web Components       


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.



.NET 5 Ready For Action

The release of .NET 5, announced at .NET Conf 2020, is a historic moment, but one tinged with regret and anxiety. This release unifies .NET to just one on-going framework. What this holds for the futu [ ... ]

Your Next Robot Maybe A Collection Of Balls

This is fun. Take a steel ball and place a small two-wheel drive mechanism which sticks to the inside of the ball with the help of a magnet. Now make a few of them and you have a reconfigurable swarm. [ ... ]

More News






or email your comment to:

Last Updated ( Thursday, 18 December 2014 )