FabMenu

A Fab that opens a stack of actions - extended pills, each a FabMenuItem - from one corner of a page.

Keyboard

  • Enter and Space press the trigger. On a closed trigger the arrows of the axis the actions go along open it: ArrowUp and ArrowDown for a column, ArrowLeft and ArrowRight for a row.
  • Open, those arrows move the focus along what is drawn - the actions and the trigger, top to bottom or from side to side - without wrapping, skipping an action that is off; Home and End go to the first and the last. A row reads the other way right to left, and so do its arrows. The other axis's arrows are the page's.
  • Escape closes it and returns the focus to the trigger; so does choosing an action. A press anywhere else closes it too, and leaves the focus where the press put it.

Accessibility

  • The trigger has aria-expanded and, while open, aria-controls the stack. A circular trigger needs an aria-label; an extended one is named by its label.
  • Closed, the actions are visibility: hidden: out of the tab order and the accessibility tree.
  • The stack is a disclosure of buttons, not a menu: use Menu for a list of commands that takes arrow keys as its only way in.