Action button

Version 8.0.0

Action buttons allow users to perform an action or mark a selection. They’re used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of attention.

Settings panel with two action buttons with icons, labeled File setup and Preferences.
DateVersionSpectrumExpress UI KitAug 30, 20228.0.0DownloadDownloadApr 06, 20227.0.0DownloadDownloadFeb 02, 20226.3.0DownloadDownloadJan 28, 20226.2.0DownloadJul 13, 20216.1.0DownloadSep 15, 20206.0.0DownloadFeb 26, 20205.2.1DownloadAug 22, 20195.2.0DownloadAug 13, 20195.1.0DownloadJul 31, 20195.0.1DownloadApr 20, 20195.0.0Download

Anatomy#

Image illustrating through labels the component parts of an action button, including its icon, label, and hold icon.

Options#

Key example of an action button with a pencil icon and label Edit, one with label Edit and no pencil icon, and one with a pencil icon without a label.

Label and icon#

Action buttons should always have a label, unless they are only using an icon that is universally understood and accessible. They can have an optional icon, but it should not be used for decoration. Use an icon only when necessary and when it has a strong association with the label text.

The label can be hidden to create an icon-only action button. If the label is hidden, an icon is required, and the label will appear in a tooltip on hover.

Key example of five action buttons with icon and label Edit showing the size options available including extra-small, small, medium, large, and extra-large.

Size#

Action buttons come in five different sizes: extra-small, small, medium, large, and extra-large. The medium size is the default and most frequently used option. Use the other sizes sparingly; they should be used to create a hierarchy of importance within the page.

Key examples of action buttons in the default style with a visible border and background, and examples of action buttons in quiet style without a visible background, one with the label Edit, one with both icon and the label Edit, and one with an icon only.

Quiet#

By default, action buttons have a visible background. This style works best in a dense array of controls where the background helps to separate action buttons from the surrounding container, or to give visibility to isolated buttons.

Alternatively, quiet action buttons can have no visible background until they’re interacted with. This style works best when a clear layout (vertical stack, table, grid) makes it easy to parse the buttons. Too many quiet components in a small space can be hard to read.

Key example showing an action button with an icon and label Edit in its default and selected state side-by-side, for both default and quiet styles.

Selected#

An action button can have a selected state to allow for toggling — not only for taking a direct action. This can be used to disclose parts of an interface, such as for showing or hiding panels.

Key example showing selected action buttons with and without emphasis, with an icon and the label Edit.

Emphasis#

By default, action buttons are not emphasized. This is optimal for when an action button is not the core part of an interface, such as in application panels, where all the visual components are monochrome in order to direct focus to the content.

The emphasized action button has a blue background for its selected state in order to provide a visual prominence. This is optimal for when the selection should call attention, such as within a tool bar.

Key example of action buttons shown in static white and static black styles over solid colored backgrounds. Action buttons are also displaying not-quiet style in both selected and non-selected states for the two static color options. 3 different kinds of buttons for an "Edit" action: icon-only with a pencil icon, icon plus the label, "Edit," and label-only.

Static color#

When an action button needs to be placed on top of a color background or a visual, use the static color option. Static color action buttons are available in transparencies, or in solid black or solid white, and don't change shades or values depending upon the color theme. Use static black on light color or image backgrounds, and static white on dark color or image backgrounds, regardless of the color theme.

Static color action buttons can appear in static white, regardless of color theme. The static color option allows for them to be placed on top of a custom background that is not part of a Spectrum color theme.

Key example of an action button with a Pen tool icon with a hold icon (a small triangle in the bottom-right corner.)

Hold icon#

An action button can have a hold icon (a small corner triangle). This icon indicates that holding down the action button for a short amount of time can reveal a popover menu, which can be used, for example, to switch between related actions.

Key example of disabled action buttons in both default and quiet styles with an icon and label Edit.

Disabled#

An action button in a disabled state shows that an action exists, but is not available in that circumstance. This state can be used to maintain layout continuity and to communicate that an action may become available later.

Table of options#

From the design point of view, each component has a number of options. These options and their names are platform agnostic, and each implementation should adapt these to fit into their framework.

PropertyValuesDefault Valuelabeltexthide labelyes / nonoiconicon / nothing
Icon must be present if the label is not defined.
nothing
sizeextra-small / small / medium / large / extra-largemediumis quietyes / nonois selectedyes / nonois emphasizedyes / nonostatic colornone / black / whitenoneselected text colorhex value#000000has hold iconyes / nonois disabledyes / nono

Behaviors#

Key example of an action button with a very long label Präferenzen verwalten (German for manage preferences) being truncated at the end when the button container is not wide enough for the label, while still displaying the full label in a tooltip on mouse hover.

Text overflow#

When the action button text is too long for the available horizontal space, it truncates at the end. The full text should be revealed with a tooltip on hover.

