In JavaScript, the ariaControlsElements property of Element is an array of elements controlled by this element — for example panels a button toggles, or a combobox popup (MDN).
Read the notes below before you get or set this property. Prefer feature detection when support is limited.
Syntax
Use el.ariaControlsElements. Start with this line.
JavaScript
btn.ariaControlsElements
Call
What it does
btn.ariaControlsElements
Primary signature.
Built into the browser. Read or assign el.ariaControlsElements — no import required.
Library declarations
JavaScript
btn.ariaControlsElements
Parameters
Parameter
Description
Controlling element
Required. Button, tab, combobox, scrollbar, ...
Controlled elements
Required. Panels, popup, tabpanels, scroll target
Return Value
Return Value
Description
*
The current value of el.ariaControlsElements.
JavaScript Examples
Example 1 — Read Controlled Elements
MDN-style: resolve aria-controls ids into Element objects.
JavaScript
const btn = document.getElementById("toggleButton");
if ("ariaControlsElements" in Element.prototype) {
const controlled = btn.ariaControlsElements;
controlled.forEach((el) => {
console.log(el.textContent.trim());
});
}
Same call site works across Baseline and older engines.
Compatibility
Browser Support
Element.ariaControlsElements is Baseline Newly available (MDN: since April 2025). It is not Deprecated, Experimental, or Non-standard — still feature-detect for older clients.
✓ Baseline Newly available
Element.ariaControlsElements
Array of elements controlled by this element. Flexible alternative to aria-controls id strings; assigned elements need no id.
NewNewly available (Apr 2025)
Google ChromeSupported · Desktop & Mobile
Full support
Mozilla FirefoxSupported · Desktop & Mobile
Full support
Apple SafariSupported · macOS & iOS
Full support
Microsoft EdgeSupported · Chromium
Full support
Internet ExplorerNo native support · Use a polyfill
Polyfill
OperaSupported · Modern versions
Full support
Samsung InternetSupported · Android
Full support
Android WebViewSupported · Modern WebView
Full support
ariaControlsElementsNew
Bottom line: Use for button→panel, tab→tabpanel, and combobox popup links. Detect support; fall back to aria-controls ids when needed.
Frequently Asked Questions
An array of HTMLElement subclasses representing the elements controlled by this element — for example panels a button toggles, or a combobox popup (MDN).
No. MDN marks Element.ariaControlsElements as Baseline Newly available (since April 2025). It is not Deprecated, Experimental, or Non-standard. Feature-detect on older browsers.
The attribute uses space-separated id strings. The property uses Element references. Assigned elements do not need an id. Setting the property clears the corresponding attribute (MDN).
No. When read, the array is static and read-only. When written, the assigned array is copied — later changes to that array do not update the property (MDN).
For widgets that control other regions: disclosure buttons, accordion panels, combobox popups, tab → tabpanel, and scrollbars (MDN aria-controls).
Yes. Assign an array of elements. Feature-detect first — Baseline Newly available since April 2025.