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.
Links should be used to help a user navigate to pages, sections or external websites.
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:
This component targets WCAG 2.1 AA accessibility.
Depending on your environment you'll want to use
include. As a rule of thumb: server-side use
include, precompiled browser use
render. If you're using vf-eleventy you should use
You'll need to pass a context object from your code or Yaml file (example), as well as the path to the Nunjucks template. Nunjucks'
include is an abstraction of
render and provides some additional portability.
This approach is best for bare-bones Nunjucks environments, such as precompiled templates with the Nunjucks slim runtime where
include is not be available.
This is an example of using inline links when you are using the
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
set-style functions to cleaner version
File system location:
Find an issue on this page? Propose a change or discuss it.