NEURALNG

ACCESSIBILITY

Unknown progress, clearly announced

The visible arc is decorative; the containing progressbar communicates the actual task state.

Indeterminate semantics

The root exposes role="progressbar" without invented aria-valuenow, min or max attributes.

Accessible names

ariaLabelledBy takes precedence over ariaLabel, then the explicit label, then the active locale's common loading message.

Value descriptions

ariaValueText can announce domain state such as �Waiting for approval� without forcing that copy into the visual layout.

Reduced motion

Under prefers-reduced-motion: reduce, rotation stops and a static arc continues to communicate activity visually.

Localization

An unlabeled spinner resolves its accessible name from NeuralLocaleService.messages().common.loading and updates with the active locale.

SSR and hydration

Signal normalization and locale resolution avoid browser globals, keeping server and client markup deterministic.