Last week I’ve done the DOM Core tests in new browsers: IE8 final (in both IE8 and IE7 mode), Firefox 3.5b4, Safari 4.0, Chrome 1 and 2, and Opera 10a. I found no surprises.
After that I decided to continue with mobile browsers, of which I have 15 lying around on my desk. Unfortunately I could not test IE Mobile (old) because it supports only inline event handlers, Skyfire because it does not allow you to remove alerts, and the Opera runtime in the Vodafone widget manager for terrifyingly complicated reasons I still have to describe properly.
Still I managed to test the other twelve and found a few surprises.
querySelectorAll(), which have hit the mainstream only in the past year or so.
attributes[key]is not supported, and the
contains()has a bug: the browser always returns
true. On desktop these bugs were solved in Safari 2 or 3, if I recall correctly. This proves S60 WebKit is behind all other WebKits, but we already knew that.
nodeValueof comments: Opera 8, Blackberry and the S60 WebKit on the Samsung i560 return
//instead of the comment’s text content.
removeAttribute(), as well as its IE-like take on
getElementsByName()also occur on all tested mobile versions.
All in all these bugs are not very important. Nobody ever uses
nodeValue of comments, while we remove event handlers by specialised event
methods and have learned to work around the empty text node issue. Only the S60 WebKit bugs are
annoying, and even they can be worked around.
Still, these bugs have their use as marker bugs; that is, as bugs that show how well (or badly) a certain browser is progressing, and that allows us to estimate its relation to other browsers.
I was saddened by the differences between S60 WebKit on the Samsung on the one hand, and those on the Nokia on the other. Until now I dared to assume that there’s only one S60 WebKit, but it turns out there are differences between Nokia and Samsung after all.
Fortunately Nokia remains by far the most important vendor of S60 devices, so I assume web developers are going to ignore the Samsung S60 WebKit’s differences. In the end, they will remain Samsung’s problem, not web developers’.
What puzzles me is the fact that two totally unrelated bugs occur in Opera 8, S60 WebKit Samsung,
and Blackberry. What’s the common denominator of these browsers? What’s the common
denominator of empty text nodes and a faulty comment
nodeValue? I have no idea.
The chances of exactly these two (apparently unrelated) bugs occurring in the same three browsers (that do not share a code base) are small enough to wonder and worry.
I have no solutions, only more questions.
Still, we can now take as a given that the DOM Core support of all mobile browsers, including Blackberry and NetFront, is decent. Their problems are mostly located in performance: there Blackberry and NetFront have to take a back seat to Opera and all WebKits.
More research is clearly necessary.
I’ll be around at the following conferences:
Comments are closed.