tabindex kind of implementation. Focus and caret bleeking still needs some fixin