JQuery Datepicker - Key events - goals?

JQuery Datepicker - Key events - goals?

I'm trying to ensure my forms are as keyboard-accessible as possible without touching a mouse and I've noticed the datepicker doesn't suit that goal, so I'd like to get an idea of what the JQuery dev team's goals are exactly for the datepicker, and whether I should be focused on writing my modifications to it as a hack for me or a patch for JQuery UI. It's also possible someone will reply saying "That already exists, just pass this option" etc.

The 2 issues I see with JQuery UI and how I'd fix them:
  1. Picking a date loses focus for the textbox. Looking back at older versions it's clear this is a recent regression, but the bug for it is still open: http://bugs.jqueryui.com/ticket/7266 I'd be resolving that regression in my changes.


  2. When you tab into a date input, the datepicker pops open (good) but isn't keyboard-accessible (bad). I pinged around several users ranging in computer-savviness and they all seemed to expect the arrow keys to stop affecting cursor position inside the input field and instead to change the selected date in the grid in the datepicker that popped up - almost as though the calendar now had focus instead of the input field. So my plan is to enable just that - the 4 directions move the selection around, potentially scrolling through months if you move off the edge. Pressing Esc would close the datepicker and restore normal arrow key functionality, and pressing Enter or Space would commit the date, close the datepicker, and restore normal arrow key functionality.
So if this already exists - all ears to hear about it. If not, would this be a goal for the JQueryUI team (specifically those who work on the datepicker), or would my submitting a patch for something like this be stepping on toes?

If it is a patch the team would be interested in I obviously have some extra work on my hands:
  • I need to be careful to conform to JQuery coding guidelines.


  • The above arrowing around functionality would need to be implemented as an option rather than hard-coded, as it seems like something some coders would not expect, or something that might not suit certain uses of a datepicker.
Let me know!