Skip to content
This repository is currently being migrated. It's locked while the migration is in progress.

Latest commit

 

History

History
104 lines (74 loc) · 8.99 KB

File metadata and controls

104 lines (74 loc) · 8.99 KB
layout component
title Additional Info
status use-with-caution-candidate
intro-text Additional Info makes content easier to scan as it hides information that may not be applicable to all users or situations. Use this component to situate plain language help at the point of the process where it is most relevant.
figma-link-web https://www.figma.com/design/afurtw4iqQe6y4gXfNfkkk/VADS-Component-Library?node-id=203-1254
web-component va-additional-info
web true
mobile-app false
anchors
anchor
Examples
anchor
Usage
anchor
Behavior
anchor
Code usage
anchor
Content considerations
anchor
Accessibility considerations
anchor
Related
anchor
Component checklist

Examples

Default

{% include storybook-preview.html story="uswds-va-additional-info--default" link_text="va-additional-info default" %}

No Border

  • Adding in the disable-border prop removes the left blue border from the expanded state of the component.

{% include storybook-preview.html story="uswds-va-additional-info--no-border" link_text="va-additional-info no border" %}

Usage

When to use Additional Info

  • Revealing helpful background information: When you have additional information you want to convey about an application, process, or a step or question in a form that is not critical. This component should be used in instances where a more prominent [Alert]({{ site.baseurl }}/components/alert) would not be appropriate.
  • Clarifying outcomes for an input: In cases where a person's input can have large or complicated impact on outcomes we use contextual help in Additional Info to locate expanded guidance next to the relevant interaction.
  • Information closely tied to an input. Use this component over an [Accordion]({{ site.baseurl }}/components/accordion) when the content is closely tied to a particular message or input on the screen. If the content is more tangentially related then use an Accordion.
  • Clarifying a form question: If a form question needs clarification, and that clarification is brief, use Additional Info. The lighter design prevents breaking up the visual progression as the user navigates the form. These can also serve as alternative to where accordions feel too heavy. Be sure to review the [hint text guidance]({{ site.baseurl }}/components/form/label#hint-text) for implementation details. If a form is a conversation, Additional Info would be considered an aside. (This case study on structuring complex health care questions for healthcare.gov goes into greater detail on how to structure your form as a conversation.)
  • Content that can be organized under the current heading. If you have additional content that provides context and makes sense under the same heading as the content nearby.
  • Information not applicable to all: Additional Info can hide details that may not be applicable to all users.

When to consider something else

  • Accordions for a series: If you have a series of content in the body of a page and outside of a form or tool then an [Accordion]({{ site.baseurl }}/components/accordion) is preferred. For example, if you have a series of questions as part of an FAQ section or a set of options for payment that each have additional details.
  • Too much content: Only include critical information inside this component. This includes form fields that require a lot of explanation. Link to another page, consider an [Accordion]({{ site.baseurl }}/components/accordion), or shorten the content. Collaborate with a member of the Content and IA team to edit content and explore alternatives.
  • Required content: If the majority of people need the content to accomplish the main task then it should not be hidden from view.
  • Content organized under a new heading. If you have enough content that it makes sense to organize under a new heading that does not make sense under the same heading as the content nearby then use an [Accordion]({{ site.baseurl }}/components/accordion).
  • Error messages or other immediate actions: Do not use this component for error messages or other critical or timely information.
  • Inside Alerts: Use this component inside an [Alert]({{ site.baseurl }}/components/alert) only as a last resort and if approved in the Collaboration Cycle. Instead use the [Alert - Expandable]({{ site.baseurl }}/components/alert/alert-expandable) component, especially when the Alert is within the page content and not at the top of the page.
  • Floating in space: Try to avoid using Additional Info outside of the flow of the page, unattached to a section of content or another component. For example, there are instances of Additional Info between a h1 and a Card. See placement for more.

Behavior

The help is triggered by clicking on a uniquely styled text link with a plain language hook. The helper text is revealed with a sliding drawer type animation (like the accordion) and is typically 1-3 short paragraphs. Shorter is better, and references to static content pages is encouraged when the situation is complicated.

Choosing between variations

Choose the No border variation when using Additional Info inside of a bordered container as the border would be duplicative and unnecessary. Note however that the most common occurrence of this is using this component inside an Alert which is strongly discouraged. Consider instead linking to another page, especially if your content is long or complex, or reducing content.

Placement

The following are places where Additional Info can be used:

  • After a header (h2, h3, h4) or paragraph to provide orthogonal details or provide an answer to a common question.
  • Within a [Process list]({{ site.baseurl }}/components/process-list) to shorten the length of content within a step.
  • Within, or at the end, of a [Form]({{ site.baseurl }}/components/form/label#with-additional-info) to provide additional help text.
  • Whenever there is a chance to enhance the understanding a user has about a particular choice.

Note: Placement does not alter content considerations in any way.

Design principles

Code usage

<va-link-action href="{{ site.storybook_path }}/?path=/docs/uswds-va-additional-info--docs" text="View Additional Info guidance in Storybook for use on VA.gov" type="secondary"

Content considerations

  • Use a statement, rather than a question. Use a statement (like “Why we ask for this information”) rather than a question (like “Why does VA ask for this information?”) for the title (trigger text) of the component. Because we use questions to gather information from people in our forms, structuring additional information as questions as well can cause confusion. Keep titles to a single sentence or sentence fragment with no ending punctuation.
  • Limit the amount of expanded content. Limit content to fewer than 500 characters (with spaces) when possible. If you need to provide more information, consider using one or more [Accordions]({{ site.baseurl }}/components/accordion) instead or providing a brief overview in the Additional Info component with a link to another page with more information. Collaborate with a member of the Content and Information Architecture team to edit content and explore alternatives.
  • Use lists in expanded content as needed. To make content easier to scan, we encourage you to use numbered (also called "ordered") and bulleted (also called "unordered") lists as needed.

Accessibility considerations

  • The Additional Info component should be validated to meet the WCAG 2.2 AA accessibility guidelines.
  • The Additional Info component uses aria-controls and aria-expanded attributes to convey the expand and collapse functionality to assistive technologies.
  • Pressing the close button (a element with role of button) must close the Additional Info.
  • The link element that acts as the trigger for the drawer to open and close has a role of heading so it can be found in the page. Setting an aria-level is recommended.
  • Wrap content in HTML elements. All text content inside va-additional-info must be wrapped in an appropriate HTML element such as <p>, <span>, or <div>. Some screen readers, particularly NVDA, may ignore unwrapped plain text. For example, use <p>This is the content.</p> instead of placing text directly inside the component without a wrapper element.

Related

  • [Accordion]({{ site.baseurl }}/components/accordion)
  • [Alert]({{ site.baseurl }}/components/alert)

{% include _component-checklist.html component_name=page.web-component %}