NEURALNG

ACCESSIBILITY

Non-modal by design

Popover preserves native disclosure behavior without inventing menu semantics or trapping focus.

Trigger contract

Use a native interactive trigger. The directive synchronizes aria-controls and aria-expanded.

Roles and labels

dialog and region are opt-in because arbitrary disclosure content needs no universal role. Name either role through ariaLabel or ariaLabelledby.

Focus lifecycle

Default opening keeps trigger focus. Explicit and Escape closes restore it; outside pointer dismissal preserves the newly selected target.

Keyboard

Enter or Space activates a native button trigger. Escape closes only the topmost eligible Popover.

Top layer and RTL

Native Popover avoids clipping, so no appendTo="body" input is needed. Logical start/end placements mirror under RTL.

SSR and hydration

The server renders deterministic closed markup. Top-layer and positioner work begins only in the browser.