spec checked

MDN ARIA Progressbar Role

Documents the ARIA progressbar role, accessible names, determinate and indeterminate values, and using aria-busy on a related loading region until loading is finished.

Open source

Pattern Decisions This Source Supports

Pattern Supported decision Required contract Claim note
Infinite spinner Flag this anti-pattern when a spinner or busy overlay can continue without a timeout, elapsed status, retry, cancel, fallback, or failure state. The loading state is tied to a specific region, action, or object instead of freezing the entire interface without explanation. MDN documents progressbar semantics, accessible names, indeterminate progress, determinate values, and aria-busy for related loading regions.
Loading spinner Choose loading spinner when the wait is indeterminate, short, and tied to a named action or region. The spinner appears only after the operation starts and disappears or changes state when the operation resolves, fails, is cancelled, or moves to background. MDN supports accessible progress naming, indeterminate state, determinate values, and aria-busy on affected loading regions.
Progress bar Choose progress bar when the system can report a meaningful value toward a bounded operation. The progress bar appears only after the operation starts and is scoped to the affected file, job, card, dialog, or page region. MDN supports accessible progressbar names, current values, min/max defaults, value text, native progress preference, and aria-busy relationships.

Evidence Role

This source is treated as spec evidence. Use it to validate the decision rules above, not as a visual style reference.

Publisher: MDN Web Docs. Last checked: .