Suggested by: Jennifer Lee
Copy deep link
When a content page is very long with many subsections, the
Copy deep link icon can help users easily link people to deep content.
The purpose of the
Copy deep link icon is to help make navigating and finding information on very long pages a little easier. It does this in 2 ways, by:
1/ Letting users to easily copy the URL of a deep content (H3 subsection or information inside an accordion).
2/ Linking people (who received and clicked on the deep link URL) directly to the deep content.
Description of UX behavior
Interacting with the icon:
- On hover, the
Copy deep linkicon state inverts.
- When a user clicks/taps on the
Copy deep linkicon, the icon shows a focus state and a message displays that the link has been copied.
- The focus state and message remain for 10 seconds (or until the user acts on another
Copy deep linkicon).
Clicking on the URL that was shared:
When a recipient clicks/taps on the URL that was sent to them, they’re brought directly to the location of that deep content on the page.
- When the deep content is inside an accordion, the accordion is open on landing.
- When the deep content is not in an accordion but in an H3 subsection, the user-recipient is simply taken to that specific H3 subsection.
URL pattern of deep links
The URLs of deep links must be unique while also providing some information scent. To meet the needs of both requirements, the URLs of deep links are autogenerated using this pattern:
- Take the page root URL and add on the first 30 characters of the H3 section or accordion title text plus the entity ID number.
- Example: va.gov/coronavirus-veteran-frequently-asked-questions/#are-va-national-cemeteries-ope-37235
See ticket #22385 for details.
On clicking/tapping, use a live-region to announce the “Link copied” text and keep the focus on the button.
Related PR: https://github.com/department-of-veterans-affairs/vets-website/pull/17182
<div aria-live="polite" aria-relevant="added text"> <button aria-label="Copy link to RELEVANT_TEXT"> <!-- SVG or Font Awesome goodness --> </button> <div> <p>Link copied</p> </div> </div>
The accessible label will contain relevant, content specific titles for the screen reader to announce, e.g. “Copy link to [How can I stay informed about COVID-19 vaccines at VA]”.