Addresses

Last Updated: August 20, 2018

Use only for . . . addresses?

Code Example

The Simpsons, 742 Evergreen Terrace,
Springfield,
80085,
USA
<address class="a-address">
    <span class="a-address__heading">The Simpsons,</span>
    742 Evergreen Terrace,<br>
    Springfield,<br>
    80085,<br>
    USA
</address>

External Resources


Avatars

Last Updated: December 4, 2018

Avatars are useful for quotations, profile pictures and account photos.

Accessibility Considerations

Same considerations as the image atom, with the primary concern being the inclusion of the alt attribute. Since the avatar atom should never be used merely as a decorative element, the alt description must be included, without exception.

Ensure that the alt attribute thoroughly describes the image; never simply place the file name here. In most cases the avatar will contain a portrait, so a good alt description would be "John Q. Public, MD, Cardiothoracic Surgeon," not "Dr. Public" or "public-john.jpg."

Use

Primarily used in the content banner molecule.

Recommended ๐Ÿ‘

Example of an avatar use within a content banner molecule
Fig 1: Example of an avatar use within a content banner molecule.

Not Recommended ๐Ÿ‘Ž

Example of avatar used floated to the right in a paragraph
Fig 2: Example of how not to use an avatar (floated to the right in a paragraph).

Code Examples (with variations)

Super

XLarge

Large

Medium

Small

XSmall

<div class="a-avatar  a-avatar--super">
  <img class="a-avatar__img" src="https://source.unsplash.com/random/200x200">
  <p class="u-text-align--center u-color-black"><strong>Super</strong></p>
</div>
<div class="a-avatar  a-avatar--xlarge">
  <img class="a-avatar__img" src="https://source.unsplash.com/random/200x200">
  <p class="u-text-align--center u-color-black"><strong>XLarge</strong></p>
</div>
<div class="a-avatar  a-avatar--large">
  <img class="a-avatar__img" src="https://source.unsplash.com/random/200x200">
  <p class="u-text-align--center u-color-black"><strong>Large</strong></p>
</div>
<div class="a-avatar">
  <img class="a-avatar__img" src="https://source.unsplash.com/random/200x200">
  <p class="u-text-align--center u-color-black"><strong>Medium</strong></p>
</div>
<div class="a-avatar  a-avatar--small">
  <img class="a-avatar__img" src="https://source.unsplash.com/random/200x200">
  <p class="u-text-align--center u-color-black u-xsmall"><strong>Small</strong></p>
</div>
<div class="a-avatar  a-avatar--xsmall">
  <img class="a-avatar__img" src="https://source.unsplash.com/random/200x200">
  <p class="u-text-align--center u-color-black u-xsmall"><strong>XSmall</strong></p>
</div>

Initials

If no picture is available, use data-text to add initials.

<div class="a-avatar" data-text="MR"></div>

Corners

If no picture is available, use data-text to add initials.

<div class="a-avatar  a-avatar--square">
  <img class="a-avatar__img" src="https://source.unsplash.com/random/200x200">
</div>
<div class="a-avatar  a-avatar--radius">
  <img class="a-avatar__img" src="https://source.unsplash.com/random/200x200">
</div>
<div class="a-avatar  a-avatar--round">
  <img class="a-avatar__img" src="https://source.unsplash.com/random/200x200">
</div>

External Resources


Badges

Last Updated: August 20, 2018

Badges are useful when you want to show additional info like status, tags, or categories.

Typically badges will use a <span> element.

Code Example

Badge
<span class="a-badge">Badge</span>
Brand
<span class="a-badge  a-badge--brand">Brand</span>
Square
<span class="a-badge  a-badge--square">Square</span>
Round
<span class="a-badge  a-badge--round">Round</span>

Blockquotes

Last Updated: August 21, 2018

A blockquote is a callout section that is quoted from another source, or highlight quoted from within the article itself.

Use

