Алоритм справледлив для любого направления. Говоря ниже "верхняя грань" имеется в виду грань совпадающая с направлением движения. Для движения вверх - верхняя, вниз - нижняя, вправо - правая, влево - левая.
Пример: есть элементы навигации, элемент в фокусе обозначен красным цветом.
Юзер нижмает кнопку вверх. Первое что происходит - отсеиваютя элементы верхняя грань которых ниже чем верхняя грань элемента в фокусе.
Находятся элементы, грани которых пересекаются по оси перпендикулярной направлению. Если такие элементы находятся, их приоритет становится выше и остальные отсеиваются.
Из оставшихся элементов находится тот чья верхняя грань ближе всего к верхней грани элемента в фокусе. Это и есть искомый элемент.
Если на втором шаге пересекающихся элементов не было найдено с оставшимися элементами происходит тоже самое. Находится самый ближайший.
В этом примере двигаясь по вертикали из элемента B в элемент A перейти можно, но не наоборот. Это происходит потому что нижняя грань элемента A, ниже нижней грани элемента B. Таким образом A одновременно и выше и ниже B