You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

DOM > Contribute > Documentation

Write documentation about the DOM

Fabian Guisset <>

Documentation about the Mozilla implementation of the DOM

What we currently have

Commiting documentation about the DOM code will help other hackers understand faster how it all works. That also means they will be able to fix bugs and write code more quickly and efficiently. The following code elements should be documented :

  • Tear-off's. Why. How.
  • Event handling. See bug 238773 for the latest changes.
  • Script Global Object. This the glue between JavaScript and the DOM (along with XPConnect). Begin in nsIScriptGlobalObject.h
  • Attributes. See bug 195350 for the latest changes.
  • XUL DOM implementation. Some of it is implemented using XBL, some is shared with XML/HTML, but some is specfic to XUL.
  • Range and selection code. Begin in nsRange.h.

Documentation about the Mozilla DOM

Mozilla implements the W3C DOM, and tries to be backwards-compatible with Internet Explorer and/or Netscape 4 whenever possible. We currently have the Gecko DOM Reference which does a fair job describing the Mozilla DOM. However it is currently in a poor state and will likely be changed entirely in the future. Once it is in place (probably as a part of DevMo (, feel free to contribute to it! Web developer documentation about the Mozilla should be entirely in there, including examples and technotes.

How to send your documentation

Fabian Guisset <> is currently the official maintainer for the DOM documentation website on All questions, help, contributions, feedback, etc, should be directed to him.
There is no formal way of getting your documentation on this site. Just send me the stuff with a few comments about who/why/how/when, I'll review it, and push it on the site if it fits.