Browser DOM Event Handling

It is in the commercial/success measurement (e.g. gaining market share) interest of browser developers such as Microsoft, Google, Mozilla, Opera and Safari and others for their browsers to be able to understand all code parsed on all web sites and balance this requirement with their own objective; to become the most popular browser. These goals are somewhat at odds as by changing their event handling, it is possible to allow more advanced web site features, which web site publishers will find useful and their audiences will benefit from, if they are using the right browser. Event handling is a complex operation at advanced levels and one line of unsupported code can have disastrous results when viewing in one browser or another.

Quirksmode (2010) cover just one example of such serious browser incompatibility when handling checkboxes and radio buttons with Internet Explorer (all other tested browser do not show this error) “IE fires the event when the checkbox or radio is blurred, and not when it is activated. This is a serious bug that requires the user to take another action and prevents a consistent cross-browser interface”. Any such difference between browsers can send users away from sites and not necessarily to another browser.

To avoid these disastrous results, web developers often avoid contentious code, unless there is a very specific reason to use it (e.g. internal company web-based system that only runs on IE6+ and this can be enforced) and rely on an accepted standard. The main issue with event handling is that there is currently no single accepted standard that is fully supported (and goes no further) in any particular browser’s requirements and this is becoming more complex as web sites are not only required to be cross-browser compatible but also on different platforms (e.g. mobile browsers). The W3C has taken responsibility for standardisation and it attempting to incorporate what has happened in the past into the third version of the standard in the hope of widespread adoption however, as we have seen over many years, despite Microsoft stating that they are moving towards the new W3C standard, we are unlikely to see complete compatibility and less rich use of DOM event handling as a result as web developers opt for cross browser compatibility over non-standard features.

References

Deitel, P. & H. (2010) Internet & World Wide Web: How To Program (4th Edition). Pearson Prentice Hall.

Quirksmode (2010) Events – Change [Online]. Available at http://www.quirksmode.org/dom/events/change.html (Accessed 12 September 2010).

W3C Recommendations (2000) Document Object Model Events [Online]. Available at http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html (Accessed 12 September 2010).