See Storybook "Vertical Nav" page for React documentation.
The following CSS variables can be overridden to customize VerticalNav components:
- To display a navigational hierarchy with one to three levels.
- To display the “sub-navigation” within a section of the website.
- If the site has fewer than five pages, consider organizing the page without a navigational hierarchy.
- If your page already has a horizontal and vertical navigation bar, consider ways to simplify your navigation system.
- If your content is within a frame or sub-area of a page, consider ways to simplify your navigation system.
- Indicate where a user is within the navigational hierarchy. Use the
.ds-c-vertical-nav__label--currentmodifier to show users which page they have navigated to.
- Keep the navigation links short and follow sentence case. They can be shorter derivatives of page titles themselves.
- If the navigation hierarchy is too long, users may miss items at the bottom. If it’s too deep, users may miss items that require too many clicks. Usability test to find the right balance between breadth and depth.
- Users should be able to tab through each link.
- If you have nested menus that are collapsible, ensure the toggle button has its
aria-expandedattributes set. This is done automatically for you if you're using the React components.
- If your navigation list is longer than 3 items, consider using a skip navigation link. This allows screen reader and keyboard users to skip to the main content area(s).
- If a skip navigation link is not an option, consider using:
- A valid, descriptive page header
- Landmark regions like
- When naming the optional
ariaNavLabelprop, keep in mind:
- This prop is necessary only when there is more than one nav element on a page.
- Don't include the word "Menu" in the label. Most screen readers will announce that information already. Instead, provide more context to what's in the menu and/or its location. Like "Main" or "Social".
For more information about how we tested and validated our work for each checklist item, read our component maturity documentation.
ColorMeets AA color contrast standards for accessibility and color blindness.Complete
Forced Colors Mode (FCM)While using FCM the components text is legible and improves readability.Incomplete
WCAG 2.1 Level AA ConformanceAll Axe checks for WCAG AA compliance have passed.Complete
Screen readersVoiceOver, NVDA, and JAWS screen readers provide concise communication and interaction.Complete
Keyboard navigationComponent is fully navigable with a keyboard.Complete
StorybookComponent has stories to cover all defined props.Complete
ResponsiveComponent designed to work in all responsive breakpoints.Complete
Spanish translationsIncludes Spanish translations for default text content.Not applicable
CodeTokens implemented in code.Complete
DesignTokens implemented in the Sketch.Complete