The DocumentOrShadowRoot mixin of the Shadow DOM API provides APIs that are shared between documents and shadow roots. The following features are included in both Document and ShadowRoot.


DocumentOrShadowRoot.activeElementRead only
Returns the Element within the shadow tree that has focus.
DocumentOrShadowRoot.fullscreenElementRead only
Returns the Element that's currently in full screen mode for this document.
DocumentOrShadowRoot.pictureInPictureElementRead only
Returns the HTMLVideoElement that's currently in picture-in-picture mode for this document.
DocumentOrShadowRoot.pointerLockElement  This is an experimental API that should not be used in production code. Read only
Returns the element set as the target for mouse events while the pointer is locked. It returns null if lock is pending, the pointer is unlocked, or if the target is in another document.
DocumentOrShadowRoot.styleSheetsRead only
Returns a StyleSheetList of CSSStyleSheet objects for stylesheets explicitly linked into, or embedded in a document.


Returns a CaretPosition object containing the DOM node containing the caret, and caret's character offset within that node.
Returns the topmost element at the specified coordinates.
Returns an array of all elements at the specified coordinates.
DocumentOrShadowRoot.getAnimations()  This is an experimental API that should not be used in production code.
Returns an array of all Animation objects currently in effect, whose target elements are descendants of the document
Returns a Selection object representing the range of text selected by the user, or the current position of the caret.
DocumentOrShadowRoot.nodeFromPoint() This API has not been standardized.
Returns the topmost node at the specified coordinates.
DocumentOrShadowRoot.nodesFromPoint() This API has not been standardized.
Returns an array of all nodes at the specified coordinates.


Specification Status Comment
Shadow DOM
The definition of 'DocumentOrShadowRoot' in that specification.
Obsolete Implementation in Shadow DOM.
The definition of 'DocumentOrShadowRoot' in that specification.
Living Standard Initial definition.

Browser compatibility

BCD tables only load in the browser

[1] This interface's features are still implemented on the Document object.