A component that allows the user to trigger a "flow defined single action" (e.g. Apply, Continue, Expand) in context to a container its located in (e.g. screen, form, wizard, popup, popover, etc...).
Example for a table with a row of buttons from different types (icon, Icon + name, split) at the top
Any remaining calls-to-action are represented as secondary buttons
General guidelines
Labels
Button labels tell users what will happen when they click the button.
Use verbs that describe the action, such as Add or Delete. Use sentence-style capitalisation.
For Sets of Buttons, use specific labels, such as Save or Discard, instead of using OK and Cancel. This is particularly helpful when the user is confirming an action.
Responssiveness
According to button type
Positioning
See by specific type
States
Buttons states are described according to button type
Interaction (general for all buttons)
When hovering, Mouse cursor change from pointer
To Hand
Clicking (pressing and releasing the left mouse button) on the button target area, will initiate its action
If a user clicked (but didn't release) on a button and moved the mouse cursor:
Out of the target area and released the mouse button- the action will not be initiated
Out of the target area. Moved it back in the target area and released the mouse button - the action will be initiated
Validations and errors
See more specific details according to button type