You'd be surprised how far you can get with plain ol' semantic HTML, plus judicious application of tabindex="0". Be careful not to go too crazy with custom shortcuts vs. just letting people tab/shift-tab like normal. W3C WAI has some good tutorials around keyboard accessibility .