NEURALNG

ACCESSIBILITY

Native radio behavior

The visual control wraps real, named radio inputs rather than recreating browser semantics.

Native semantics

The container uses role=radiogroup. Each choice is a native input[type=radio] sharing a stable generated or consumer-provided name.

Keyboard

Arrow keys move and select while skipping disabled choices. Home and End select the first and last enabled choice; Space selects the focused choice.

Roving focus

Only the selected option, or the first enabled option when empty, has tabindex 0. focus() restores that deterministic entry point.

Readonly versus disabled

Readonly remains focusable and exposes aria-readonly while blocking mutation. Disabled uses native disabled inputs and leaves the tab order.

Field state

Field descriptions, required, invalid, busy, disabled, readonly and unstyled state are inherited by the complete group.

SSR and hydration

APP_ID-backed IDs and declarative rendering are deterministic; no browser global is required during server rendering.