Back to Segmented Control-guidelines

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

Segmented Control is a set of two or more segments. Segments act like radio buttons.

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/segmented-control@14.1.0

Table of Contents

Edit this section, Opens in new window

Usage

<form class="if">
  <div class="if input-wrapper">
    <div class="if segmented-control" role="radiogroup" id="labelled-segmented-control" aria-labelledby="segment-label">
      <input type="radio" checked id="segment-1" name="segment-example" />
      <label for="segment-1">Selected</label>

      <input type="radio" id="segment-2" name="segment-example" />
      <label for="segment-2">Segment</label>
    </div>

    <div class="if input-label-wrapper">
      <label class="if help" id="segment-label" for="labelled-segmented-control">
        Label
      </label>
      <button type="button" class="if help-tooltip" aria-label="Help for segmented control"></button>
    </div>
  </div>
</form>
Edit this section, Opens in new window

Accessibility

Segmented control is a restyled group of radio buttons.

Segment container must have role="radiogroup", and must have associated label with it, commonly via aria-labelledby="{LABEL_ID}" Each radio button in a Segment should have its own id; as well as assigned the same name attribute, so that browser knows to group these controls together.

<form>
  <div class="if input-wrapper">
    <div
      class="if segmented-control"
      role="radiogroup"
      id="labelled-segmented-control"
      aria-labelledby="segment-accessibility-label"
    >
      <input class="if" type="radio" id="segment-accessibility-1" name="segment-accessibility-example" />
      <label class="if" for="segment-accessibility-1">Segment</label>

      <input class="if" type="radio" id="segment-accessibility-2" name="segment-accessibility-example" />
      <label class="if" for="segment-accessibility-2">Segment</label>
    </div>

    <div class="if input-label-wrapper">
      <label class="if input-label" id="segment-accessibility-label" for="labelled-segmented-control">
        Label
      </label>
      <button type="button" class="if help-tooltip" aria-label="Help for segmented control"></button>
    </div>
  </div>
</form>

Therefore, if correct radio button markup has been used - accessibility comes for free from the browser. More info at w3.

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.3 (2021-11-14)

Bug Fixes

  • ๐Ÿ› Added ifdesignsystem.min.css (815c2eb)

14.0.0 (2021-11-09)

Bug Fixes

  • ๐Ÿ› Changed hovered,selected-hovered state style, hot reload (26d4703)

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.6.3 (2021-09-17)

Bug Fixes

13.1.4 (2021-08-31)

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.1 (2021-05-28)

Bug Fixes

  • ๐Ÿ› Add fallback focus on segmented control (c80b32b), closes #417460

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

  • ๐Ÿ’ก Rename and consolidate mixins (67cf470), closes #268081
  • ๐Ÿ’ก Rename crosslink buttons to Shortcuts (c05bf9c), closes #336508
  • ๐Ÿ’ก 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
  • ๐Ÿงจ This extracts the Hero variation with no image into a separate, design

updated component named Header

  • ๐Ÿงจ Footer is now renamed to Global Footer
  • ๐Ÿงจ Crosslinks have seized to exist. They are all extracted into separate

components. This commit converts crosslink buttons into the new component Shortcuts

10.2.0 (2021-03-05)

Features

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