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
697 85 (13%) 0 (0%) 48 (7%) 140 (21%) 18 (3%) 0 (0%) 229 (33%) 46 (7%)

See also localization status of this section.

Needs* tags

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

Editorial reviews

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

Technical reviews

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

Outdated pages

Found 18 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 229 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
1513890 Remove 'x-moz-errormessage' attribute mozilla66
1425685 Implement <slot>'s assignedElements() mozilla66
809865 Disable inputmode for Firefox 17 and Firefox 18 ---
433616 [FIX]Need facility for managing documents referenced via local URI references ---
1043083 Implement the Navigation Timing 2 spec ---
1193376 Implement Permissions.request ---
1266492 Change navigator.registerContentHandler to throw on at least the blocklisted types ---
609555 beforescriptexecute/afterscriptexecute should use moz prefix or should be defined in some specification ---
1118741 Implement Document.inputEncoding per spec. ---
889230 [meta] Implement Custom Elements (from Web Components) ---
933862 Implement new mutation observer observe() argument defaulting ---
527667 DOM Storage (localStorage, sessionStorage) data is not cleared when "Clear Recent History" is used with Time range not "Everything" ---
962747 Hide Window.openDialog from content ---
1080177 Add "h" support to img srcset ---
1188880 Ship directory picking and directory drag and drop ---
605271 Don't let scripts QI elements to non-classinfo interfaces ---
1503681 Make target=_blank on anchors imply rel=noopener mozilla65
1507144 Enable reporting API by default in nightly only mozilla65
1329324 nsOuterWindowProxy should allow Object.defineProperty to return false mozilla65
1399446 Implement ServiceWorkerGlobalScope and ServiceWorkerContainer onmessageerror event handler. mozilla65
1504946 Deprecate moz-prefixed fullscreen API mozilla65
1520756 Put off to ship Window.event, Event.returnValue and setting same keyCode/charCode value to keypress events mozilla65
1425874 Make <marquee> construct HTMLMarqueeElement instead of overloading HTMLDivElement mozilla65
1458466 Implement Console.timeLog(optional DOMString label = "default") mozilla62
1432272 fetch API is using GetEntryDocument() for base URL instead of the owning global's base URL mozilla60
1128959 Implement the WHATWG Streams spec mozilla57
1380617 Make return punycode by default. Fix tests and UI mozilla57
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
1322858 Implement AudioWorkletGlobalScope mozilla53
1310027 Remove DOM/mobilemessage and related code. mozilla52
1312591 Remove DOM/resourcestats and related code. mozilla52
1303518 The ChromeFilePropertyBag versions of the File constructors are web-observable mozilla52
1310859 Remove DOM/nfc and related code. mozilla52
1310385 Remove support for UndoManager 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
1257877 Remove support for UTF-16 from TextEncoder mozilla48
1261405 PushPermissionDescriptor in Permissions.webidl is wrong ('userVisible' should be 'userVisibleOnly') mozilla48
1259169 nsICookieManager::remove() should be back-compatible for 1 or 2 releases. mozilla48
1173320 Allow FileList objects to contain Directory objects mozilla48
1104955 Implement IDL [Unscopable] mozilla48
1265941 Rename ReferrerPolicy "origin-only" attribute to "origin" mozilla48
993311 Convert Network Stats API to WebIDL mozilla47
1216751 provide forEach() method on iterable<> webidl interfaces 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
1227206 Location.assign and Location.replace should use USVStrings instead DOMStrings mozilla45
1213815 searchParams is just on URL mozilla45
1227458 Alias setAttributeNode to setAttributeNodeNS and setNamedItem to setNamedItemNS mozilla45
1196654 [Browser API] Implement a proxy API allowing content to control it's embedding frame mozilla44
949376 event.initMessageEvent is not a function mozilla44
1167465 Exposing Allowed Audio Channels in System App's Window mozilla44
1216193 Implement webkitMatchesSelector mozilla44
1131470 w3c screen orientation api has changed mozilla43
1145744 Disallow Cache API in 3rd party windows when 3rd party cookies are disabled mozilla43
1165796 Implement Performance Observer mozilla43
1127380 Implement AnimationPlayer.playbackRate 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
1177991 document.adoptNode on a ShadowRoot should throw a HierarchyRequestError exception mozilla42
1113086 Implement AudioChannel API into BrowserElement mozilla42
1123516 implement support for maplike/setlike in Web IDL bindings mozilla42
1148044 Split nsIContentPolicy::TYPE_SUBDOCUMENT into TYPE_FRAME and TYPE_IFRAME so that Request.context can reflect the correct value mozilla42
1177914 document.importNode on a ShadowRoot should throw a NotSupportedError exception mozilla42
1165263 Use origin for nsIPermissionManager mozilla42
1148030 Split nsIContentPolicy::TYPE_OBJECT into TYPE_EMBED and TYPE_OBJECT so that Request.context can reflect the correct value mozilla42
1177688 Implement Directory.getContents() and Directory.path mozilla42
1148593 addEventListener should use JS::AutoSetAsyncStackForNewCalls mozilla42
1143879 Implement lang member of Web manifest mozilla41
1174731 Make searchParams attribute readonly mozilla41
1154615 Rename AnimationPlayer to Animation mozilla40
1148496 Allow to set an interface member as [Deprecated] in WebIDL mozilla40
1153734 Rename Animation to KeyframeEffect (and merge in AnimationEffect) mozilla40
524674 nsIEventListenerService: tracking of dynamically added and removed event listeners mozilla40
1152171 Rename AnimationTimeline to DocumentTimeline mozilla40
1160892 Url.createObjectURL(blob) creates invalid URL on unicode non-ascii domain mozilla40
1073379 Make AnimationPlayer.startTime writeable mozilla39
853162 Remove XMLHttpRequest sendAsBinary mozilla39
1115130 Output logging metadata from User Timing marks and measures mozilla38
1018320 Implement RequestSync API for FirefoxOS mozilla38
1096328 Remove nativeOwnership from Bindings.conf mozilla38
1130663 requestsync-manager API to allow for an immediate sync mozilla38
1073231 Implement valid Request and Response clone() method mozilla38
1017875 Pref on the picture element by default mozilla38
1111633 Implement Unresolved Element Pseudoclass for Custom Elements mozilla38
1134559 DOMContentLoaded should not be cancelable mozilla38
782751 Implement the User Timing spec mozilla38
1065366 Implement ServiceWorkerGlobalScope update() mozilla37
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
1067701 Implement mozilla35
1047483 Porting DOMFile/DOMBlob to WebIDL mozilla35
1045993 Implement AnimationEffect and mozilla34
887541 Implement web components event retargeting. mozilla34
1058470 Update blob URL and origin related code mozilla34
916607 Convert MozSmsSegmentInfo to WebIDL dictionary mozilla34
857648 stack property on DOMException errors is missing/undefined 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
870022 Implement `picture` element mozilla33
966471 DOM Promise state, value and reason should be inspectable in the debugger (like Promise.jsm) mozilla33
983502 Implement and expose the feature detection API to privileged apps 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
936813 Implement "onresourcetimingbufferfull" callback for Resource Timing. mozilla32
986837 Port most of the network stats API to WebIDL mozilla32
891952 Update empty string handling in named getters to spec changes mozilla32
528456 Implement scoped selectors for querySelector(All) mozilla32
968272 use less conservative temporary storage policy in QuotaManager mozilla32
874212 Move document.all to WebIDL mozilla32
997285 Put Error.prototype on the proto chain of DOMExceptions mozilla32
870021 Implement `srcset` attribute on `img` mozilla32
1020440 Create DOM interfaces and stub for the requestAutocomplete method and events mozilla32
866528 Make nsIDOMActivityOptions a Dictionary mozilla31
822480 Add in the Resource Timing API mozilla31
897359 Remove unimplemented method in nsCrypto mozilla31
355430 Stack information of uncaught Error object should be available in window.onerror mozilla31
986542 .onClick event handler function not firing if defined in a document that was in a now-removed iframe mozilla31
960945 MozConnection should be NoInterfaceObject mozilla30
969030 Remove the caller from document.all mozilla30
981652 Dispatch "select" events from HTMLInputElement/HTMLTextAreaElement.setSelectionRange() and selection setters mozilla30
964192 Remove the required argument to captureEvents/releaseEvents mozilla30
981036 Disallow calling WebIDL constructors as functions for system callers in non-release builds mozilla30
923247 Nice feature to have is mute and volume per window mozilla30
856140 Update document.register to adhere to the latest Custom Element spec mozilla30
845690 Support meta viewport in Firefox OS apps mozilla30
675579 The user setting input or textarea direction does not set the element's dir and does not fire the input event mozilla29
887538 Implement web components shadow element. mozilla29
887928 document.referrer should be based on the incumbent script for location-based navigation mozilla29
959988 Remove URLSearchParams.prototype.size mozilla29
827161 Implement ValidityState.badInput mozilla29
887836 Implement URLSearchParams mozilla29
949488 postMessage's targetOrigin argument should accept / mozilla29
933193 add getElementById on DocumentFragment mozilla28
854736 Implement web components content element. mozilla28
840488 Add a much faster way to do the "is script enabled for this global?" check mozilla28
806506 Implement web components ShadowRoot interface. mozilla28
909254 Stop using jsapi for HTMLCollection.namedItem mozilla28
920877 make media fragment: -moz-resolution work for blob files mozilla27
850364 Implement setRangeText(DOMString) in HTMLInputElement mozilla27
920015 Expose DOM URL to js modules mozilla27
926890 Throw JavaScript exceptions for URL mozilla27
856977 Alert is still possible in onbeforeunload mozilla27
918940 Implement setRangeText(DOMString) for HTMLTextAreaElement mozilla27
915450 [Web Notifications] cannot inspect notification properties (ie. title, tag, body, etc) mozilla26
910220 HTMLDocument throws on assignment to named properties even in non-strict mode mozilla26
848294 Update MessageEvent to be compatible with the spec mozilla26
677638 (MessageChannel) Implement HTML5's channel messaging API mozilla26
888576 Follow the spec for document.body mozilla25
892609 Implement [ArrayClass] support mozilla25
894448 Remove nativeOwnership = 'nsisupports' mozilla25
760851 Add toJSON accessors on Performance and related interfaces mozilla25
870787 Improve named getter for form mozilla24
870856 Convert DOMError to WebIDL mozilla24
855971 Switch HTMLDocument to WebIDL bindings mozilla23
525444 Expose text to speech (TTS) capability to content mozilla23
866272 expose privileged access to mcc+mnc pair for last home network and roaming network mozilla23
861495 Transplant getOuterWindowWithId from nsIDOMWindowUtils to a window-related service mozilla23
690938 Support Bluetooth controllers for gamepad API mozilla23
852846 Implement PutForwards for .style mozilla22
845010 Provide an API to retrieve the current document's scrollbar size (not only width) mozilla22
820657 Implement the NamedGetter functionality on HTMLDocument mozilla22
783129 Implement the document.register interface method mozilla22
767944 Implement a manager for centralized quota and storage handling mozilla22
818976 Implement web components template. mozilla22
827546 |non editable element|.QueryInterface(Components.interfaces.nsIDOMNSEditableElement) does not throw anymore mozilla21
826166 Remove an ability to set higher JS versions via language attribute mozilla21
830858 Implement a generic way to dispatch events to chrome only mozilla21
821593 convert RGBColor to webidl mozilla20
824970 convert nsIDOMRect to webidl mozilla20
617532 implement the HTML5 "undo history" feature (UndoManager interface) mozilla20
821606 Turn on WebIDL bindings for Element and HTMLElement mozilla20
656311 Remove XML Events, or improve the implementation mozilla19
795930 ArchiveReader should live behind a pref mozilla19
809290 document.referrer should be based on the script entry point mozilla19
749448 Remove XTF mozilla19
801402 Use EncodingUtils::FindEncodingForLabel instead of nsCharsetAlias::GetPreferred from HTML5 parser and DOM APIs mozilla19
783531 Implement a "select word at point" text selection routine in nsIDOMWindowUtils mozilla18
776416 Remove exceptions to 5MB quota rule in localStorage mozilla18
787378 Dispatch a "firstpaint" event for mozbrowsers mozilla18
744907 Remove BlobBuilder mozilla18
564815 implement window.devicePixelRatio mozilla18
784402 Pointer Lock must respect iframe sandbox flag mozilla18
774705 Throw a TypeError when trying to construct an interface without a constructor mozilla17
779626 Javascript-global-constructor objects should be passed a window reference mozilla17
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
391834 Don't allow alert/confirm/prompt in onbeforeunload, onunload and onpagehide mozilla17
672814 Increase the set of script @type values that nsScriptLoader treats as JavaScript mozilla17
772434 Blob support for Zip file contents mozilla17
776376 Old FCKeditor versions (e.g. 2.6.6) stopped working due to navigator.productSub sniffing mozilla17
769771 add ability to opt-in to content docshell for html:iframes inserted into chrome documents mozilla16
743888 Replace SVGException and XPathException with DOMException mozilla16
773734 Have a separate preference to only enable the gc/cc notifications mozilla16
625664 accelerometer support using Windows 7 Sensor API mozilla15
749920 Unprefix MozMutationObserver and add a warning about use of mutation events mozilla15
756066 StorageEventInit.key should be nullable mozilla15
695480 Remove support for Chrome -> Content leaks mozilla15
754553 Remove indexed property access from localStorage/sessionStorage mozilla15
510849 web storage (localStorage/sessionStorage) empty string as key not supported mozilla15
663057 support RFC2231/5987 encoding for title parameter in HTTP link header fields mozilla15
752402 Blob constructor should take ArrayBufferView as a member of blobParts parameter in addition to ArrayBuffer mozilla15
702880 Allow pages to explicitly change visibilityState of child iframes mozilla15
740069 Land Paris Bindings and use them for XMLHttpRequest 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
738647 DOMStorageImpl::GetKey shouldn't throw 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
740771 Stringify null for Storage.getItem/setItem/removeItem mozilla14
708176 [WebAPI] Allow privileged pages to access cross-origin properties in child iframes mozilla12
707576 Remove nsIDOMNSElement mozilla11
704175 requestAnimationFrame callback function name should be "sample", not "onBeforePaint" 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 46 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
891086 documentElement.scrollHeight/clientHeight documentation incorrect
952746 Document key codes
1168839 Document members of HTMLImageElement
1209624 Sidebar missing change event
1249293 Updating and/or clarifying support for location
1250893 Document NamedNodeMap.setNamedItem
1265467 DOMImplementation.createHTMLDocument requires a 'title' param in IE
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
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
1352857 suggested method for determining whether element has scrolled to end is inaccurate
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 Document BeforeInputEvent
1403952 Document HTMLCollection.namedItem (last one triaged)
1409082 Media Constraints out of date
1424832 Specification links are not working
1450869 On page ( the link to page ( leads to a "Not Found" message.
1456490 Document console.debug()
1458176 Missing pages: CharacterData.appendData, insertData, replaceData, deleteData
1464566 Document DOMParser.parseFromString
1474355 Complete documentation of DOMPoint and DOMRect
1474840 ownerDocument issues: W3C DOM FAQ might be outdated, Living Standard suggests otherwise
1492785 Add Events guide
1503245 Dead link to WindowProxy
1506346 FormData().append() causes AngularJS restart with third name parameter
1506682 Broken Link FROM: docs/Web/API > Specifications > D > Dom Events TO: docs/Web/API/DOM_Events
1506684 Broken Link FROM: docs/Web/API > Specifications > D > DOM_(Non-standard) TO: docs/Web/API/DOM_(Non-standard)

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 697 2 (0%) 0 (0%)
bn-BD 697 6 (0%) 0 (0%)
de 697 110 (15%) 4 (3%)
es 697 208 (29%) 18 (8%)
fa 697 6 (0%) 1 (16%)
fr 697 440 (63%) 78 (17%)
it 697 126 (18%) 29 (23%)
ja 697 333 (47%) 98 (29%)
ko 697 140 (20%) 26 (18%)
pl 697 130 (18%) 3 (2%)
pt-PT 697 23 (3%) 3 (13%)
ro 697 5 (0%) 0 (0%)
ru 697 214 (30%) 14 (6%)
zh-CN 697 460 (65%) 55 (11%)
zh-TW 697 102 (14%) 2 (1%)


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  
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: ExE-Boss, wbamberg, jswisher, fscholz, teoli
Last updated by: ExE-Boss,