CSS Selectors: Opera and Safari pass the test!
Monday, 11 February 2008
Back in 2006 support for many of the more advanced selectors were still very limited. Most browsers did not support the new selectors introduced by CSS level 3 at all and even support for the selectors from level 2 were plagued with bugs. Two browsers stood out: Konqueror in a positive way and Internet Explorer at the other end of the spectrum. Konqueror was the only one that came close to passing the test and eventually became the first to pass it completely. Internet Explorer was exposed as the only browser failing even one of the most basic level 1 selector: the class selector.
It’s now almost two years later and while we still have only one browser that officially passes the CSS selector test, things are going to change very soon.
Opera
Opera has been working hard on improving CSS selector compatibility and has announced that the upcoming release of Opera 9.5 is going to pass the test. You can download the beta version yourself to try it out.
Safari and Webkit
Opera and Konqueror will soon be joined by Safari because the latest revisions of the WebKit engine it uses, also passes the complete test. You can try it out for yourself by downloading a nightly build. This is quite a big deal, because the Webkit engine has become quite popular lately and is used as the HTML engine inside Adobe AIR, Google Andriod, Qt and of course it powers the iPhone.
Firefox
Firefox performed the second best in the original selector test, but has fallen behind. While some bugs were fixed it doesn’t look like the upcoming Firefox 3 is going to pass the selector test.
Internet Explorer
That leaves us with Internet Explorer. Internet Explorer 7 improved support somewhat, but it was not nearly enough to come close to any of the other browsers. What Internet Explorer 8 is going to do is still a big question. The IE team has certainly been working hard on improving their standards support but it is still unknown which standards they chose and to what level they are going to support those standards. Not without controversy they announced that they will pass the Acid 2 test but that’s all we’ve heard so far. Without a doubt they will have improved their selector support, but whether it is enough to pass the test… only time will tell (Unless you work on the IE team and have some inside information you’d like to share).
Below the updated table:
Browser | Version | Supported | Buggy | Unsupported | Passed |
---|---|---|---|---|---|
Internet Explorer | 6 | 10 | 1 | 32 | 276 |
Internet Explorer | 7 | 13 | 4 | 26 | 330 |
Opera | 8.5.4 | 18 | 3 | 22 | 317 |
Safari | 2.0.4 | 21 | 7 | 15 | 336 |
Firefox | 1.0.8 | 24 | 9 | 10 | 352 |
Opera | 9.0.2 | 25 | 3 | 15 | 346 |
Safari | 3.04 | 25 | 9 | 9 | 346 |
Firefox | 1.5.0.7 | 26 | 10 | 7 | 357 |
Firefox | 2.0.0.12 | 26 | 10 | 7 | 357 |
Firefox | 3 beta 2 | 32 | 4 | 7 | 369 |
Konqueror | 3.5.4 | 37 | 6 | 0 | 570 |
Safari | r30118 | 43 | 0 | 0 | 578 |
Opera | 9.5 beta 1 | 43 | 0 | 0 | 578 |
Konqueror | 3.5.6 | 43 | 0 | 0 | 578 |
Acid 3
One interesting development is that the upcoming Acid 3 test includes a large number testcases that overlap our own CSS selector test. Acid 3 tests the support for many of the CSS level 2 and 3 selectors, but also for some very specific bugs in CSS selector implementations. It looks like it will be very hard to fail the CSS selector test if you pass the Acid 3 test. This is very good news for CSS selector support and is already responsible for the increased attention at Apple for making the WebKit engine pass.
Webkit passes the CSS Selector Test: As of last week Webkit passes the CSS Selector Test joining Konqueror and Opera as the third browser to provide a stable and complete CSS selector implementation. You can download a nightly build for yourself to try it out. Congratulations to the Webkit team at Apple! More information about the current state of CSS Selector support can be found on in the article CSS Selectors: Opera and Safari …