When I first became involved with The Web Standards Project I was, like most of my peers, either building two completely different sites to support the version 4 behemoths – Internet Explorer and Netscape, or making a decision as to which browser people should use to view the site.
Internet Explorer 6, despite all of the well known issues, was a breath of fresh air. We could use a lot of CSS2, we could lay out our pages using CSS, and many people decided that Internet Explorer was the browser they were going to support. This led to a raft of “only works in Internet Explorer” sites and applications, the reason why we are still stuck with IE6 today.
Ten years later. In many ways we are in the place that we wanted to be, when we were campaigning for web standards adoption by developers and browser manufacturers. Our browsers do support W3C specifications. We don’t have rafts of crazy bugs in standard features or vendor specific implementations of those features that vary wildly. I can build a complex layout and load it up in Internet Explorer 9, the latest Firefox, Opera, Safari and Chrome and it all look pretty much the same. This is what we were asking for.
It could not be said however, that all browsers are equal in 2012. Some have moved more quickly to implement parts of the CSS3 specification even when they are just at Working Draft status. Browsers have implemented these new features using Vendor Prefixes, enabling them to implement a feature that might change as it goes through the W3C process. Vendor Prefixes to some extent have helped to prevent the situation arising again where we have a standard feature implemented in different ways by different browsers. Thinking back over our history I believe that to be a good thing.
Whether you like Vendor Prefixes or not, we have a problem. Due to the rise in mobile browser usage, and many of those mobile browsers being based on WebKit, many developers have decided to essentially only use the -webkit- prefix, even for properties that have been implemented by other browsers. Today Daniel Glazman, W3C CSS Working Group Co-chairman, wrote a blog post, Call for action: the open web needs you now!. He, and the W3C CSS Working Group is concerned that if this continues, other browser manufacturers will simply start implementing the -webkit prefix.
This approach seems very likely. If other browser manufacturers have implemented these features under their own prefix, yet web developers do not use those prefixes, then it makes their browsers look less capable than those based on WebKit. By simply implementing the -webkit prefix sites will look better in these browsers.
If this happens then we end up with a web once again controlled by one browser manufacturer. Once again we run the risk of having sites built only for one platform, and finding it very hard to get that platform to go away if things move on. Please read the above post. Please think about it every time you have to ensure your site works well in a browser that is over ten years old. Please do your bit to prevent -webkit becoming a de facto standard and hurting the Open Web.
How can you help?
- Read the original post – Call for action: the open web needs you now!
- If you have sites that test for WebKit browsers or only implement -webkit prefixes please take some time and update any -webkit-only property to use the other vendor-specific prefixes and non-prefixed versions.
- Sign this petition & pledge telling browser makers not to implement the
-webkit-*vendor prefix and promising to update the sites under your control.
- Remove -webkit-only testing from repositories on GitHub – Pre-fix the web!
More commentary on the issue
- #1 On February 9th, 2012 12:56 pm