Keyboard nav: refactor