coderef

Reference targetLimited availability

The referenceTarget property of a ShadowRoot object forwards attributes such as for and aria-labelledby to elements inside a shadow DOM. You can use this to, for example, link a <label> to its <input> even if the <input> is in the shadow DOM of a web component.

Not yet supported in all major browsers — check the table and provide a fallback.

Browser support

DesktopChrome
1–151Not supported
152+Supportedsince Aug 25, 2026
Current: 155
Edge
12–151Not supported
152+Supportedsince Aug 28, 2026
Current: 154
Firefox
✕Not supportedup to 157
Current: 157
Safari
✕Not supportedup to 27
Current: 27
MobileChrome Android
18–151Not supported
152+Supportedsince Aug 25, 2026
Current: 155
Firefox Android
✕Not supportedup to 157
Current: 157
Safari iOS
✕Not supportedup to 27
Current: 27

How to use

Not supported in Firefox, Safari, Firefox Android, Safari iOS. Use feature detection below and provide a fallback (or a polyfill) for those browsers.

Example

Full syntax and examples are on MDN: attachShadow#referencetarget.

Feature detection

JS · check before using
if ("ShadowRoot" in globalThis && "referenceTarget" in ShadowRoot.prototype) {
  // ShadowRoot.referenceTarget is available
}

Sub-features

Support for each part of the feature (4). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
Element.attachShadow.options_referenceTarget_parameter152152✕✕152✕✕
HTMLTemplateElement.shadowRootReferenceTarget152152✕✕152✕✕
ShadowRoot.referenceTarget152152✕✕152✕✕
template.shadowrootreferencetarget152152✕✕152✕✕