DOM Compatibility Documents
Browse our Firefox site compatibility notes about the changes related to DOM.
Future
<keygen>support will be droppedkeydownandkeyupevents will soon be fired during IME composition- Affecting Non-printable keys will soon stop firing
keypressevent windowwill be removed.content Elementwill be removed.moz Matches Selector Mousewill be removedEvent .moz Pressure windowwill be removed.sidebar navigatorwill be removed.build ID
Firefox 62 Nightly
DOMPointconstructor no longer acceptsDOMPointas argument;Init DOMQuadhas been deprecated.bounds DOMAttrandModified DOMSubtreeevents are no longer fired whenModified styleattribute is changed via CSSOM- Ambient light and proximity sensor APIs have been disabled
navigatorhas been removed.register Content Handler() - CSP
referrerdirective has been removed - Support for
Eventhas been added.prototype .src Element CSSStyleand related interfaces have been removedDeclaration .get Property CSSValue() URL.createno longer acceptsObject URL() Mediaas argumentStream
Firefox 61 Beta / Developer Edition
storageoption forindexedhas been removedDB.open() - Non-standard
typeargument fordocumentis no longer supported.open() Fileis no longer available in service workersReader Sync online/offlineevents are no longer fired ondocumentanddocument.body - Type of
CSSinterface has been changed fromfunctiontoobject Filehas been removed.last Modified Date SVGViewhas been removedElement .prototype .view Target - Touch event listeners are now passive by default, making scrolling faster on mobile
SVGNumberno longer comes with constructorpixeland similar properties have been removed fromUnit To Millimeter X SVGSVGElement- Loading FTP resources within web page is no longer allowed
CSSStylehas been deprecatedDeclaration .get Property CSSValue()
Firefox 60
removestreamevent has been removed fromRTCPeerConnection - Service workers and push notifications are disabled on Firefox 60 ESR
storageoption forindexedhas been deprecatedDB.open() Datahas been renamed toChannel RTCDataChannel - Various device sensor APIs are now deprecated
- Rich text editor’s newline behaviour has been changed, now generates
<div>instead of<br>
Firefox 59
navigatorhas been deprecated.register Content Handler() windowhas been removed.sidebar .add Search Engine() navigatorhas been removed.moz Notification HTMLMediahas been removedElement .moz Autoplay Enabled - Data URL navigations on top level window will now be blocked
Eventhas been removed.get Prevent Default
Firefox 58
Firefox 57
Firefox 56
Firefox 55
- Regressed Firefox 55 breaks file upload on certain sites
documentno longer supports various obsolete events.create Event() - Reverted
gethas been removedDefault Computed Style() SVGZoomhas been removedEvent xml:baseforstyleattribute has been disabledscroll,X scroll,Y page,XOffset pagenow return double instead of integerYOffset UIEventhas been removed.is Char
Firefox 54
- Regressed Page is automatically closed when
windowtriggers file download.open() Mediahas been removedKey Session .key System - Transparent RGBA colour values are no longer serialized to
transparentkeyword eventnow returns.time Stamp DOMHighby defaultRes Time Stamp URL.createhas been deprecatedObject URL(stream)
Firefox 53
Firefox 52
- Regressed
XMLHttpmay return corrupt data for large blobsRequest - CSP
referrerdirective has been deprecated - Service workers and push notifications are disabled on Firefox 52 ESR
- Affecting
Datais nowTransfer .types DOMStringinstead ofList Array Headershas been removed in favour of.get All getnow returning all values- Battery Status API has been removed
- Fullscreen request is now only allowed on HTML elements,
<svg>and<math> - Affecting Touch event support has been re-enabled on Windows desktop
SVGDocumenthas been removed
Firefox 51
- Caret will be placed at the end when textbox automatically gets focus
- Affecting
<img>with emptysrcwill fireerrorevent - Prefixed Page Visibility API has been removed
haswill always returnFeature trueeven for SVG- Workers will no longer dispatch
closeevent - Invalid XML document no longer contains
<parseerror>when retrieved with XHR Permissionshas been disabled.revoke()
Firefox 50
- Regressed
<img>in<template>or<button>is not loaded properly - Regressed Uploading file using XHR prepends slash to
filename - Network error for async XHR now fires
errorevent instead of throwing,getwill be emptyAll Response Headers - Prefixed Pointer Lock API has been removed
- Affecting Legacy non-standard drag events have been removed
- Reverted
navigatorand.plugins navigatorno longer list Flash when it’s click-to-activate.mime Types navigatorhas been removed in favour of async.battery getmethodBattery
Firefox 49
- Reverted
loadevent is no longer fired on<iframe>with JavaScript srcreturning non-string value - Some
Keyboardvalues have been renamedEvent .key <label>no longer hasformattributeFilehas been deprecated.last Modified Date - Pop-up window is now scrollable by default
- Microdata API has been removed
fetchandRequestnow throws if redirect is detected when in non-followredirect modeTouchhas been removedList .identified Touch
Firefox 48
- Regressed Setting
documentdoesn’t change the port, may cause permission errors.domain - Affecting
windowhas been removed.show Modal Dialog - Affecting
Permissions’s.query useroption has been renamed toVisible userVisible Only local,Name namespace,URI prefixproperties have been moved fromNodetoElementTextno longer supports UTF-16Encoder - Firefox OS APIs have been hidden from Web content
CSSKeyframeandRule CSSKeyframeshave been unprefixedRule
Firefox 47
Firefox 46
Firefox 45
- Regressed Submitting empty file input control results in no
Content-Type - Affecting
Filefails when file is updated after initial readingReader .read As Text - Affecting Loading cross-origin worker now fires
errorevent instead of throwing; worker in sandboxed iframe no longer allowed - Regressed Images are not updated in some cases when
srcsetis dynamically changed - Affecting Dedicated workers no longer inherit CSP from parent document unless embedded
- Regressed Various sites are broken when third-party cookies are blocked
- Image with
idno longer appears ondocumentunless it hasnameas well - Service Workers have been disabled in Firefox 45 ESR
- Reverted
performancein workers is now based on the worker’s creation time.now searchis now only onParams URL- CSP directive
frame-srchas been deprecated in favour ofchild-src
Firefox 44
- Affecting Disabled form controls now trigger
mouseoverand similar mouse events - Regressed Cross-site
XMLHttpis blocked if Service Worker is used withoutRequest fetchevent handler documentnow lowercases the input.create Attribute - Nested
<optgroup>s are no longer allowed IDBObjectand related methods have been unprefixedStore .get All - Reverted
getnow matchesElements By Tag Name localinstead ofName tagName XMLHttpnow sends HTML document asRequest text/htmlinstead ofapplication/xmlXMLHttpis no longer available in Service WorkersRequest Documenthas been removedType .internal Subset - Documents in
<frame>or<object>can no longer request fullscreen dialogoption forwindowis no longer supported.open() beforeunloadconfirmation dialog will no longer be displayed unless user has interacted with the page
Firefox 43
- Events on
<option>no longer bubble up to<select>in multi-process Firefox - Web Storage, Indexed
DB, Cache API now obey third-party cookies preference - Service Workers
Extendableimplementation has been updatedEvent .wait Until fetch()andnew Request()now throws if URL includes credentialsnavigatorhas been deprecated in favour of async.battery getmethodBattery - Screen Orientation API has been unprefixed
- Affecting
eventnow returns.time Stamp DOMHighon Nightly/Aurora for LinuxRes Time Stamp
Firefox 42
- Affecting Defining non-configurable property on
windowwill throw (currently only on Nightly and Developer Edition) - Images with
idno longer appear aswindowproperties HTMLMediahas been unprefixedElement .src Object Requesthas been removed.context mozand related APIs have been removedRequest Animation Frame
Firefox 41
- Service Worker Cache API added several global objects
Mouse/Event .movement X Yhave been unprefixed- Affecting
URLUtilsno longer decodes fragment.hash URLUtilsis now readonly.search Params documentfor cut, copy and paste no longer throws.exec Command initandClose Event createhave been removedEvent('Close Event')
Firefox 40
Firefox 39
Firefox 38
Firefox 37
Firefox 36
Firefox 35
- Non-HTTP XHR now returns
200status code - Non-standard
elementextension has been added.style - XHR
responseno longer includes fragmentURL Filehas been removed.moz Full Path Navigatorhas been removed.moz Is Locally Available Nodehas been moved to.has Attributes Elementcrossproperty now returnsOrigin anonymousifcrossoriginattribute is empty- Regressed
documentis not updated when.base URI <base>is removed from CSP-enabled pages
Firefox 34
Firefox 33
Firefox 32
Firefox 31
- Affecting Global variables with the same name as
windowproperties now call the property setter when they are set - Network Information API has been disabled on desktop
- Unimplemented methods on
windowhave been removed.crypto Data,Container Event Browser,Feed Writer EventandListener Info XPathhave been removedNamespace XMLHttphas been deprecatedRequest .send As Binary navigatorhas been removed.moz Keyboard - Affecting
window,.home back,forwardmethods have been removed
Firefox 30
- Archive API has been disabled
- DOM object constructors can no longer be called as functions
- Affecting Delay between touch and mouse events has been removed on responsive pages
- Firefox OS apps should always specify a viewport
<meta>tag - Support for
Blobhas been dropped.moz Slice - Synchronous
XMLHttphas been deprecatedRequest Keyboardhas been removedEvent .DOM_VK_ENTER Mozinterface is no longer a global objectConnection Navigatorhas been disabled except on Firefox OS.request Wake Lock
Firefox 29
- Regressed Enter key on
<select>no longer fires thekeypressevent HTMLIFramenow returnsElement .sandbox DOMSettableToken List Keyboardvalues have been changedEvent .key - Regressed
ProgressreturnsEvent .length Computable falseduring a file upload cloneandNode importhas defaulted to shallow clonesNode - Reverted
window,._content controllers,pkcs11andLoadhave been removedStatus
Firefox 28
Firefox 27
Firefox 26
- Elements are no longer accessible with the old
idafter being changed - Setting
documentin a sandboxed.domain iframeis no longer allowed - Various non-standard interfaces have been removed
- Affecting XBL-related methods have been removed
HTMLCanvashas been deprecatedElement .moz Get As File HTMLInputandElement .width heightnow return0when thetypeis notimageMessagehas been updatedEvent Userhas been removedData Handler
Firefox 25
- Build ID in UA string is now frozen at
20100101 - Constants of some Indexed
DB-related interfaces have been removed - Events in workers have been prefixed with
Worker - Various interfaces are no longer available on
window Documenthas been removedTouch Imageand some XUL-related classes have been removedDocument geolocationproperty of thenavigatorobject is now absent if the API is disabled- Affecting
preventonDefault keydownnow cancelskeypress
Firefox 24
- Obsolete event methods have been removed
- Affecting Touch events support has been temporarily disabled on desktop
HTMLCommandhas been droppedElement HTMLMediahas been removedElement .moz Load From Progressis no longer available in Web WorkersEvent .init Progress Event focusandblurevents are nowFocusEvent
Firefox 23
- Affecting Ability to add a sidebar panel has been dropped
- Cross-origin
contentreturnsDocument null - Instantiation of
AnimationandEvent TransitionusingEvent Documentis no longer allowed.create Event HTMLMediahas been removedElement .initial Time requestandAnimation Frame cancelhave been unprefixedAnimation Frame - Regressed
watch()throws aTypeon some interfacesError windowhas been removed.default Status
Firefox 22
- Regressed Cannot access to frames named
sidebar - HTML elements with tag names
bgsound,multicol, andimageno longer use theHTMLSpanintefaceElement - Unknown SVG Elements will be
SVGElement - XHR multipart response support has been removed
HTMLMediaandElement .crossorigin HTMLInputhave been renamedElement .inputmode LSProgresshas been removedEvent Namedhas been renamed toNode Map MozNamed Attr Map Nodehas been removed.attributes - Affecting
Nodeand.get User Data sethave been removedUser Data Nodehas been removed.is Supported Nodedoes nothingIterator .detach Progresshas been removedEvent .init Progress Event SVGEventhas been removed
Firefox 21
- Indexed properties on the
windowobject (ie. iframes) are now enumerable - Support of the
colsandlayoutproperties has been dropped fromtables CSSKeyframeshas been renamed toRule .insert Rule appendRule CSSStylewill throw when there are more than one ruleSheet .insert Rule HTMLInputhas been disabled by defaultElement .inputmode XMLHttpimplementation has been fixed to comply with the specRequest .set Request Header expandhas been removed fromEntity References NodeandIterator TreeWalker formandMethod formnow take an empty string as default valueEnctype - Affecting
scrollandWidth scrollare no longer affected byHeight overflow:visible - Affecting
windowno longer accepts indexed custom properties
Firefox 20
Firefox 19
- Encoding API has been updated for the latest spec
- Some event attributes are now limited to
bodyandframeset - XForms support has been removed
Elementnow returns.get Elements By* HTMLCollectionFilenow returns the current date if the modified date is unknown.last Modified Date createno longer throws exceptionsElement(null) documentimplementation has been updated for the latest spec.referrer has/Feature ismethods now always returnSupported true
Firefox 18
- Event listener objects are no longer accepted as values of
on*properties onXMLHttp,Request File,Reader Web, andSocket EventobjectsSource - Page Visibility API has been unprefixed
Blobhas been removedBuilder - Affecting
Mozevents were removed in favour of the standard touch eventsTouch XHR.getvalue has been changed to redundant UTF-8 byte charactersResponse Header() localquota has been limited to 5 MBStorage mozallowfullscreenhas been unprefixed
Firefox 17
- Archive API has been disabled by default
- Creating interfaces without a constructor now throw exceptions
- Exceptions thrown by
XHR.sethave been clarifiedRequest Header() - Initializing dispatched events no longer throw exceptions
- Line breaking code in the value of
XHR.gethas been changedAll Response Headers() - Showing dialogs are no longer allowed on page navigation events
- Web IDL dictionary (associative array) implementation has been updated for the latest spec
HTMLMediatype has been changedElement .src XHR.onuploadprogresshas been removed
Firefox 16
- Affecting Microdata API has added new properties to elements
- Exceptions of SVG and XPath have been standardized as
DOMException - Several APIs have been unprefixed
CSSNamenow returns correct valueSpace Rule .type Smshas been replaced withRequest DOMRequestexecnow returnsCommand() falseif command is invalidjavaobject has been removedmozhas been disabledApps .install Package selectnow behaves differently with negative value.size