Methods and apparatus, including computer program products, for navigating
user interface elements of a computer program application. In one aspect,
a method includes grouping user interface elements of an application into
groups based on a hierarchical arrangement of the elements, detecting a
navigation key press of a sibling or a parent navigation key, and if it
is a sibling navigation key, shifting input focus to a next sibling group
in the hierarchy, and if it is a parent navigation key, shifting input
focus to a parent group in the hierarchy. In another aspect, a method for
navigating editable cells of a table includes detecting a forward or a
backward navigation key; if it is a forward navigation key, shifting
input focus to a next editable cell of the table; and if it is a backward
navigation key, shifting input focus to a previous editable cell of the
table.