How to find information in specifications

This page is not complete.

When writing technical documentation about Web technologies, one thing you'll find yourself doing regularly is reading specifications. There are hundreds of them describing technologies for the Web, written by a great many different people and organizations. Being able to make sense of them is important, and this article will attempt to help you do just that. Be aware that there are many sites that create help documents that interpret the standards (correctly or incorrectly), but there should be a single canonical specification that should be referred to when writing documentation.

This article will help you find and understand the specifications that describe Web technologies, so that you can write better documentation.

Finding specifications

The primary organization responsible for the World Wide Web standards is the World Wide Web Consortium or W3C for short. The list of standards and drafts through the W3C can be found on the website. This is a useful starting place for researching the accepted specifications for various web technologies. Take into account when accessing the standards that they can be a work in progress and have changing details according to their level of maturation. These maturity levels for the W3C are officially defined as Working Draft, Candidate Recommendation, Proposed Recommendation, and W3C Recommendation. The more solid a specification, the further down the former list it will be. As the specifications develop, browsers will typically have more solid support for the feature-sets. However, specific browsers do not always adhere to the specifications as they are laid out, and can have different levels of support.

Another organization, called WHATWG, produces specifications for certain advanced technologies.  As a rule, when WHATWG and W3C both publish a spec for the same technology, MDN treats the WHATWG spec as canonical.

There can be other specification groups online to be aware of. For instance WebGL is being developed and maintained by the Khronos Group.

<<how do you know when a spec is "done enough" to start writing about? are there other spec groups to add?>>

Making sense of WebIDL

See information contained in a WebIDL file.


Just a few notes to integrate into the content of this section as it's written.

  • If there's no [NoInterfaceObject] in the interface's IDL, there exists a property on the Window object, such as window.Node; if the interface has a constructor, that constructor can be called, such as Window.URL.