Back to Status Indicator-guidelines

CSS ComponentThe latest version of this package is: 14.1.0, Opens in new window

Status indicators usually communicate to user where they are (or system is) in the process flow.

This component provides .css, .styl, .less and .scss -files.

To be able to install this component, please refer to the Project Setup documentation.

$ npm i @ids-core/status-indicator@14.1.0

Status indicator

Table of Contents

Edit this section, Opens in new window

Usage

Status indicator without screen reader support to dynamic updates

<span class="if status-indicator active"><span class="if text meta">Active</span></span>

Status indicator with screen reader support to dynamic updates and hidden description text

<!-- or any other container element having `role="status" attribute` -->
<div class="if container" role="status">
  <span class="if status-indicator success"><span class="if axe sr-only">Success</span></span>
</div>
Edit this section, Opens in new window

Accessibility

Label

If the description text is omitted from inside of status indicator, aria-label (or aria-labelledby) must be provided to describe the current state of status indicator, which will be read out by screen reader.

<span class="if status-indicator paused" aria-label="currently paused"></span>

Or:

<span class="if text" id="id-to-label-current-status">Currently paused</span>
...
<span class="if status-indicator paused" aria-labelledby="id-to-label-current-status"></span>

Role

If the status indicator is subject to change dynamically, it is worth adding `role="status"` to status indicator container element to let the screen reader know when a change has happened.

When

<div class="if container" role="status">
  <span class="if text heading">Claim status</span>
  <span class="if status-indicator active"><span class="if text meta">Processing</span></span>
</div>

Becomes

<div class="if container" role="status">
  <span class="if text heading">Claim status</span>
  <span class="if status-indicator success"><span class="if text meta">Processed</span></span>
</div>

Screen reader will politely announce the new claim status.

NB

Please note that if the description text is omitted there must be some other textual change, apart from status indicator `class` and `aria-label` changes, in case of dynamic update for screen reader to pick it up. Screen reader will be able to read status state only when manually navigating to it:
<div class="if container" role="status">
  <span class="if text heading">Claim status</span>
  <span class="if status-indicator paused" aria-label="currently paused"></span>
</div>

Will yield Claim status currently paused, but no dynamic updates will be announced.

Therefore, it is advisable to keep the textual content of status indicator within role="status".

Add .if .axe .sr-only classes to the textual element, which will hide it from the viewport but will keep it available for screen readers.

<div class="if container" role="status">
  <span class="if text heading">Claim status</span>
  <span class="if status-indicator success"><span class="if axe sr-only">Processed</span></span>
</div>

For more info on role="status" refer to w3 and MDN.

Edit this section, Opens in new window

Changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

14.0.0 (2021-11-09)

chore

  • ๐Ÿค– Rename util to utils (f78721f)

Code Refactoring

  • ๐Ÿ’ก Rename scope and repository (3ea5423)
  • ๐Ÿ’ก Use new navigation structure for documentation (415aee5), closes #490579

Documentation

  • โœ๏ธ Update links and change navigation structure (0bfd27d), closes #490579

BREAKING CHANGES

  • ๐Ÿงจ The scope for If Design System npm packages has now changed from

@if-design-system to @ids-core. We have also renamed the repository from if-design-system to ids-core

  • ๐Ÿงจ Util is now renamed to Utils
  • ๐Ÿงจ We have now changed the navigation structure for the documentation site.

Please update any saved links!

  • ๐Ÿงจ Navigation structure has now changed. Please see release notes!

13.11.0 (2021-10-19)

Features

  • ๐ŸŽธ Input field hot reload (eac76b7)

13.9.2 (2021-09-30)

Bug Fixes

  • ๐Ÿ› Complete the pseudo-element fix (1dcee2c)

13.6.3 (2021-09-17)

Bug Fixes

12.13.1 (2021-08-11)

Bug Fixes

  • ๐Ÿ› Whitelist docs dir for npm packaging (1a5cfd0), closes #457621

12.12.1 (2021-08-10)

Bug Fixes

  • ๐Ÿ› Make sure components using fonts, have fonts bundled (d5bb642), closes #354912

12.6.0 (2021-05-27)

Bug Fixes

  • ๐Ÿ› Manually set firstPublished and lastModified (e83af7d)
  • ๐Ÿ› We don't need lastModified (e458a12)

12.0.0 (2021-05-05)

Bug Fixes

  • ๐Ÿ› Update references (c08f107)

Code Refactoring

  • ๐Ÿ’ก Remove Teasers, added Text and Lifestyle cards (1247479), closes #336508
  • ๐Ÿ’ก Rename and consolidate mixins (67cf470), closes #268081
  • ๐Ÿ’ก Rename Footer to Global Footer (7cb7239), closes #336508

Features

  • ๐ŸŽธ Rename and extract and update hero with no image to (384eb77), closes #336508

BREAKING CHANGES

  • ๐Ÿงจ All of the mixins have now been renamed
  • ๐Ÿงจ Teasers are no more. It has been replaces with Lifestyle Navigational

Card, Text Navigational Card. Studio Teasers is gone, use Studio Navigational Card instead, which is based on the old Studio Crosslinks

  • ๐Ÿงจ This extracts the Hero variation with no image into a separate, design

updated component named Header

  • ๐Ÿงจ Footer is now renamed to Global Footer

7.5.0 (2020-11-23)

Features

Edit this section, Opens in new window
Contact us, Opens in new window