Key example showing 2 action buttons with and without emphasis in keyboard focus state, with an icon and the label Edit.

Keyboard focus#

An action button can be navigated using a keyboard. The keyboard focus state takes the button’s visual hover state and adds a blue ring to the button in focus.

Key examples of the cursor direction behavior for action buttons. First example, action button with an icon Open In and label Visit website. Pointer cursor appears. Second example, action button with an icon Save To and label Save. Arrow cursor appears.

Cursor direction#

Action buttons use the default arrow cursor for all states, including hover and down. The only exception occurs on the web; if the action button is using the href property it will display the pointer cursor instead.

Key example of action button in Windows “high contrast black” theme with label “action” and disabled button with label “disabled”.

Windows high contrast mode#

In Windows high contrast mode, action buttons should be displayed using the high contrast theme-specified colors for buttons. By default, borders and icons should be the same color as the button text color. Quiet action buttons do not have a border in default and disabled states. In hover and keyboard focus states, a border should display as the button border color. In the disabled state, border, icon, and text color should display as the disabled color.

Action button (Windows high contrast mode) UI kit

Usage guidelines#

Use tooltips#

Icon-only action buttons can be hard to identify. They should always show a tooltip upon hovering for a short period of time, displaying the name and possibly a keyboard shortcut.

do
Key examples showing correct usage of action buttons without visible labels. Two side-by-side action buttons, icons for Document and Settings, mouse hovered over Settings action button showing tooltip label Settings. Three action buttons stacked vertically, icons for Anchor point, Artboard, and Zoom, mouse hovered over Artboard action button showing tooltip label Artboard.

Isolated action buttons#

If you have an icon-only or text-only isolated action button, use the standard style to make sure it’s more easily identifiable as a button.

do
Key example showing correct usage of a single action button in default (non-quiet) style with label Copy link, next to a text field labeled File URL with a link inside.

When using a hold icon to switch actions, only group the actions that are part of the same family. Don't group unrelated actions just for the sake of saving space.

do
Key example showing a correct use of the hold icon to group similar actions. A selected action button within a vertical action button group with an icon for brush. Next to it, a popover menu opened for an additional option for Pencil, with Brush being the selected action shown by a checkmark.
dont
Key example showing an incorrect use of the hold icon to group similar actions. A selected action button within a vertical action button group with an icon for pen tool. Next to it, a popover menu opened for additional options like rectangular marquee, gradient, and anchor point tools which are very different from the pen tool.

Respect hold icon placement#

In left-to-right interfaces, the hold icon is always in the bottom right corner of the action button. It's a symbolic indicator that shows that a popover menu will appear on hold. Don't change the placement of the hold icon based on the design of the interface.

do
Key example showing the correct placement of the hold icon. It is placed on the bottom right corner, even when the action button group is inside a bar panel on the far right side of the application frame.
dont
Key example showing the incorrect placement of the hold icon, placed on the bottom left corner of an icon-only action button in a vertical action button group is inside a bar panel on the far right side of the application frame.

When to use static black and static white#

To ensure maximum contrast with the background, use static black for light backgrounds and images, and use static white for dark backgrounds and images. Avoid placing static components on top of busy images with a lot of variance in contrast.

do
Key examples of two action buttons show in selected and non-selected states, correctly using the static black option. First example, static black action buttons for the action “Edit,” including a “pencil” icon, on a solid light blue background. Second example, static black action buttons for the action “Edit,” including a “pencil” icon, on a light-themed image. Both examples show how the static black action buttons has high contrast on light backgrounds.
dont
Key examples of two action buttons show in selected and non-selected states, incorrectly using the static white option. First example, static white action buttons for the action “Edit,” including a “pencil” icon, on a solid light blue background. Second example, static white action buttons for the action “Edit,” including a “pencil” icon, on a light-themed image. Both examples show how the static white action buttons has low contrast on light backgrounds.

Selected state text color#

The text color on the selected state of the over-background variant can be customized to match the background it’s on. Use the background color for selected text when the action button is on a solid color, and is dark enough to meet a 4.5:1 contrast ratio with a white background (or black background, for the static black variant).

Use black text when the button is on top of an image, or if the background is too low-contrast to meet the 4.5:1 contrast ratio.

do
Key examples of two action buttons show in selected and non-selected states, correctly using the static white option. First example, static white action buttons for the action “Edit,” including a “pencil” icon, on a solid dark blue background. Second example, static white action buttons for the action “Edit,” including a “pencil” icon, on a dark-themed image. The example on the solid blue background shows the selected action button with a white background and matching blue text. The example on the dark-themed image shows the selected action button with a white background and solid black text.
dont
Key examples of two action buttons show in selected and non-selected states, incorrectly using the static white option. First example, static white action buttons for the action “Edit,” including a “pencil” icon, on a solid dark blue background. Second example, static white action buttons for the action “Edit,” including a “pencil” icon, on a dark-themed image. The example on the solid blue background incorrectly has the selected action button with a white background and solid black text. The example on the dark-themed image incorrectly has the selected action button with a white background and orange text.

