NEURALNG
ACCESSIBILITY

A calendar operable without a pointer

DatePicker follows the dialog/grid interaction model, preserves focus ownership and exposes localized full-date announcements.

Semantic model

Trigger

aria-haspopup="dialog", expanded state and the stable panel relationship remain on the input.

Calendar

Native grid, row and gridcell roles use roving tabindex. Full weekday and date names remain available to assistive technology.

Keyboard contract

KeyBehavior
Arrow keys Move by day/week; time fields step their active unit.
Home / End Move to the locale-aware start/end of the current week.
Page Up / Down Move one month; Shift moves one year.
Enter / Space Select the active value.
Escape Cancel the draft, close and restore focus.

Focus and overlay

The shared Popover foundation uses the browser top layer, matches trigger width, flips/clamps inside the viewport and restores focus on dismissal. Destroying the control releases listeners and pending focus work.

Locale and RTL

Month/day names, messages, strict date format and week start come from NeuralLocaleService or a component override. RTL reverses logical horizontal navigation without changing the serialized value model.