Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
outlinetrue
stylesquare
classsticky-toc

Description

Status
colourYellow
titleOngoing
 

...

Description

Buttons allow the user to trigger perform a "flow defined single action" (e.g. Apply, Continue, Expand) in context to a container its located in (e.g. , such as navigating to a different view, choosing an option, or completing a task. These actions are always in context, relating to the container it's located in, such as a 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

Image Removed

Types

...

Dialog buttons

...

Used for either main or secondary actions on the page/pane/dialog

...

Icon buttons

...

Used for toolbars and displays where words won’t comfortably fit alongside icons.

...

Split buttons

...

Types

Type

Image

Usage

Dialog Buttons

Image Added

Use for primary and secondary actions.

Icon Buttons

Image Added

Use in areas where dialog buttons won’t comfortably fit, such as toolbars and tables.

Split Buttons

Image Added

Use when there are multiple related actions, with one primary action (e.g. the most frequently used).

Toggle buttons

Switch Buttons

Image Modified
Used

Use to quickly switch between

two possible (

binary options, e.g.

ON

On/

OFF)

Off.

Ribbon buttons

Ribbon Buttons

Image Modified
Used in the ribbon pattern. see Ribbon button.

Use within the /wiki/spaces/UserExp/pages/1390479038 component.

Usage & Behavior

General guidelines

Structure

A button consists of:

  • A trigger area. When selected, this performs an action.

  • A label. This can be text, an icon, or both.

For more information see button types above.

Placement and Positioning

As per each individual button type.

Button menus

For large button menus:

  • up to 3 primary actions should be shown at top level.

  • additional, secondary buttons should be grouped within a contextual Action Menu, shown to the right of the primary buttons.

...

Content

Button labels tell users what will happen when they click the button.

  • Use sentence-case capitalization.

  • Use verbs that describe the action, such as Add or Delete. Use sentence-style capitalization. 

  • For Sets groups of Buttonsbuttons, use specific labels describing the actions, such as Save or Discard, instead of using rather than general terms such as OK and Cancel. This is particularly helpful when the user is confirming an action.

Responsiveness 

...

Internal logic

As per each individual button type.

Positioning

According to button type

States

According to As per each individual button type.

Interaction (general for all buttons)

...

  • Clicking the button target area will initiate its action.

  • When hovering,

...

  • the mouse cursor

...

  • changes from a pointer to a hand.

...

To Hand

  • Clicking (pressing and releasing the left mouse button) on the button target area,  will initiate its action

...

  • Where tooltips are needed please refer to Tooltips

Validations and errors

Transitions

According to As per each individual button type.

Best practices

  • Do not use Buttons as navigational elements . Instead, use Links.

  • In most cases, do not use more than three words for a button labelslabel.

  • Choose

    a button text that is

    labels which are short and meaningful.

  • Avoid acronym using acronyms as labels in buttons. Use language which the user will understand.

Accessibility compliance

Focus management

See general guidelines described in /wiki/spaces/UX/pages/308969693

Screen reader support 

See general guidelines described in /wiki/spaces/UX/pages/308248620

Contrast & size compliance

Are taken into consideration. For more information see general guidelines described in Contrast + Font Size Guidelines

Design

According to button type

Code

Html macro
sanitizefalse
<link rel="stylesheet" href="https://ux.verint.com/fonts/css/verint_lux.css">
<link rel="stylesheet" href="https://ux.verint.com/bootstrap-4.0.0/dist/css/bootstrap.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://ux.verint.com/bootstrap-4.0.0/dist/js/bootstrap.bundle.js"></script>
<script src="https://ux.verint.com/bootstrap-4.0.0/dist/other/accessibility.js"></script>
<script src="https://ux.verint.com/bootstrap-4.0.0/dist/other/prism.min.js"></script>
<link rel="stylesheet" href="https://ux.verint.com/bootstrap-4.0.0/dist/other/prism-coy.min.css">

<div class="card">
			<div class="card-header">Emphasized Button <button id="toggleMarkup" type="button" class="btn btn-sm btn-outline-primary btn btn-fixed-width float-right m-0" onclick="$('pre' ).toggle()">Toggle Markup</button></div>
			<div class="card-body">
				<form>
					<div class="form-group row">
						<label for="inputKey" class="col-lg-2 col-form-label col-form-label-sm">Regular</label>
						<div class="col-lg-4">
							<button type="button" class="btn btn-secondary btn-sm btn-fixed-width">Empha Button</button>
						</div>
						<div class="col-lg-6">
							<pre class="language-html"><code><script type="prism-html-markup"><button type="button" class="btn btn-secondary btn-sm btn-fixed-width">Empha Button</button></script></code></pre>
						</div>
					</div>
					<div class="form-group row">
						<label for="inputKey" class="col-lg-2 col-form-label col-form-label-sm">Disabled</label>
						<div class="col-lg-4">
							<button type="button" class="btn btn-secondary btn-sm btn-fixed-width" disabled>Empha Button</button>
						</div>
						<div class="col-lg-6">
							<pre class="language-html"><code><script type="prism-html-markup"><button type="button" class="btn btn-secondary btn-sm btn-fixed-width" disabled>Empha Button</button></script></code></pre>
						</div>
					</div>
					<div class="form-group row">
						<label for="inputKey" class="col-lg-2 col-form-label col-form-label-sm">Error</label>
						<div class="col-lg-4">
							<button type="button" class="btn btn-secondary btn-sm btn-fixed-width is-invalid">Empha Button</button>
						</div>
						<div class="col-lg-6">
							<pre class="language-html"><code><script type="prism-html-markup"><button type="button" class="btn btn-secondary btn-sm btn-fixed-width is-invalid">Empha Button</button></script></code></pre>
						</div>
					</div>
				</form>
			</div>
		</div>
		<div class="card">
			<div class="card-header">Enter Button</div>
			<div class="card-body">
				<form>
					<div class="form-group row">
						<label for="inputKey" class="col-lg-2 col-form-label col-form-label-sm">Regular</label>
						<div class="col-lg-4">
							<button type="button" class="btn btn-primary btn-sm btn-fixed-width">Enter Button</button>
						</div>
						<div class="col-lg-6">
							<pre class="language-html"><code><script type="prism-html-markup"><button type="button" class="btn btn-primary btn-sm btn-fixed-width">Enter Button</button></script></code></pre>
						</div>
					</div>
					<div class="form-group row">
						<label for="inputKey" class="col-lg-2 col-form-label col-form-label-sm">Disabled</label>
						<div class="col-lg-4">
							<button type="button" class="btn btn-primary btn-sm btn-fixed-width" disabled>Enter Button</button>
						</div>
						<div class="col-lg-6">
							<pre class="language-html"><code><script type="prism-html-markup"><button type="button" class="btn btn-primary btn-sm btn-fixed-width" disabled>Enter Button</button></script></code></pre>
						</div>
					</div>
					<div class="form-group row">
						<label for="inputKey" class="col-lg-2 col-form-label col-form-label-sm">Error</label>
						<div class="col-lg-4">
							<button type="button" class="btn btn-primary btn-sm btn-fixed-width is-invalid">Enter Button</button>
						</div>
						<div class="col-lg-6">
							<pre class="language-html"><code><script type="prism-html-markup"><button type="button" class="btn btn-primary btn-sm btn-fixed-width is-invalid">Enter Button</button></script></code></pre>
						</div>
					</div>
				</form>
			</div>
		</div>
		<div class="card">
			<div class="card-header">Regular Button</div>
			<div class="card-body">
				<form>
					<div class="form-group row">
						<label for="inputKey" class="col-lg-2 col-form-label col-form-label-sm">Regular</label>
						<div class="col-lg-4">
							<button type="button" class="btn btn-light btn-sm btn-fixed-width">Default Button</button>
						</div>
						<div class="col-lg-6">
							<pre class="language-html"><code><script type="prism-html-markup"><button type="button" class="btn btn-light btn-sm btn-fixed-width">Default Button</button></script></code></pre>
						</div>
					</div>
					<div class="form-group row">
						<label for="inputKey" class="col-lg-2 col-form-label col-form-label-sm">Disabled</label>
						<div class="col-lg-4">
							<button type="button" class="btn btn-light btn-sm btn-fixed-width" disabled>Default Button</button>
						</div>
						<div class="col-lg-6">
							<pre class="language-html"><code><script type="prism-html-markup"><button type="button" class="btn btn-light btn-sm btn-fixed-width" disabled>Default Button</button></script></code></pre>
						</div>
					</div>
					<div class="form-group row">
						<label for="inputKey" class="col-lg-2 col-form-label col-form-label-sm">Error</label>
						<div class="col-lg-4">
							<button type="button" class="btn btn-light btn-sm btn-fixed-width is-invalid">Default Button</button>
						</div>
						<div class="col-lg-6">
							<pre class="language-html"><code><script type="prism-html-markup"><button type="button" class="btn btn-light btn-sm btn-fixed-width is-invalid">Default Button</button></script></code></pre>
						</div>
					</div>
				</form>
			</div>
		</div>

Related

...

https://experience.sap.com/fiori-design-web/button/

...

Unless otherwise specified, see our general compliance information in Fundamentals - Accessibility.

Responsive design

Verint products should support all devices down to the common tablet size (960px width). For general guidelines, see Fundamentals - Responsive design.

For button menus:

  • where the width of the container is reduced and the 3 primary buttons cannot all be shown, they should be moved into an Action menu along with the other secondary buttons.

  • the most important primary action, such as Save, should always remain visible.

Design

As per each individual button type.

Code

As per each individual button type.