When used as a callout to an in-page quotation, <cite> is not required (but can be used if someone other than the article's author is being quoted). For all other quotes, <cite> must be used and should include as much of the following as possible:

  • Author's name
  • Title of work
  • Url containing original quote, or author's work (place in the 'cite' attribute within the <blockquote> tag and in the 'href' attribute in the <a> tag sorrounding the source text in the <cite> tag)
  • Location of the quotation within the cited work

Code Examples

Children need encouragement. If a kid gets an answer right, tell him it was a lucky guess. That way he develops a good, lucky feeling.
<blockquote class="a-blockquote" cite="https://www.deepthoughtsbyjackhandey.com/">
    <div class="a-blockquote__body">
        Children need encouragement. If a kid gets an answer right, tell him it was a lucky guess. That way he develops a good, lucky feeling.
    </div>
    <footer class="a-blockquote__footer">
        <cite class="a-cite">Jack Handey, <a href="https://www.deepthoughtsbyjackhandey.com/" target="_blank"><em>Deep Thoughts</em></a></cite>
    </footer>
</blockquote>

A lot of people are afraid of heights. Not me. I'm afraid of widths.

Steven Wright
<blockquote class="a-blockquote  a-blockquote--emphasis">
    <div class="a-blockquote__body">
        <p>A lot of people are afraid of heights. Not me. I'm afraid of widths.</p>
    </div>
    <footer class="a-blockquote__footer">
        <cite class="a-cite">Steven Wright</cite>
    </footer>
</blockquote>

External Resources


Buttons

Last Updated: August 21, 2018

Buttons add visual interest and draw the user's eye, when used appropriately.

Use

Button styles can be applied to any element. Typically you'll want to use either a <button> or an <a> element:

If your button is actually a link to another page, please use the <a> element, while if your button performs an action, such as submitting a form or triggering some javascript event, then use a <button> element.

Recommended ๐Ÿ‘

Example of button use in the page's primary call-to-action
Fig 1: Example of button use in the page's primary call-to-action

Not Recommended ๐Ÿ‘Ž

Example of button use in the page's primary call-to-action
Fig 2: Example of how not to use a button.

Code Examples & Variations

<button class="a-button">Button</button>

Button Colors

<a class="a-button  a-button--brand" href="#">Brand</a>
<a class="a-button  a-button--brand-fill" href="#">Brand-Fill</a>

Button Sizes

<a class="a-button  a-button--xsmall" href="#">xsmall</a>
<a class="a-button  a-button--small" href="#">small</a>
<a class="a-button  a-button--medium" href="#">medium</a>
<a class="a-button  a-button--large" href="#">large</a>
<a class="a-button  a-button--xlarge" href="#">xlarge</a>
<a class="a-button  a-button--super" href="#">super</a>

Button Corners

<a class="a-button  a-button--square" href="#">square</a>
<a class="a-button  a-button--round" href="#">round</a>

Full-Width Buttons

<a class="a-button  a-button--expand" href="#">expand</a>

Disabled Buttons

<a class="a-button  a-button--disabled" href="#">disabled</a>

Figures (Move to Molecules?)

Last Updated: August 21, 2018

Figures are self-contained content, referenced in the main body of a page, but can be placed anywhere on that page without affecting the flow of the page. Typically includes an <img> and a <figcaption>.

Accessibility Considerations

When using <img>, with the src as a raster image (.jpg, .png, .gif), the same considerations as the image atom apply, with the primary concern being the inclusion of the alt attribute. Since the figure molecule should never be used merely as a decorative element, the alt description must be included, without exception.

Ensure that the alt attribute thoroughly describes the image; never simply place the file name here. Also, try to make the alt description distinct from the <figcaption> text. For example: "white goat, stands on the back of brown cow," not "cow-goat.jpg."

Use

A figure includes illustrative content used as additional information to strengthen the main text. Its value remains, regardless of where it's placed with the page; however, it is typically placed immediately below its first reference within the main text.

The figure body commonly contains a photo (.jpg, .png, .gif), vector graphic, infographic (svg), or data visualization (svg).

Note: notice the img elements have a data-original attribute instead of a src. This is for lazy loading. These images will not load until they are in the viewport. This saves bandwidth for us and the user. If you do not wish to lazy load images, use src.

placeholder image
This is a caption
<figure class="a-figure">
    <img class="a-figure__image" data-original="http://placehold.it/600x300" alt="placeholder image">
    <figcaption class="a-figure__caption">This is a caption</figcaption>
</figure>

Figure Alignment

placeholder image
This is a left-aligned figure
<figure class="a-figure  a-figure--left">
    <img class="a-figure__image" data-original="http://placehold.it/200x200" alt="placeholder image">
    <figcaption class="a-figure__caption">This is a left-aligned figure</figcaption>
</figure>
placeholder image
This is a right-aligned figure
<figure class="a-figure  a-figure--right">
    <img class="a-figure__image" data-original="http://placehold.it/200x200" alt="placeholder image">
    <figcaption class="a-figure__caption">This is a right-aligned figure</figcaption>
</figure>

Sizing

On larger screens, figures have a max width of 300px. In order to increase or decrease the size of figure, use one of these modifiers: a-figure--small, a-figure--large, a-figure--xlarge.

External Resources


Headings

Last Updated: August 21, 2018

Headings (<h1> - <h6>) are used for content structure, not presesentation.

Accessibility Considerations

To avoid confusing users who navigate with a screen reader, avoid skipping heading levels.

Use

Headings define the hierarchy of page content. They provide consistent, reliable points of reference to a user while scanning a page's content. They are not for changing the visual design of text. To modify the look and feel of text, please use the appropriate utility classes (colors, alignment, line height, size, etc.).

Some considerations to follow:

  • Avoid skipping heading levels (i.e.: h1, h2, h3, h6)
  • Only use <h1> once on every page (unless you're using Hologram to build a pattern library :0)
  • Use our built-in utility classes when wanting to alter text appearance

Code Example

h1 40px

h2 28px

h3 22px

h4 19px

h5 17px
h6 16px
<h1 class="a-h1">h1 40px</h1>
<h2 class="a-h2">h2 28px</h2>
<h3 class="a-h3">h3 22px</h3>
<h4 class="a-h4">h4 19px</h4>
<h5 class="a-h5">h5 17px</h5>
<h6 class="a-h6">h6 16px</h6>

External Resources


Horizontal Rules

Last Updated: August 21, 2018

Horizontal rules are used to separate content or define a change in an HTML page.

Code Example


<hr class="a-hr">

<hr class="a-hr  a-hr--block">

<hr class="a-hr  a-hr--type">

Icons

Last Updated: December 4, 2018

Icons are served via an SVG sprite system. For a full list of available icons, check out the Icon Library.

Use

Icons can provide a simple way to draw a user's eye to a specific element; but only if they're used sparingly and are accompanied by explanatory text. On its own, an icon's meaning is open to broad interpretation, with few exceptions. While icons can add visual interest to an element they, generally speaking, add little benefit to the usability of said element.

Code Examples

Sizes

Size modifiers change the size of icons.

<svg class="a-icon  a-icon--xsmall">
    <use xlink:href="../images/svg/icons.svg#search-icon"></use>
</svg>
<svg class="a-icon  a-icon--small">
    <use xlink:href="../images/svg/icons.svg#search-icon"></use>
</svg>
<svg class="a-icon  a-icon--medium">
    <use xlink:href="../images/svg/icons.svg#search-icon"></use>
</svg>
<svg class="a-icon  a-icon--large">
    <use xlink:href="../images/svg/icons.svg#search-icon"></use>
</svg>
<svg class="a-icon  a-icon--xlarge">
    <use xlink:href="../images/svg/icons.svg#search-icon"></use>
</svg>
<svg class="a-icon  a-icon--super">
    <use xlink:href="../images/svg/icons.svg#search-icon"></use>
</svg>

Social Media

Social media modifiers can be used to fill icons with each network's brand color.

<svg class="a-icon  a-icon--facebook">
    <use xlink:href="../images/svg/icons.svg#facebook"></use>
</svg>
<svg class="a-icon  a-icon--twitter">
    <use xlink:href="../images/svg/icons.svg#twitter"></use>
</svg>

Images

Last Updated: August 22, 2018

No classes necessary for images. They will behave responsively by default.

Accessibility Considerations

Take special consideration to the alt attribute. If the image is purely decorative, inconsequential to the surrounding content, use the alt attribute, but leave it blank (alt=""). Otherwise, thoroughly describe the image so that users with screen readers or other assistive devices benefit from the full message. The file name never belongs in the alt description. For example, alt="Four kids playing basketball outside on a sunny day", not alt="basketball" or alt="DSC_0007865.jpg".

Use

Note: notice the img elements have a data-original attribute instead of a src. This is for lazy loading. These images will not load until they are in the viewport. This saves bandwidth for us and the user. If you do not wish to lazy load images, use src.

Code Example

placeholder
<img alt="placeholder" data-original="https://placehold.it/200x200"/>

External Resources


Inputs

Last Updated: December 4, 2018

Inputs are tricky because some are atoms and some are molecules. Keep an eye on the namespacing. For other form element which combine two or more atoms, see forms in molecules.

Use

Accessiblity Considerations

Placeholder text should not be used to give instructions to a user on how to use a form field. Most screen readers do not read the placeholder text. The <label> tag should be used for this text. In some cases, the "u-visuallyhidden" visibility class can be used to hide the label from all users, except those using screen readers.

Code Examples

Text Inputs

<label for="text-input">Standard Text Input</label>
<input id="text-input" class="a-field" type="text">
<label for="select-box">Choose one of the following:</label>
<select id="select-box" class="a-field">
    <option>Choose me...</option>
    <option>No, choose me</option>
    <option>No, choose MEEEE!!!</option>
</select>
<label for="text-area">Use this type of field for multi-line input</label>
<textarea id="text-area" class="a-field"></textarea>

Colors

<input class="a-field  a-field--success" type="text" placeholder=".a-field--success">
<input class="a-field  a-field--error" type="text" placeholder=".a-field--error">
<input class="a-field" disabled type="text" placeholder="disabled">

Icons

Technically, input elements with icons are molecules, not atoms. Therefore, they are prefixed with m- instead of a-.

<div class="m-field  m-field--icon-left">
    <svg class="a-icon">
        <use xlink:href="#search-icon"></use>
    </svg>
    <input class="a-field" type="text">
</div>

Sizes

To change the size of input elements we will use utility classes.

<input class="a-field  u-xsmall" type="text" placeholder=".u-xsmall">
<input class="a-field  u-small" type="text" placeholder=".u-small">
<input class="a-field  u-medium" type="text" placeholder=".u-medium">
<input class="a-field  u-large" type="text" placeholder=".u-large">
<input class="a-field  u-xlarge" type="text" placeholder=".u-xlarge">
<input class="a-field  u-super" type="text" placeholder=".u-super">

Checkboxes and Radios

Place your checkboxes and radios within labels and append the .a-field--choice modifier class.

<label class="a-field  a-field--choice">
    <input type="checkbox"> Tick the box
</label>
<label class="a-field  a-field--choice">
    <input name="radios" type="radio" checked> Yes, this is a standard radio
</label>
<label class="a-field  a-field--choice">
    <input id="no-radio" name="radios" type="radio"> No, the is a regular radio
</label>

Checkbox Button Grid

An alternate styling, currently only in use on the Find A Location page. For more grid options see the grids section in layouts.

<div class="l-grid">
    <div class="l-grid__item 1/3">
        <label class="m-dropdown-services a-button  a-button--brand a-button--small a-button--expand u-space-bottom--medium" for="option-one">One</label>
        <input class="m-dropdown-services" id="option-one" type="checkbox" name="filter" value="option-one">
    </div>
    <div class="l-grid__item 1/3">
        <label class="m-dropdown-services a-button  a-button--brand a-button--small a-button--expand u-space-bottom--medium" for="option-two">Two</label>
        <input class="m-dropdown-services" id="option-two" type="checkbox" name="filter" value="option-two">
    </div>
    <div class="l-grid__item 1/3">
        <label class="m-dropdown-services a-button  a-button--brand a-button--small a-button--expand u-space-bottom--medium" for="option-c">C</label>
        <input class="m-dropdown-services" id="option-c" type="checkbox" name="filter" value="option-c">
    </div>
</div>

External Resources


Links

Last Updated: August 22, 2018

Our standard, in-text link is red, slightly-bolded with a solid underline. Used for in-page anchor links or links to other pages, specifying the target window.

Accessibility Considerations

Links that have target="_blank" should provide an indication that a new window will open (i.e. <a href="http://google.com" target="_blank">Google (opens an external page in a new window/tab)</a>).

When linking to a non-html doctument, indicate what type of file the link will open.

Use

We use target="_blank" for all links to webpages outside of our domains (healthcare.utah.edu, medicine.utah.edu, etc.).

For internal links, avoid using target="_blank".

Main body text links should not be restyled in any way (even using utility classes).

Code Example

<a class="a-link">hyper-link</a>

External Resources


Lists

Last Updated: August 23, 2018

Lists group related items into an easy to scan block for better content legibility. Lists can be nested as needed for lists within lists within lists within . . .

Use

Unordered lists (<ul>) contain items whose order is unimportant to the meaning of the content. The item order could be changed without changing the meaning.

Ordered lists (<ol>) contain items whose order is essential to the meaning and/or flow of the content.

Code Examples

Unordered

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricies
    • Vestibulum laoreet porttitor sem
    • Ac tristique libero volutpat at
  • Faucibus porta lacus fringilla vel
<ul class="a-list">
    <li class="a-list__item">Lorem ipsum dolor sit amet</li>
    <li class="a-list__item">Consectetur adipiscing elit</li>
    <li class="a-list__item">Nulla volutpat aliquam velit
        <ul class="a-list">
            <li class="a-list__item">Phasellus iaculis neque</li>
            <li class="a-list__item">Purus sodales ultricies</li>
            <li class="a-list__item">Vestibulum laoreet porttitor sem</li>
            <li class="a-list__item">Ac tristique libero volutpat at</li>
        </ul>
    </li>
    <li class="a-list__item">Faucibus porta lacus fringilla vel</li>
</ul>

Ordered

  1. Lorem ipsum dolor sit amet
  2. Consectetur adipiscing elit
  3. Nulla volutpat aliquam velit
    1. Phasellus iaculis neque
    2. Purus sodales ultricies
    3. Vestibulum laoreet porttitor sem
    4. Ac tristique libero volutpat at
  4. Faucibus porta lacus fringilla vel
<ol class="a-list">
    <li class="a-list__item">Lorem ipsum dolor sit amet</li>
    <li class="a-list__item">Consectetur adipiscing elit</li>
    <li class="a-list__item">Nulla volutpat aliquam velit
        <ol class="a-list">
            <li class="a-list__item">Phasellus iaculis neque</li>
            <li class="a-list__item">Purus sodales ultricies</li>
            <li class="a-list__item">Vestibulum laoreet porttitor sem</li>
            <li class="a-list__item">Ac tristique libero volutpat at</li>
        </ol>
    </li>
    <li class="a-list__item">Faucibus porta lacus fringilla vel</li>
</ol>

Variations

Divider

Add lines between list items. Used primarily in navigational elements, such as a related content sidebar.

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Faucibus porta lacus fringilla vel
<ul class="a-list  a-list--divider">
    <li class="a-list__item">Lorem ipsum dolor sit amet</li>
    <li class="a-list__item">Consectetur adipiscing elit</li>
    <li class="a-list__item">Faucibus porta lacus fringilla vel</li>
</ul>

Un-styled

Applying .a-list--unstyled to a list will remove the bullet points.

You can remove bullet points on individual items by adding the .a-list__item--unstyled modifier.

  • I'm an unstyled list
  • Consectetur adipiscing elit
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricies
    • I'm an unstyled item
    • Ac tristique libero volutpat at
  • Faucibus porta lacus fringilla vel
<ul class="a-list  a-list--unstyled">
    <li class="a-list__item"><strong>I'm an unstyled list</strong></li>
    <li class="a-list__item">Consectetur adipiscing elit</li>
    <li class="a-list__item">Nulla volutpat aliquam velit
        <ul class="a-list"> <!-- Has bullet points-->
            <li class="a-list__item">Phasellus iaculis neque</li>
            <li class="a-list__item">Purus sodales ultricies</li>
            <li class="a-list__item  a-list__item--unstyled"><strong>I'm an unstyled item</strong></li>
            <li class="a-list__item">Ac tristique libero volutpat at</li>
        </ul>
    </li>
    <li class="a-list__item">Faucibus porta lacus fringilla vel</li>
</ul>

Inline

To make your list items flow left to right apply the .a-list--inline modifier. Use with small lists with low-word count iteams.

  • Lorem
  • ipsum
  • dolor
<ul class="a-list  a-list--inline">
    <li class="a-list__item">Lorem</li>
    <li class="a-list__item">ipsum</li>
    <li class="a-list__item">dolor</li>
</ul>

External Resources


Overlays

Last Updated: August 23, 2018

Overlays are used to blackout the background context of the page.

Use

Overlays are only used on our sites in conjunction with the modal molecule. Because overlays, especially full-page ones, disrupt a user's flow use judiciously. Use when the user's attention on the modal is essential to him/her accomplishing his/her goal.

To contain an overlay within an element set the parent element CSS to position: relative;

Example of a full-page overlay used in a modal
Fig 1: Example a full-page overlay used in a modal

Code Examples

<div class="u-bg-black  u-padding--medium" style="position:relative;">
    <div class="a-overlay"></div>
</div>

Dismissable

Dismissable overlays change the mouse cursor to a hand on mouseover.

<div class="u-bg-black  u-padding--medium" style="position:relative;">
    <div class="a-overlay  a-overlay--dismissable"></div>
</div>

Transparent

Overlays don't necessarily need to be visible, they can appear transparent to provide functionality but no visual cues. If so use the a-overlay--transparent modifier.

<div class="u-bg-black  u-padding--medium" style="position:relative;">
    <div class="a-overlay  a-overlay--transparent"></div>
</div>

White

The a-overlay--white class will make the overlay a transparent white color.

<div class="u-bg-black  u-padding--medium" style="position:relative;">
    <div class="a-overlay  a-overlay--white"></div>
</div>

Full Page

You can make overlays cover the entire page by adding the a-overlay--fullpage modifier. The overlay will remain in a fixed position behind the content you want to promote.


Progress

Last Updated: August 23, 2018

Progress bars are used to help set user expectations on how long a certain task will take and where he/she is in the process.

Use

These are primary used in one-thing-at-a-time forms, where the form is broken up into individual chunks to improve the overall completion rate of the form. Should not be used as an estimate of how much the user has remaining, but rather as an exact number.

Use the style="width:00%" attribute, using width to set the "percentage" remaining. The text overlaid on the progress bar is placed within the same <div> that has said style attribute.

Example of a progress bar used in a one-thing-at-a-time form used on the Virtual Visits site
Fig 1: Example of a progress bar used in a one-thing-at-a-time form used on the Virtual Visits site

Code Examples

<div class="a-progress u-space-bottom--small">
    <div class="a-progress__bar" style="width:15%;"></div>
</div>

Rounded

<div class="a-progress  a-progress--rounded u-space-bottom--small">
    <div class="a-progress__bar" style="width:15%;"></div>
</div>

Colors

<div class="a-progress u-space-bottom--small">
    <div class="a-progress__bar  a-progress__bar--brand" style="width:15%;"></div>
</div>

Sizes

5%

15%

20%

25%

45%

65%
<div class="a-progress  u-xsmall">
    <div class="a-progress__bar" style="width:5%;">5%</div>
</div><br>
<div class="a-progress  u-small">
    <div class="a-progress__bar" style="width:15%;">15%</div>
</div><br>
<div class="a-progress  u-medium">
    <div class="a-progress__bar" style="width:20%;">20%</div>
</div><br>
<div class="a-progress  u-large">
    <div class="a-progress__bar" style="width:25%;">25%</div>
</div><br>
<div class="a-progress  u-xlarge">
    <div class="a-progress__bar" style="width:45%;">45%</div>
</div><br>
<div class="a-progress  u-super">
    <div class="a-progress__bar" style="width:65%;">65%</div>
</div>

Social Share Kit

Last Updated: August 23, 2018

Social Share Kit is a library of decent and good looking CSS/JavaScript social sharing tools like social network icons, share buttons, share count, floating/sticky button bar and popups.

Use & Code Examples

In order for the buttons to work, these CSS and JS files must be included on the page.

<link href="https://cdnjs.cloudflare.com/ajax/libs/social-share-kit/1.0.13/css/social-share-kit.css" media="all" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/social-share-kit/1.0.13/js/social-share-kit.min.js"></script>
<script type="text/javascript">
SocialShareKit.init();
</script>

Then the following code can be used to have social buttons.

<div class="ssk-group ssk-xs a-ssk">
    <a href="" class="ssk ssk-facebook"></a>
    <a href="" class="ssk ssk-twitter"></a>
    <a href="" class="ssk ssk-google-plus"></a>
    <a href="" class="ssk ssk-pinterest"></a>
</div>

Alignment

Button alignments can be changed with the following modifiers: a-ssk--center, a-ssk--left, a-ssk--right.

<div class="ssk-group  ssk-xs  a-ssk  a-ssk--center">
    <a href="" class="ssk ssk-facebook"></a>
    <a href="" class="ssk ssk-twitter"></a>
</div>
<div class="ssk-group  ssk-xs  a-ssk  a-ssk--right">
    <a href="" class="ssk ssk-facebook"></a>
    <a href="" class="ssk ssk-twitter"></a>
</div>

External Resources


Tables

Last Updated: August 23, 2018

Tables should never be used for layout, only for displaying tabular data.

Accessibility Considerations

Use the <caption> tag (nested after the opening <table> tag, but before <tbody>) to announce the table's purpose to screen reader users so they can more easily decide whether to skip the entire table or not. In most cases, it's acceptable to use the visibility utility classes u-visually and hidden u-focusable to hide the caption from all user agents except screen readers.

Use

Use the <thead> section (which precedes <tbody>) to define each columns header (which should be enclosed in <th> tags, not <td>).

Code Examples and Variations

Basic table
First name Last name Username
Jim Kirk @captaink
Mr. Spock @science101
Nyota Uhura @comms
<table class="a-table">
    <caption class="a-table__caption">Basic table</caption>
    <thead class="a-table__head">
        <tr class="a-table__row a-table__row--heading">
            <th class="a-table__cell">First name</th>
            <th class="a-table__cell">Last name</th>
            <th class="a-table__cell">Username</th>
        </tr>
    </thead>
    <tbody class="a-table__body">
        <tr class="a-table__row">
            <td class="a-table__cell">Jim</td>
            <td class="a-table__cell">Kirk</td>
            <td class="a-table__cell">@captaink</td>
        </tr>
        <tr class="a-table__row">
            <td class="a-table__cell">Mr.</td>
            <td class="a-table__cell">Spock</td>
            <td class="a-table__cell">@science101</td>
        </tr>
        <tr class="a-table__row">
            <td class="a-table__cell">Nyota</td>
            <td class="a-table__cell">Uhura</td>
            <td class="a-table__cell">@comms</td>
        </tr>
    </tbody>
</table>

Striped

Striped rows
First name Last name Username
Jim Kirk @captaink
Mr. Spock @science101
Nyota Uhura @comms
<table class="a-table a-table--striped">
    <caption class="a-table__caption">Striped rows</caption>
    <thead class="a-table__head">
        <tr class="a-table__row a-table__row--heading">
            <th class="a-table__cell">First name</th>
            <th class="a-table__cell">Last name</th>
            <th class="a-table__cell">Username</th>
        </tr>
    </thead>
    <tbody class="a-table__body">
        <tr class="a-table__row">
            <td class="a-table__cell">Jim</td>
            <td class="a-table__cell">Kirk</td>
            <td class="a-table__cell">@captaink</td>
        </tr>
        <tr class="a-table__row">
            <td class="a-table__cell">Mr.</td>
            <td class="a-table__cell">Spock</td>
            <td class="a-table__cell">@science101</td>
        </tr>
        <tr class="a-table__row">
            <td class="a-table__cell">Nyota</td>
            <td class="a-table__cell">Uhura</td>
            <td class="a-table__cell">@comms</td>
        </tr>
    </tbody>
</table>

Condensed

Small table and text
First name Last name Username
Jim Kirk @captaink
Mr. Spock @science101
Nyota Uhura @comms
<table class="a-table a-table--condensed">
    <caption class="a-table__caption">Small table and text</caption>
    <thead class="a-table__head">
        <tr class="a-table__row a-table__row--heading">
            <th class="a-table__cell">First name</th>
            <th class="a-table__cell">Last name</th>
            <th class="a-table__cell">Username</th>
        </tr>
    </thead>
    <tbody class="a-table__body">
        <tr class="a-table__row">
            <td class="a-table__cell">Jim</td>
            <td class="a-table__cell">Kirk</td>
            <td class="a-table__cell">@captaink</td>
        </tr>
        <tr class="a-table__row">
            <td class="a-table__cell">Mr.</td>
            <td class="a-table__cell">Spock</td>
            <td class="a-table__cell">@science101</td>
        </tr>
        <tr class="a-table__row">
            <td class="a-table__cell">Nyota</td>
            <td class="a-table__cell">Uhura</td>
            <td class="a-table__cell">@comms</td>
        </tr>
    </tbody>
</table>

External Resources


Tooltips

Last Updated: August 23, 2018

We need to review how these are displayed on mobile!!
We need to review how these are displayed on mobile!!

Provides supplementary information without removing the user from the flow of the main content.

Use

Tooltips are activated on hover in desktop browsers and on click/tap on mobile.

A tooltip's content is entered in the aria-label attribute within the associated <span>.

Example of tooltip use in a form, on a desktop browser
Fig 1: Example of tooltip use in a form, on a desktop browser

Code Examples

Hint

The hint modifier gives text an dotted underline and question mark cursor on hover.

Hover over me...
<span class="a-tooltip  a-tooltip--top  a-tooltip--hint" aria-label="This is a tooltip">Hover over me...</span>

Position

Top

Hover over me...
<span class="a-tooltip  a-tooltip--top" aria-label="This is a tooltip">Hover over me...</span>

Right

Hover over me...
<span class="a-tooltip  a-tooltip--right  a-tooltip--hint" aria-label="This is a tooltip">Hover over me...</span>

Bottom

Hover over me...
<span class="a-tooltip  a-tooltip--bottom" aria-label="This is a tooltip">Hover over me...</span>

Left

Hover over me...
<span class="a-tooltip  a-tooltip--left" aria-label="This is a tooltip">Hover over me...</span>

Size

Small

I'm a small tooltip
<span class="a-tooltip  a-tooltip--top  a-tooltip--small" aria-label="Hi.">I'm a small tooltip</span>

Medium

I'm a medium tooltip
<span class="a-tooltip  a-tooltip--top  a-tooltip--medium" aria-label="Now that's a super big text we have over here right? Lorem ipsum dolor sit I'm done.">I'm a medium tooltip</span>

Large

I'm a large tooltip
<span class="a-tooltip  a-tooltip--top  a-tooltip--large" aria-label="What about something really big? This may surpass your window dimensions. Imagine you're on that boring class with that boring teacher and you didn't slept so well last night. Suddenly you're sleeping in class. Can you believe it?!">I'm a large tooltip</span>

Xlarge

I'm a xlarge tooltip
<span class="a-tooltip  a-tooltip--top  a-tooltip--xlarge" aria-label="What about something really big? This may surpass your window dimensions. Imagine you're on that boring class with that boring teacher and you didn't slept so well last night. Suddenly you're sleeping in class. Can you believe it?!">I'm a xlarge tooltip</span>

Fit

This tooltip's width will fit the element
<span class="a-tooltip  a-tooltip--top  a-tooltip--fit" aria-label="What about something really big? This may surpass your window dimensions. Imagine you're on that boring class with that boring teacher and you didn't slept so well last night. Suddenly you're sleeping in class. Can you believe it?!">This tooltip's width will fit the element</span>

To Top

Last Updated: January 31, 2018

The "Back to top" link allows users to smoothly scroll back to the top of the page. It's a little detail which enhances navigation experience on website with long pages.

Typography

Last Updated: August 23, 2018

Use

All inline tags (<strong>, <em>, etc.) can be used in conjuction with each other when appropriate.

A typographic utility class in a <span> block should never be used in place of the associated html tag.

  • <p>: Use for actual paragraph text.
    • Do enclose every paragraph of text in its own <p></p> tags
    • Don't use
      to break up paragraphs, unless specifically instructed for certain Pattern Library elements
    • Don't use for layout blocks (use <div> for layout elements unrelated to text)
  • <strong>: Use to bold text.
    • Don't use when a header (<h1> - <h6>) tag is needed to semantically organize content
    • Don't use the deprecated <b> tag
  • <em>: Use to italicize text.
    • Don't use the deprecated <i> tag
  • <sup>: Used for superscripts.
    • Do use for footnotes (usually in conjunction with an <a> tag)
    • Don't use to simply make text smaller (use <small> for that)

Code Examples

Here is an example paragraph containing most of the basic typographic tags.

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas2. Vestibulum tortor quam, feugiat vitae abbr, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.

<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas<sup>2</sup>. Vestibulum tortor quam, feugiat vitae <abbr title="Abbreviation">abbr</abbr>, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, <mark>sagittis tempus</mark> lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. <small>Ut felis.</small></p>