The input device of the smart TV is the remote controller. Focusing an element with the remote controller is based on pointing(mouseover
) and pressing buttons(onkeydown
).
Element.focus() is used the UA may scroll the element into view. The result is reasonable when focusing based on onkeydown
. But when focusing by mouseover
the element, focus event also triggers the scroll behavior. In this case, it may bring too much scrolling. This behavior dosen't meet with the requirement of TV app developers and users and it isn't good UX for the smart TV.
This demo is the grid list sample. An element in the grid list can be focused by pressing the keyboard (up, down, left, right buttons) or pointing with the mouse.
This shows no scrolling behavior when focusing by mouseover
. If the option isn't checked, it also shows the result of the default scroll behavior triggered by Element.focus().