Figure 1 Menu on Desktop, Mobile and TV platform
Menu can contain the following menu items:
On Desktop platform, all items except Separators and Submenus can have shortcuts. Note: We may consider permitting shortcuts also for Submenus which is sometimes used in complex applications with strong focus on enduser productivity with keyboard (typically IDEs - integrated development environments).
Figure 2 Menu items
Menu items are typically laid in a three column layout with possible indentation of items. As developers can add custom menu items, the layout needs to be as flexible as possible to permit adding vertical visual separators, search boxes, progress bars, icon items in a grid, icons on the right hand side, etc.
Figure 3 Typical menu layout
Sizing and Scrolling
Figure 4 Menu with smaller than needed size
Menu opens on a position relative to the control or place which initiated menu opening. There are multiple possible positions depending on whether there is enough space to open the menu. See the following figure. If the menu is too big to fit on the screen in either position, it adjust its position within the corresponding axis. If it still does not fit in, it opens with scrolling arrows.
Figure 5 Possible menu opening positions
3. Detailed Behaviors
Figure 6 Special-case hover behavior
Table 1 Pointer gestures
Figure 7 Focus in menu hierarchy
2D focus traversal