Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description

Status
colourYellow
titleOngoing
 

Tabs enable content organisation at a high level, such as switching between views, data sets, or functional aspectsAllowing user for dual screen support, and workspace customisation.

Types

TypeExample

Main tabs

Use it as a tabbed navigation - Single row above their associated content


2nd level tabs

Single row above their associated content


Details pane tabs

Single row above their associated content in the details pane


Ribbon tabs

TBD
Side tabsTBD

Usage & Behaviour

General guidelines

Tabs organize and allow navigation between groups of content that are related and at the same level of hierarchy.
Tabs can be switched by clicking on a different tab.
Each tab label describes the content contained within it.
Keep in mind that at mobile widths and during translation, the character length of a label will impact the experience. Do not use
icons in tab label

General guidelines

Structure

The horizontal layout of the tab bar never changes. The tabs always appear side by side

Navigation view top pane anatomyImage Removed

  • Navigation items
  • Separators
  • Selected item (displayed)

    Image Added


    <TBD>
    Structure ElementDescription
    Hierarchy

    Parent for the entire tree is optional. A tree should have a parent if the parent has meaning or to allow the user to select the entire tree in case there is a use case that will require it.

    When you do use a parent node for the entire tree, expand this node by default.

    Node

    Collapse/expand button: in case the node has descendants.

    Icon (optional): should be used only if the tree can contain several types of nodes. If all nodes are of the same type, an icon should not be used.

    Label (node name) + tooltip in case the entire name does not fit.

    Counter (optional): the number of elements the node contains

    States: Focus, Hover, Selected, Disabled.

    Default SortingAlphabetically (between and within the hierarchy level/group)
    LoadingWhen a user expands a node, if the nodes are not shown immediately, provide "loading" indication at the place below the expanded node.
    Interaction

    Click on the expand/collapse button will do the respective action.

    Click on the node label (+counter) will select the node.

    Keyboard functionalityContainerDisplay a navigation text element arranged together with the active inactive highlighted
    Tab item
    • Describes its content and sets user expectations
    • one to two words maximum
    • Icons are not permitted as a tab labels
    Active tab

    To differentiate an active tab from an inactive tab, apply an 3 px underline and color change to the active tab’s highlighted.

    Default

    By default, show the first tab as open. This is the initial setting provided by the control.
    Note: Technically, you can also override the initial selection. However, this is not recommended.

    • Later on, you can show the tab last selected by the user.

    Number of tabs

    A maximum of four tabs may be displayed. This is to maintain an uncluttered UI and reduce cognitive load for users.

    Order

    Tab order should be consistent across an experience. Tabs with related content should be grouped adjacent to each other.

    Labels

    Each tab label describes its content and sets
    • user
    expectations.
  • Tabs with related content should be grouped adjacent to each other
  • Labels are concise and use one to two words maximum.
  • Tab labels should succinctly describe the content within.
  • Icons are not permitted as a tab labels
    • .


    States

    Main tabs

    2nd level tabsDetails pane tabsRibbon tabs
    Interaction<TBD>

    Interaction

    • You can Click on the entire tab section itemlabel

    • Theres always one tab open, and only one

    • Only 1 content can be viewed at a time, when clicking on other tab, the open tab will closeanother tab the display will change for the selected tab

    • Hovering over tab will show a tooltip with the full ?????????????? name of the section header

    Transitions<TBD>

    Clicked tab will side open while the former open section in the accordion will close at the same time

    Best practices<TBD>

    Use:

    • For long lists, consider using search

    • Use clear labels - Accordions hide content, so the labels need to be clear. 

    • If users will only need a few specific pieces of content within a page.

    • If you have only a small space to display a lot of content.

    Don’t use:

    • If users need to see most or all of the information on a page. Use well-formatted text instead.

    • If there is not enough content to warrant condensing. Accordions increase cognitive load and interaction cost, as users have to make decisions about what headers to click on.

    Usability guidance<TBD>

  • Make the entire header selectable. Allow users to click anywhere in the header area to expand or collapse the content; a larger target is easier to manipulate.

  • Give interactive elements enough space. Make sure interactive elements within the collapsible region are far enough from the headers that users don’t accidentally trigger a collapse. (The exact distance depends on the device.)

    Best practices

    • Keep in mind that at mobile widths and during translation, the character length of a label will impact the experience. Do not use icons in tab label
    • A maximum of four tabs may be displayed. This is to maintain an uncluttered UI and reduce cognitive load for users.
    • Use clear labels
    • Tab order should be consistent across an experience. Tabs with related content should be grouped adjacent to each other.



    TBD

    Current appearances in our products


    Resources

    https://tympanus.net/Development/TabStylesInspiration/

    https://material.io/guidelines/components/tabs.html


    Needs to be designed


    Open issues

    • Maximum tab number - vertical and horizontal
    • Scroll tab - out of the window
    • Tab + Filter - how it works together
    • Align tab solutioan between mobile and desktop (card / line)
    • Tab title - text / icon / icon and title
    • Missing connection between the current tab to the content area in horizontal
    • Decide about maximum letter on title

    Next Steps/Tasks

    • UX design
    • To see full view of tab with other components
    • General suggestion - implementation more interaction for update system to today design

    New LUX design 

    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">Main Tabs <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">
    							<ul class="nav nav-tabs nav-tabs-sm nav-justified">
    							  <li class="nav-item">
    							    <a class="nav-link active show" data-toggle="tab" href="#design">Design</a>
    							  </li>
    							  <li class="nav-item">
    							    <a class="nav-link" data-toggle="tab" href="#collect">Collect</a>
    							  </li>
    							  <li class="nav-item">
    							    <a class="nav-link" data-toggle="tab" href="#analyze">Analyze</a>
    							  </li>
    							</ul>
    						</div>
    						<div class="col-lg-6">
    							<pre class="language-html"><code><script type="prism-html-markup"><ul class="nav nav-tabs nav-tabs-sm nav-justified">
    	<li class="nav-item">
    		<a class="nav-link active show" data-toggle="tab" href="#design">Design</a>
    	</li>
    	<li class="nav-item">
    		<a class="nav-link" data-toggle="tab" href="#collect">Collect</a>
    	</li>
    	<li class="nav-item">
    		<a class="nav-link" data-toggle="tab" href="#analyze">Analyze</a>
    	</li>
    </ul>
    <div class="tab-content">
    	<div id="design" class="tab-pane fade active show"></div>
    	<div id="collect" class="tab-pane fade"></div>
    	<div id="analyze" class="tab-pane fade"></div>
    </div></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">
    							<ul class="nav nav-tabs nav-tabs-sm nav-justified">
    							  <li class="nav-item">
    							    <a class="nav-link disabled" data-toggle="tab" href="#design">Design</a>
    							  </li>
    							  <li class="nav-item">
    							    <a class="nav-link disabled" data-toggle="tab" href="#collect">Collect</a>
    							  </li>
    							  <li class="nav-item">
    							    <a class="nav-link disabled" data-toggle="tab" href="#analyze">Analyze</a>
    							  </li>
    							</ul>
    						</div>
    						<div class="col-lg-6">
    							<pre class="language-html"><code><script type="prism-html-markup"><ul class="nav nav-tabs nav-tabs-sm nav-justified">
    	<li class="nav-item">
    		<a class="nav-link disabled" data-toggle="tab" href="#design">Design</a>
    	</li>
    	<li class="nav-item">
    		<a class="nav-link disabled" data-toggle="tab" href="#collect">Collect</a>
    	</li>
    	<li class="nav-item">
    		<a class="nav-link disabled" data-toggle="tab" href="#analyze">Analyze</a>
    	</li>
    </ul>
    <div class="tab-content">
    	<div id="design" class="tab-pane fade active show"></div>
    	<div id="collect" class="tab-pane fade"></div>
    	<div id="analyze" class="tab-pane fade"></div>
    </div></script></code></pre>
    						</div>
    					</div>
    				</form>
    			</div>
    		</div>


    Table of Contents