JavaScript Element ariaBusy Property

Beginner
5 min read
Updated: Nov 2026
3 examples
Property

Definition

In JavaScript, the ariaBusy property of Element reflects the aria-busy attribute, which indicates whether an element is being modified. Assistive technologies may wait until modifications finish before exposing them to the user (MDN).

Read the notes below before you get or set this property. Prefer feature detection when support is limited.

Syntax

Use el.ariaBusy. Start with this line.

JavaScript
el.ariaBusy
CallWhat it does
el.ariaBusyPrimary signature.

Built into the browser. Read or assign el.ariaBusy — no import required.

Library declarations
JavaScript
el.ariaBusy

Parameters

ParameterDescription
String "true" / "false"Required. Reflected attribute values (MDN)
Clear busy when doneRequired. Leaving "true" forever blocks useful updates

Return Value

Return ValueDescription
*The current value of el.ariaBusy.

JavaScript Examples

Example 1 — Read ariaBusy

MDN-style timer region: read the reflected string value.

JavaScript
const el = document.getElementById("clock");
console.log(el.ariaBusy); // "false"
Try It Yourself

How It Works

  1. Select the element. MDN’s sample uses a timer live region.
  2. Read ariaBusy. Returns the reflected aria-busy string.
  3. Expect a string. Typically "false" or "true".
  4. Same as the attribute. Mirrors what you set in HTML.

Example 2 — Get and Set (MDN)

Assign the strings "true" and "false" from script.

JavaScript
const el = document.getElementById("clock");
console.log(el.ariaBusy); // false
el.ariaBusy = "true";
console.log(el.ariaBusy); // true
Try It Yourself

How It Works

  1. Log the start value. Often "false" from HTML.
  2. Assign a string. Use "true", not boolean true.
  3. Read again. Confirms the property (and attribute) updated.
  4. Remember to clear. Set "false" when the update finishes.

Example 3 — Busy Around an Async Update

Set busy before work; clear it in finally so it always resets.

JavaScript
const region = document.getElementById("status");

async function refresh() {
  region.ariaBusy = "true";
  try {
    const data = await fetch("/api/status").then((r) => r.json());
    region.textContent = data.message;
  } finally {
    region.ariaBusy = "false";
  }
}

refresh();
Try It Yourself

How It Works

  1. Mark busy first. Signals an update is in progress.
  2. Do the work. Fetch and rewrite the region content.
  3. Use finally. Always set "false", even on errors.
  4. Pair with live regions. Helps avoid partial announcements (MDN).

Browser Support

Element.ariaBusy is Baseline Widely available (MDN: across browsers since October 2023). It is not Deprecated, Experimental, or Non-standard.

✓ Baseline Widely available

Element.ariaBusy

Reflects aria-busy as "true" or "false". Set busy while updating; clear when finished.

Baseline Widely available
Google Chrome Supported · Desktop & Mobile
Full support
Mozilla Firefox Supported · Desktop & Mobile
Full support
Apple Safari Supported · macOS & iOS
Full support
Microsoft Edge Supported · Chromium
Full support
Internet Explorer No native support · Use a polyfill
Polyfill
Opera Supported · Modern versions
Full support
Samsung Internet Supported · Android
Full support
Android WebView Supported · Modern WebView
Full support
ariaBusy Baseline

Bottom line: Safe for modern apps. Use string values, clear busy in finally, and pair with aria-live when building live regions.

Frequently Asked Questions

It reflects the aria-busy attribute as a string ("true" or "false"), telling assistive technologies whether an element is being modified so they may wait before exposing changes (MDN).
No. MDN marks Element.ariaBusy as Baseline Widely available (since October 2023). It is not Deprecated, Experimental, or Non-standard.
The strings "true" (element is being updated) or "false" (no expected updates). Default for the attribute is false.
In JavaScript you assign the strings "true" and "false", not the boolean literals true/false. The property reflects the ARIA attribute value.
aria-live controls whether/how updates are announced. ariaAtomic controls how much of a change is spoken. ariaBusy marks that an update is in progress so AT may wait until busy clears.
Yes. Reading and writing ariaBusy updates the reflected aria-busy attribute. Set "true" while updating, then "false" when finished (MDN).

Next: ariaChecked

Learn the Element property that reflects aria-checked for checkable widgets.

ariaChecked tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

12 people found this page helpful