Internationalization#

Key example of a mirrored action button with icon on the right and label Edit in Arabic on the left. Three icon-only action buttons with the hold icon mirrored, placed in the bottom left-hand corner of the action button.

RTL#

For RTL (right-to-left) languages, the layout of the action button is mirrored. The icon is placed on the right side of the text and the hold icon is placed on the left side of the icon.

Keyboard interactions#

When an action button does not feature a hold icon:

KeyInteractionSpace or EnterExecutes the action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller.

When an action button features a hold icon:

KeyInteractionEnterExecutes the action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller.SpaceOpens the popover menu.Alt + Down ArrowOpens the popover menu.

Theming#

A theme is an intentional, systematic customization of Spectrum. It has unique visual attributes. For more information, view Theming.

Key example showing selected action buttons with and without emphasis in the Spectrum for Adobe Express theme, all with a trash can icon and the label Delete.

Spectrum for Adobe Express#

Action buttons in Spectrum for Adobe Express have more rounding, higher contrast, and indigo accents for emphasized selection. Spectrum for Adobe Express also uses a different icon set.

Changelog#

DateNumberNotesAug 30, 20228.0.0
  • Updated colors for non-emphasized selected state
  • Updated icon colors to match text color
  • Updated keyboard focus state for non-quiet buttons to use focus ring
  • Updated disabled text and icon color (from gray-500 to gray-400)
Apr 06, 20227.0.0
  • Updated all colors to 6.0.0
Feb 02, 20226.3.0
  • Added extra-small size
Jan 28, 20226.2.0
  • Updated label option to required
  • Added hide label option
  • Added cursor direction behavior
Jul 13, 20216.1.0
  • Added static color option and usage guidelines
Sep 15, 20206.0.0
  • Added size option
  • Updated current (medium) size to accommodate multiple sizes
  • Updated keyboard focus state design for emphasized action buttons
  • Updated background color to be consistent between selected action buttons
  • Removed border in selected quiet action button in UI kit (bug)
  • Separated action group into its own component
Feb 26, 20205.2.1
  • Updated border color to be more accessible
Aug 22, 20195.2.0
  • Added text overflow behavior
  • Added group overflow behavior
Aug 13, 20195.1.0
  • Added emphasis (“emphasized/not emphasized”)
  • Combined tool component with this component
Jul 31, 20195.0.1
  • Updated text to use sentence case
Apr 20, 20195.0.0
  • This component is now individually versioned (individual versions of existing components start at 5.0.0)
  • Added RTL (right-to-left) guidelines

Design checklist#

check

All interactive states

Includes all interactive states that are applicable (hover, down, focus, keyboard focus, disabled).

check

All color themes

Works properly across all four color themes (lightest, light, dark, darkest).

check

All platform scales

Includes a desktop scale (UWP, macOS, web desktop) and a mobile scale (iOS, Android, web mobile).

check

Accessible use of color

Color is not used as the only visual means of conveying information (WCAG 2.0 1.4.1).

check

Accessible contrast for text

Text has a contrast ratio of at least 4.5:1 for small text and at least 3:1 for large text (WCAG 2.0 1.4.3).

check

Accessible contrast for UI components

Visual information required to identify components and states (except inactive components) has a contrast ratio of at least 3:1 (WCAG 2.1 1.4.11).

check

Content design

UI language and information design considerations have been incorporated into component design.

check

Defined options

Includes relevant options (variant, style, size, orientation, optional iconography, decorations, selection, error state, etc.)

check

Defined behaviors

Includes guidelines for keyboard focus, layout (wrapping, truncation, overflow), animation, interactions, etc.

check

Usage guidelines

Includes a list of dos and don'ts that highlight best practices and common mistakes.

unchecked

Writing guidelines

Includes content standards or usage guidelines for how to write or format in-product content for the component.

check

Internationalization guidelines

Works properly across various locales and includes guidelines for bi-directionality (RTL).

check

Keyboard interactions

Follows WCAG 2.0 standards for keyboard accessibility guidelines and includes a description of the keyboard interactions.

check

Design tokens

All design attributes (color, typography, layout, animation, etc.) are available as design tokens.

check

UI kit

Includes a downloadable XD file that shows multiple options, states, color themes, and platform scales.

check

Generated UI kit

Includes a downloadable XD file, generated by code using design tokens defined in Spectrum DNA, and shows multiple options, states, color themes, and platform scales.

check

In Spectrum for Adobe XD plugin

Component is included in the Spectrum for Adobe XD plugin.