Перейти к контенту

Speed Dial

При нажатии плавающая кнопка действия может отображать от трех до шести связанных между собой кнопок действий.

Для отображения больше шести кнопок следует использовать другой компонент вместо FAB.

Simple Speed Dial

Плавающая кнопка может отображать связанные действия.

<SpeedDial
  ariaLabel="SpeedDial basic example"
  sx={{ position: 'absolute', bottom: 16, right: 16 }}
  icon={<SpeedDialIcon />}
>
  {actions.map((action) => (
    <SpeedDialAction
      key={action.name}
      icon={action.icon}
      tooltipTitle={action.name}
    />
  ))}
</SpeedDial>

Controlled speed dial

You can provide an alternate icon for the closed and open states using the icon and openIcon props of the SpeedDialIcon component.

The SpeedDialActions tooltips can be be displayed persistently so that users don't have to long-press in order to see the tooltip on touch devices.

Custom close icon

Вы можете задать альтернативную иконку для закрытого и открытого состояний, используя свойства icon и openIcon компонента SpeedDialIcon.

<SpeedDial
  ariaLabel="SpeedDial openIcon example"
  sx={{ position: 'absolute', bottom: 16, right: 16 }}
  icon={<SpeedDialIcon openIcon={<EditIcon />} />}
>
  {actions.map((action) => (
    <SpeedDialAction
      key={action.name}
      icon={action.icon}
      tooltipTitle={action.name}
    />
  ))}
</SpeedDial>

Persistent action tooltips

The SpeedDialActions tooltips can be displayed persistently so that users don't have to long-press to see the tooltip on touch devices.

It is enabled here across all devices for demo purposes, but in production it could use the isTouch logic to conditionally set the prop.

Доступность

ARIA

Required

  • You should provide an ariaLabel for the speed dial component.
  • You should provide a tooltipTitle for each speed dial action.

Provided

  • The Fab has aria-haspopup, aria-expanded and aria-controls attributes.
  • The speed dial actions container has role="menu" and aria-orientation set according to the direction.
  • The speed dial actions have role="menuitem", and an aria-describedby attribute that references the associated tooltip.

Keyboard

  • The speed dial opens on focus.
  • The Space and Enter keys trigger the selected speed dial action, and toggle the speed dial open state.
  • The cursor keys move focus to the next or previous speed dial action. (Note that any cursor direction can be used initially to open the speed dial. This enables the expected behavior for the actual or perceived orientation of the speed dial, for example for a screen reader user who perceives the speed dial as a drop-down menu.)
  • The Escape key closes the speed dial and, if a speed dial action was focused, returns focus to the Fab.