MDN will be in maintenance mode on Friday September 22nd, starting at 10 AM Pacific / 5 PM UTC, for about 1 hour.

This page tracks ongoing documentation work in the MDN DOM section. Feel free to contribute!

Note: This list is not yet complete as proper tagging of API pages is still to be done.


Pages Needs* tags Missing tags Editorial reviews Technical reviews Outdated pages Missing pages Dev-doc-needed bugs Documentation requests
657 129 (20%) 0 (0%) 8 (2%) 101 (16%) 186 (29%) 0 (0%) 221 (34%) 47 (8%)

See also localization status of this section.

Needs* tags

Found 129 pages. Learn more about how to deal with meta-tags.

Editorial reviews

Found 8 pages. Learn more about how to do an editorial review.

Technical reviews

Found 101 pages. Learn more about how to do a technical review.

Outdated pages

Found 186 pages. These pages haven't been updated in over a year. Outdated pages can have problems with both content and format. Look at these pages and consider: Is this page talking about the Web of today? Does it look consistent with newer pages in this topic area? If not, make any needed changes.

Dev-doc-needed bugs

Found 221 bugs. Learn more about how to resolve a dev-doc-needed bug.

Bug Summary Release
1205219 [Presentation WebAPI] Support terminate semantics FxOS-S9 (16Oct)
1192101 [Presentation WebAPI] support PresentationRequest / PresentationAvailability / getSession(s) FxOS-S8 (02Oct)
1069230 [Stingray] Presentation API webidl implementation FxOS-S5 (21Aug)
1080474 [Presentation WebAPI] Device discovery mechanism 2.2 S4 (23jan)
1013913 Add meta name="theme-color" to have configurable status bar color 2.1 S3 (29aug)
899574 Notification API follow-up: provide a way to get current Notification objects 1.3 Sprint 3 - 10/25
1386021 Let PerformanceObserver ride the trains mozilla57
1396848 Fetch: Headers should sort and combine mozilla57
1128959 Implement the WHATWG Streams spec mozilla57
1359017 Implement messageerror event mozilla57
1380617 Make return punycode by default. Fix tests and UI mozilla57
1394085 Enable Abort API by default mozilla57
864845 Make window.content chrome-only in nightly mozilla57
1378342 Aborting fetch (and possibly streams), part 2 mozilla57
962747 Hide Window.openDialog from content ---
609555 beforescriptexecute/afterscriptexecute should use moz prefix or should be defined in some specification ---
809865 Disable inputmode for Firefox 17 and Firefox 18 ---
1080177 Add "h" support to img srcset ---
605271 Don't let scripts QI elements to non-classinfo interfaces ---
1188880 Ship directory picking and directory drag and drop ---
1118741 Implement Document.inputEncoding per spec. ---
433616 [FIX]Need facility for managing documents referenced via local URI references ---
1341738 implement fetch() cancellation mozilla55
1348390 Permfail: XMLHttpRequest/getallresponseheaders.htm assert_equals: expected "also-here: Mr. PB\r\newok: lego\r\nfoo-test: 1, 2\r\n" but got "foo-TEST: 1, 2\r\nALSO-here: Mr. PB\r\newok: lego\r\n" mozilla55
1298823 Make Request constructor throw less often mozilla54
1310027 Remove DOM/mobilemessage and related code. mozilla52
1310859 Remove DOM/nfc and related code. mozilla52
1303518 The ChromeFilePropertyBag versions of the File constructors are web-observable mozilla52
1310385 Remove support for UndoManager mozilla52
1312591 Remove DOM/resourcestats and related code. mozilla52
1279635 need a way to synchronously retrieve back/forward status of mozbrowser mozilla51
1282870 input.webkitdirectory doesn't work mozilla50
1258490 Consider to implement file.webkitrelativepath mozilla49
1261405 PushPermissionDescriptor in Permissions.webidl is wrong ('userVisible' should be 'userVisibleOnly') mozilla48
1104955 Implement IDL [Unscopable] mozilla48
1173320 Allow FileList objects to contain Directory objects mozilla48
1257877 Remove support for UTF-16 from TextEncoder mozilla48
1259169 nsICookieManager::remove() should be back-compatible for 1 or 2 releases. mozilla48
1265941 Rename ReferrerPolicy "origin-only" attribute to "origin" mozilla48
1216751 provide forEach() method on iterable<> webidl interfaces mozilla47
993311 Convert Network Stats API to WebIDL mozilla47
743198 Unprefix the DOM fullscreen API mozilla47
1251627 Fix the exceptions XMLHttpRequest (XHR) send() throws to follow the spec more mozilla47
1162658 Update FormData to match latest spec mozilla46
1214148 AudioChannel API design doesn't fit into nested mozbrowser iframe case. mozilla45
1227458 Alias setAttributeNode to setAttributeNodeNS and setNamedItem to setNamedItemNS mozilla45
1213815 searchParams is just on URL mozilla45
1227206 Location.assign and Location.replace should use USVStrings instead DOMStrings mozilla45
949376 event.initMessageEvent is not a function mozilla44
1196654 [Browser API] Implement a proxy API allowing content to control it's embedding frame mozilla44
1216193 Implement webkitMatchesSelector mozilla44
1167465 Exposing Allowed Audio Channels in System App's Window mozilla44
1165796 Implement Performance Observer mozilla43
1131470 w3c screen orientation api has changed mozilla43
1145744 Disallow Cache API in 3rd party windows when 3rd party cookies are disabled mozilla43
1177688 Implement Directory.getContents() and Directory.path mozilla42
1148044 Split nsIContentPolicy::TYPE_SUBDOCUMENT into TYPE_FRAME and TYPE_IFRAME so that Request.context can reflect the correct value mozilla42
1177991 document.adoptNode on a ShadowRoot should throw a HierarchyRequestError exception mozilla42
1148593 addEventListener should use JS::AutoSetAsyncStackForNewCalls mozilla42
1123516 implement support for maplike/setlike in Web IDL bindings mozilla42
1164310 Implement MS's proposal for a reduced subset of the new FileSystem API mozilla42
1176757 shadowRoot.cloneNode() returns a DocumentFragment, should throw DataCloneError mozilla42
1148030 Split nsIContentPolicy::TYPE_OBJECT into TYPE_EMBED and TYPE_OBJECT so that Request.context can reflect the correct value mozilla42
1177914 document.importNode on a ShadowRoot should throw a NotSupportedError exception mozilla42
1107443 Make WindowProxy throw if you attempt to define a non-configurable property mozilla42
1113086 Implement AudioChannel API into BrowserElement mozilla42
1127380 Implement AnimationPlayer.playbackRate mozilla42
1165263 Use origin for nsIPermissionManager mozilla42
1143879 Implement lang member of Web manifest mozilla41
1174731 Make searchParams attribute readonly mozilla41
1153734 Rename Animation to KeyframeEffect (and merge in AnimationEffect) mozilla40
1160892 Url.createObjectURL(blob) creates invalid URL on unicode non-ascii domain mozilla40
1148496 Allow to set an interface member as [Deprecated] in WebIDL mozilla40
1152171 Rename AnimationTimeline to DocumentTimeline mozilla40
1154615 Rename AnimationPlayer to Animation mozilla40
524674 nsIEventListenerService: tracking of dynamically added and removed event listeners mozilla40
853162 Remove XMLHttpRequest sendAsBinary mozilla39
1073379 Make AnimationPlayer.startTime writeable mozilla39
1017875 Pref on the picture element by default mozilla38
1111633 Implement Unresolved Element Pseudoclass for Custom Elements mozilla38
1115130 Output logging metadata from User Timing marks and measures mozilla38
782751 Implement the User Timing spec mozilla38
1073231 Implement valid Request and Response clone() method mozilla38
1096328 Remove nativeOwnership from Bindings.conf mozilla38
1018320 Implement RequestSync API for FirefoxOS mozilla38
1130663 requestsync-manager API to allow for an immediate sync mozilla38
1134559 DOMContentLoaded should not be cancelable mozilla38
1065366 Implement ServiceWorkerGlobalScope update() mozilla37
704320 Implement <meta name="referrer"> mozilla36
1036606 Add options dict and vrDevice to mozRequestFullScreen mozilla36
1070745 Implement play and pause on AnimationPlayer mozilla36
969490 Implement to match for non-window chrome code mozilla35
1048293 File::mozFullPath attribute should not be exposed to content. mozilla35
1047483 Porting DOMFile/DOMBlob to WebIDL mozilla35
1067701 Implement mozilla35
916607 Convert MozSmsSegmentInfo to WebIDL dictionary mozilla34
1045993 Implement AnimationEffect and mozilla34
887541 Implement web components event retargeting. mozilla34
1058470 Update blob URL and origin related code mozilla34
870022 Implement `picture` element mozilla33
966452 DOM Promises should report all unhandled rejections to the Console on GC (like Promise.jsm) mozilla33
1000199 Enable Web Components by default for certified apps mozilla33
966471 DOM Promise state, value and reason should be inspectable in the debugger (like Promise.jsm) mozilla33
857648 stack property on DOMException errors is missing/undefined mozilla33
1020440 Create DOM interfaces and stub for the requestAutocomplete method and events mozilla32
968272 use less conservative temporary storage policy in QuotaManager mozilla32
870021 Implement `srcset` attribute on `img` mozilla32
874212 Move document.all to WebIDL mozilla32
983502 Implement and expose the feature detection API to privileged apps mozilla32
936813 Implement "onresourcetimingbufferfull" callback for Resource Timing. mozilla32
891952 Update empty string handling in named getters to spec changes mozilla32
986837 Port most of the network stats API to WebIDL mozilla32
528456 Implement scoped selectors for querySelector(All) mozilla32
997285 Put Error.prototype on the proto chain of DOMExceptions mozilla32
1003539 HTMLTableElement.insertRow doesn't insert the row at the right place when table has a thead or tfoot, no tbody, and no rows mozilla32
866528 Make nsIDOMActivityOptions a Dictionary mozilla31
986542 .onClick event handler function not firing if defined in a document that was in a now-removed iframe mozilla31
897359 Remove unimplemented method in nsCrypto mozilla31
355430 Stack information of uncaught Error object should be available in window.onerror mozilla31
822480 Add in the Resource Timing API mozilla31
845690 Support meta viewport in Firefox OS apps mozilla30
923247 Nice feature to have is mute and volume per window mozilla30
981652 Dispatch "select" events from HTMLInputElement/HTMLTextAreaElement.setSelectionRange() and selection setters mozilla30
960945 MozConnection should be NoInterfaceObject mozilla30
964192 Remove the required argument to captureEvents/releaseEvents mozilla30
969030 Remove the caller from document.all mozilla30
981036 Disallow calling WebIDL constructors as functions for system callers in non-release builds mozilla30
856140 Update document.register to adhere to the latest Custom Element spec mozilla30
887538 Implement web components shadow element. mozilla29
887836 Implement URLSearchParams mozilla29
675579 The user setting input or textarea direction does not set the element's dir and does not fire the input event mozilla29
959684 Implement URLSearchParams stringifier mozilla29
827161 Implement ValidityState.badInput mozilla29
887928 document.referrer should be based on the incumbent script for location-based navigation mozilla29
949488 postMessage's targetOrigin argument should accept / mozilla29
959988 Remove URLSearchParams.prototype.size mozilla29
840488 Add a much faster way to do the "is script enabled for this global?" check mozilla28
806506 Implement web components ShadowRoot interface. mozilla28
933193 add getElementById on DocumentFragment mozilla28
909254 Stop using jsapi for HTMLCollection.namedItem mozilla28
854736 Implement web components content element. mozilla28
850364 Implement setRangeText(DOMString) in HTMLInputElement mozilla27
920015 Expose DOM URL to js modules mozilla27
856977 Alert is still possible in onbeforeunload mozilla27
918940 Implement setRangeText(DOMString) for HTMLTextAreaElement mozilla27
920877 make media fragment: -moz-resolution work for blob files mozilla27
926890 Throw JavaScript exceptions for URL mozilla27
910220 HTMLDocument throws on assignment to named properties even in non-strict mode mozilla26
915450 [Web Notifications] cannot inspect notification properties (ie. title, tag, body, etc) mozilla26
848294 Update MessageEvent to be compatible with the spec mozilla26
677638 (MessageChannel) Implement HTML5's channel messaging API mozilla26
760851 Add toJSON accessors on Performance and related interfaces mozilla25
888576 Follow the spec for document.body mozilla25
892609 Implement [ArrayClass] support mozilla25
894448 Remove nativeOwnership = 'nsisupports' mozilla25
870856 Convert DOMError to WebIDL mozilla24
870787 Improve named getter for form mozilla24
855971 Switch HTMLDocument to WebIDL bindings mozilla23
525444 Expose text to speech (TTS) capability to content mozilla23
861495 Transplant getOuterWindowWithId from nsIDOMWindowUtils to a window-related service mozilla23
690938 Support Bluetooth controllers for gamepad API mozilla23
866272 expose privileged access to mcc+mnc pair for last home network and roaming network mozilla23
820657 Implement the NamedGetter functionality on HTMLDocument mozilla22
845010 Provide an API to retrieve the current document's scrollbar size (not only width) mozilla22
767944 Implement a manager for centralized quota and storage handling mozilla22
852846 Implement PutForwards for .style mozilla22
818976 Implement web components template. mozilla22
783129 Implement the document.register interface method mozilla22
830858 Implement a generic way to dispatch events to chrome only mozilla21
826166 Remove an ability to set higher JS versions via language attribute mozilla21
827546 |non editable element|.QueryInterface(Components.interfaces.nsIDOMNSEditableElement) does not throw anymore mozilla21
821606 Turn on WebIDL bindings for Element and HTMLElement mozilla20
824970 convert nsIDOMRect to webidl mozilla20
617532 implement the HTML5 "undo history" feature (UndoManager interface) mozilla20
821593 convert RGBColor to webidl mozilla20
795930 ArchiveReader should live behind a pref mozilla19
749448 Remove XTF mozilla19
801402 Use EncodingUtils::FindEncodingForLabel instead of nsCharsetAlias::GetPreferred from HTML5 parser and DOM APIs mozilla19
809290 document.referrer should be based on the script entry point mozilla19
656311 Remove XML Events, or improve the implementation mozilla19
784402 Pointer Lock must respect iframe sandbox flag mozilla18
776416 Remove exceptions to 5MB quota rule in localStorage mozilla18
783531 Implement a "select word at point" text selection routine in nsIDOMWindowUtils mozilla18
787378 Dispatch a "firstpaint" event for mozbrowsers mozilla18
744907 Remove BlobBuilder mozilla18
564815 implement window.devicePixelRatio mozilla18
600111 XMLHttpRequest.setRequestHeader() throws NS_ERROR_FAILURE inappropriately mozilla17
769254 Clicking a target=_blank link inside <iframe mozbrowser> crashes Gecko, should pass opened URL to mozbrowseropenwindow event mozilla17
772434 Blob support for Zip file contents mozilla17
391834 Don't allow alert/confirm/prompt in onbeforeunload, onunload and onpagehide mozilla17
774705 Throw a TypeError when trying to construct an interface without a constructor mozilla17
672814 Increase the set of script @type values that nsScriptLoader treats as JavaScript mozilla17
776376 Old FCKeditor versions (e.g. 2.6.6) stopped working due to navigator.productSub sniffing mozilla17
779626 Javascript-global-constructor objects should be passed a window reference mozilla17
743888 Replace SVGException and XPathException with DOMException mozilla16
769771 add ability to opt-in to content docshell for html:iframes inserted into chrome documents mozilla16
773734 Have a separate preference to only enable the gc/cc notifications mozilla16
695480 Remove support for Chrome -> Content leaks mozilla15
754553 Remove indexed property access from localStorage/sessionStorage mozilla15
702880 Allow pages to explicitly change visibilityState of child iframes mozilla15
625664 accelerometer support using Windows 7 Sensor API mozilla15
663057 support RFC2231/5987 encoding for title parameter in HTTP link header fields mozilla15
510849 web storage (localStorage/sessionStorage) empty string as key not supported mozilla15
752402 Blob constructor should take ArrayBufferView as a member of blobParts parameter in addition to ArrayBuffer mozilla15
756066 StorageEventInit.key should be nullable mozilla15
749920 Unprefix MozMutationObserver and add a warning about use of mutation events mozilla15
738647 DOMStorageImpl::GetKey shouldn't throw mozilla14
740771 Stringify null for Storage.getItem/setItem/removeItem mozilla14
532062 localStorage/sessionStorage should return undefined (not null) for undefined keys mozilla14
697132 Create API for content to keep the screensaver from turning on (or to prevent phone/tablet's screen from turning off) mozilla14
641821 Implement mutation events replacement (sync approach) (using moz prefix) mozilla14
733035 need a way to postMessage from sandboxes (without source window object) mozilla14
740069 Land Paris Bindings and use them for XMLHttpRequest mozilla14
708176 [WebAPI] Allow privileged pages to access cross-origin properties in child iframes mozilla12
704175 requestAnimationFrame callback function name should be "sample", not "onBeforePaint" mozilla11
707576 Remove nsIDOMNSElement mozilla11
648801 Prototype a proxy-based NodeList implementation mozilla10
684821 Remove nsIDOMNSHTMLElement mozilla10
687087 Support "chunked" data for XMLHttpRequest mozilla9
567357 Fire a DOMWindowCreated DOM event to match the observer notification in bug 549539 mozilla2.0b6
323810 [FIXr]Move forcing into tabs and current windows out of Gecko mozilla1.9alpha1

Browse as bug list.

Documentation requests

Found 47 bugs. Documentation request bugs can contain various kinds work related to MDN pages. Read through the bug and ask questions in the bug if in doubt.

Bug Summary
729109 Make sure synchronous XHR examples don't appear on MDN
805571 Mozilla event reference needs XMLHttpRequest timeout event
827863 Fix touch events example code regarding pageX/pageY offset postion
891086 documentElement.scrollHeight/clientHeight documentation incorrect
952746 Document key codes
973223 Add browser compatibility info for Element.prototype.setCapture
1074424 Document registerElement
1094394 Missing Web Crypto Api documentation and examples
1146459 Document the Encrypted Media Extensions (EME) API on MDN
1150158 Document subpages of DOMTokenList
1168839 Document members of HTMLImageElement
1209624 Sidebar missing change event
1230772 Document XPathResult.iterateNext()
1249293 Updating and/or clarifying support for location
1250893 page not found
1253636 Broken URL
1256023 Geo Location issue
1258743 Please provide example implementation of EventTarget
1259708 Element.getBoundingClientRect: CSS transforms consideration legit ?
1262999 Verify and sign use object reference as first argument
1265467 DOMImplementation.createHTMLDocument requires a 'title' param in IE
1275226 Document XPath APIs
1279536 Document HierarchyRequestError
1280738 Document.registerElement instead of invalid method Document.register should be referenced from Web Components | MDN and related pages
1281244 the "" documentation is outdated
1281422 Web Components | MDN should not suggest Document.registerElement is part of specification
1289453 Update innerText docs
1296444 Refactor KeyboardEvent.code article similarly to KeyboardEvent.key
1296704 Add text example to Fetch API's Response object article
1299898 setTimeout Example could be simplified and show more info
1301591 .createShadowRoot(); doesn't work in firefox
1302287 Drag and drop examples don't work and aren't live samples
1304458 Finish documentation for the Attr interface
1309697 Document Clipboard API Events beforecopy, beforecut, and beforepaste
1316587 Incorrect advice regarding clientWidth and getBoundingClientRect
1332500 Can get offsetHeight for fixed elements in WebKit
1342709 Fully document the NamedNodeMap interface
1342789 Remove 'Selectors API 2' spec. from API pages
1342791 Add 'DOM 4' and 'DOM WHATWG' specs where required
1352249 Element.closest polyfill doesn't work in Edge
1358506 Broken demo on device orientation documentation
1369380 broken links for ChildNode methods
1369439 HTMLSelectElement.length property link is not documented
1380930 no documented API for HTMLCollection/HTMLOptionsCollection
1387770 Broken link "beforeinput" Input event (or missing documentation)
1398088 Element.outerHTML compatibility table is incorrect
1399643 Page missing: BeforeInputEvent

Browse as bug list.


Please help us to localize this documentation into different languages. Read more about how to translate.

Language Pages Translated Translations up to date
af 595 2 (0%) 0 (0%)
bn-BD 595 7 (1%) 0 (0%)
de 595 53 (8%) 18 (33%)
es 657 184 (28%) 41 (22%)
fa 595 5 (0%) 2 (40%)
fr 595 199 (33%) 37 (18%)
it 595 96 (16%) 8 (8%)
ja 595 271 (45%) 55 (20%)
ko 595 57 (9%) 21 (36%)
pl 595 120 (20%) 3 (2%)
pt-BR 595 81 (13%) 21 (25%)
pt-PT 595 12 (2%) 1 (8%)
ro 595 6 (1%) 2 (33%)
ru 595 129 (21%) 48 (37%)
zh-CN 656 363 (55%) 137 (37%)
zh-TW 595 66 (11%) 36 (54%)


Tagging standard

  • Grouping tag is: "DOM"

Other tasks to do

  • TBD

Tutorial to-do list

  • TBD

Notes for translators

Any notes here? Where do we expect updates, so that localizers don't translate and update too often?


The interfaces defined in the following specifications are tracked by this status page:

Specification Status Comment
DOM Living Standard  
DOM Parsing and Serialization Working Draft  
Document Object Model (DOM) Level 1 Specification Obsolete  
Document Object Model (DOM) Level 2 Core Specification Obsolete  
Document Object Model (DOM) Level 2 Style Specification Obsolete  
Document Object Model (DOM) Level 2 Traversal and Range Specification Obsolete  
Document Object Model (DOM) Level 3 Core Specification Obsolete  
Document Object Model (DOM) Level 3 Events Specification Obsolete  
Document Object Model (DOM) Level 3 XPath Specification Recommendation  
Element Traversal Specification Obsolete  
High Resolution Time Recommendation  
Navigation Timing Recommendation  
UndoManager and DOMTransaction Editor's Draft  
Pointer Lock Candidate Recommendation  
Unknown Unknown  
Clipboard API and events Working Draft  
UI Events Working Draft  
Unknown Unknown  
URL Living Standard  
Page Visibility (Second Edition) Recommendation  
Touch Events Recommendation  
Encoding Living Standard  
Selectors API Level 1 Obsolete  
Selectors API Level 1 Obsolete  
Geometry Interfaces Module Level 1 Candidate Recommendation  

Help the 'API/DOM' documentation project…
Topic driver : Eric Shepherd (IRC nickname: sheppy)
Look at the current status of the 'API/DOM' documentation.
Don't hesitate to contact us on #mdn or on the MDN discourse group/list:

Document Tags and Contributors

 Contributors to this page: jswisher, fscholz, teoli
 Last updated by: jswisher,