Support keyboard navigation; move away from CSS for hover due to browser-imposed limits on simulating a :hover event (for security) and also for introspecting CSSOM when not in same directory (for privacy); rename vars for clarity/brevity