Future

Heros

Planned

A hero image with an optional text overlay can be used for mastheads, call-to-actions or empty-state cards.

Examples

Lighter image example

Overlay title

Lorem ipsum dolor sit amet...

Options

Lighter image example

Overlay title

Lorem ipsum dolor sit amet...

<div class="aspect-ratio-16x9 relative">

<!-- The hero image -->
<img class="box img-cover" src="" width="" height="" loading="lazy" alt="">

<!-- The hero overlay -->
<div class="aspect-ratio-16x9 flex flex-center flex-middle">
<div class="m-4 p-2 xs:p-6 bg-white-glass-3 t-center t-lg">
<h1 class="t-semibold t-black">Overlay title</h1>
<p class="mb-0 t-black">Lorem ipsum dolor sit amet...</p>
</div>
</div>

</div>

Notes on heros

  1. The hero dimensions can be set to anything but there are a number of aspect ratio wrapper utility class. Alternatively we can set a min-height on the wrapper.
  2. When necessary on small viewports, aspect-ratio-* wrappers will vertically deform to accommodate the content of their immediate child element so longer titles etc. shouldn't break up on small devices.
  3. The hero image needs CSS classes box img-cover.
  4. The overlay also needs the same aspect-ratio wrapper so that it expands to cover the image. Then you can use flexbox to position your overlay panel anywhere you want (the example here is centered and middled).
  5. You will need a big enough image, of course, with its most important content in its center and middle, so that it is not “cropped off”. Any the image will need to be square or approximately square. For the reason why – see cover images.
  6. Also, you will need to figure out what colour is best for the text over your choice of image, for the obtaining the best legibility. Usually I use the t-black utility over light images and t-white over dark images. And, if you are struggling to read your hero title and/or other text over your image, there are a few options that you can explore:
    • Darken your image behind white text, or lighen your image behind black text.
    • Make your image grayscale (or other color scale), or blurred. Carbon contains grayscale and blur CSS filters.
    • Give your text a text shadow. (The text shadow needs to be dark over a dark image and light over a light image.)
    • Try a Carbon glass overlay behind your text.

Implementation

Lighter image example

Overlay title

Lorem ipsum dolor sit amet...

<div class="aspect-ratio-16x9 relative">

<!-- The hero image -->
<img class="box img-cover" src="" width="" height="" loading="lazy" alt="">

<!-- The hero overlay -->
<div class="aspect-ratio-16x9 flex flex-center flex-middle">
<div class="m-4 p-2 xs:p-6 bg-white-glass-3 t-center t-lg">
<h1 class="t-semibold t-black">Overlay title</h1>
<p class="mb-0 t-black">Lorem ipsum dolor sit amet...</p>
</div>
</div>

</div>

Notes on heros

  1. The hero dimensions can be set to anything but there are a number of aspect ratio wrapper utility class. Alternatively we can set a min-height on the wrapper.
  2. When necessary on small viewports, aspect-ratio-* wrappers will vertically deform to accommodate the content of their immediate child element so longer titles etc. shouldn't break up on small devices.
  3. The hero image needs CSS classes box img-cover.
  4. The overlay also needs the same aspect-ratio wrapper so that it expands to cover the image. Then you can use flexbox to position your overlay panel anywhere you want (the example here is centered and middled).
  5. You will need a big enough image, of course, with its most important content in its center and middle, so that it is not “cropped off”. Any the image will need to be square or approximately square. For the reason why – see cover images.
  6. Also, you will need to figure out what colour is best for the text over your choice of image, for the obtaining the best legibility. Usually I use the t-black utility over light images and t-white over dark images. And, if you are struggling to read your hero title and/or other text over your image, there are a few options that you can explore:
    • Darken your image behind white text, or lighen your image behind black text.
    • Make your image grayscale (or other color scale), or blurred. Carbon contains grayscale and blur CSS filters.
    • Give your text a text shadow. (The text shadow needs to be dark over a dark image and light over a light image.)
    • Try a Carbon glass overlay behind your text.

Information Tab

Checklist

All interactive states

Includes all interactive states that are applicable (hover, down, focus, keyboard disabled).

All Color Schemes

Works properly across all color schemes (light, dark).

Accessible Contrast for Text

Text has a contrast ratio of at least 4.5:1 for small text and at least 3:1 for large text (WCAG 2.0 1.4.3).

Accessible Contrast for UI Components

Visual information required to identify components and states (except inactive components) has a contrast ratio of at least 3:1 (WCAG 2.1 1.4.11).

Defined Options

Includes relevant options (variant, style, size, orientation, optional iconography, decorations, selection, error state, etc).

Defined Behaviors

Includes guidelines for keyboard focus, layout(wrapping, truncation, overflow) animation, interactions etc.

Usage guidelines

Includes a list of dos and don'ts that highlight best practices and common mistakes.

Writing Guidelines

Includes content standards or usage guidelines for how to write or format in-product content for the component.

Internationalization Guidelines

Works properly across various locales and includes guidelines for bi-directionality (RTL).

Keyboard Interactions

Follows WCAG 2.0 standards for keyboard accessibility guidelines and includes a description of the keyboard interactions.

Design Tokens

All design attributes (color, typography, layout, animation, etc.) are available as design tokens.

UI Kit

Includes a downloadable Figma file that shows multiple options, states, color themes, and platform scales.