Repair TAB order bug

I believe this fixes tab order and simplifies its
implementation.  I've played around with tab and
shift tab so I hvae some manual testing results
indicating things are fixed.

I still want to figure out how to add QUnit tests
for this.