# `Excessibility.LiveViewRules.Rules.DebounceWithoutLiveRegion`
[🔗](https://github.com/lessthanseventy/excessibility/blob/v0.18.1/lib/excessibility/live_view_rules/rules/debounce_without_live_region.ex#L1)

Flags `<input phx-debounce>` when the snapshot has no ARIA live region
anywhere.

LiveView search-style inputs with `phx-debounce` push updates silently;
screen-reader users typing a search term have no idea that results
appeared or changed. At minimum, the page should contain an
`aria-live` region (or `role="status" | "alert" | "log"`) somewhere
the updated results can land.

## Detection

This rule is conservative: it only flags a debounced input when the
**entire snapshot** has zero ARIA live regions. If any live region
exists, we assume the app is announcing changes correctly. This
minimizes false positives at the cost of missing cases where a live
region exists but isn't where the results actually render.

## Fix

    <!-- Bad -->
    <input type="search" name="q" phx-debounce="200" />
    <table><tbody>...results...</tbody></table>

    <!-- Good -->
    <input type="search" name="q" phx-debounce="200" />
    <div aria-live="polite">
      <table><tbody>...results...</tbody></table>
    </div>

---

*Consult [api-reference.md](api-reference.md) for complete listing*
