Links are used to help users navigate to new sections, pages or websites. Links have default, hover and selected states which provide visual cues to help the user interact with them or identify visited pages.
The label of a link should describe clearly the destination of the link. It should make sense to the user with little or no need to check other elements for context. Avoid non descriptive labels such as “click here” and “read more”.
Consider a user who scans through the content or uses a screen reader, how much information can they get from the link’s description alone? Use this principle as a guideline to create more descriptive links.
Avoid opening links in a new tab or window. It can be disorienting and can cause accessibility issues for people who cannot visually perceive that the new tab has opened.
When to use
Links should be used to help a user navigate to pages, sections or external websites.
When not to use
Links should not be used to initiate actions, change or manipulate data. Use
vf-button instead for such actions.
For more information on links please consult the following documents:
- Guidelines on links from the GOV.UK Design System
- Guidelines on links from the Carbon Design System
- F84: Failure of Success Criterion 2.4.9 due to using a non-specific link such as "click here" or "more" without a mechanism to change the link text to specific text. | Techniques for WCAG 2.0
- G200: Opening new windows and tabs from a link only when necessary | Techniques for WCAG 2.0
- Writing Hyperlinks: Salient, Descriptive, Start with Keyword | Nielsen Norman Group
- “Learn More” Links: You Can Do Better | Nielsen Norman Group
This component targets WCAG 2.1 AA accessibility.
This component is distributed with npm. After installing npm, you can install the
vf-link with this command.
$ yarn add --dev @visual-framework/vf-link
The source files included are written in Sass(
scss). You can point your Sass
include-path at your
node_modules directory and import it like this.
Make sure you import Sass requirements along with the modules. You can use a project boilerplate or the