The trigger carries aria-haspopup="dialog" and aria-expanded, while the calendar grid inside uses role="grid" with each date button as a role="gridcell". Arrow keys conventionally move by one day (up/down by seven), and PageUp/PageDown jump a month back or forward.
It's easy to confuse with a calendar view, but the purpose differs. A calendar view is a persistent screen for browsing a whole month of events, while a date picker is a transient popup that opens just long enough to fill one form field. Picking a value should close it immediately — there's no need to scan several dates at once.
Focus should land on the already-selected date (or today, if none) when the popup opens, and return to the input when it closes. Esc closes it without changing the value.