aria-live Announcements Debugger

Live regions fire silently — you can't tell if, what, or when a screen reader will announce a change. This tool hooks a MutationObserver into your markup and turns every announcement into a visible, timestamped log with its politeness level.

Web Accessibility Local processing Your code runs sandboxed in your browser. Nothing is uploaded.

Tool interface

Introduction

Dynamic UIs (toasts, validation messages, dashboards) rely on live regions. When they misfire, screen-reader users miss critical information. This debugger makes the invisible announcement stream visible.

How it works

  • Your HTML (and optional JS) runs in a sandboxed iframe.
  • An injected MutationObserver watches live regions and posts each change to the parent.
  • The parent renders a timestamped log with politeness, role, and exact text.
  • "Simulate update" injects a change to demo the log without writing JS.

Privacy

The iframe is sandboxed (allow-scripts only) and communicates via postMessage. No upload, no account, no API key.

Limitations

  • Simulates triggers, not actual speech synthesis.
  • Does not model vendor-specific announcement queueing or deduplication.

FAQ

Why isn't my toast announced?

Common causes: the live region is created at the same time as its content (create the empty region first), or the region is removed too quickly.

Is my code uploaded?

No. It runs sandboxed in your browser.

Related tools

Version and changelog

  • Version: 1.0.0
  • Last updated: August 12, 2026
  • Changelog: Initial production release.