Bootstrap 5 – Link Utilities, Focus Ring, Stretched Link & Visually Hidden
Introduction – Smart Link Enhancements in Bootstrap 5
Bootstrap 5 includes several special utilities for managing link behavior, accessibility, and interaction. These utilities simplify common design challenges like:
- Making an entire card clickable using
.stretched-link - Showing visible outlines using
.focus-ring - Hiding content visually but keeping it accessible with
.visually-hidden - Styling links with
.link-*color helpers
In this guide, you’ll learn:
- How to apply and customize link styles
- Make entire blocks clickable with
.stretched-link - Enhance accessibility with
.visually-hidden - Use
.focus-ringfor better focus visibility on keyboard navigation
Example 1 – Colored Link Utilities (.link-*)
<a href="#" class="link-primary">Primary Link</a>
<a href="#" class="link-danger">Danger Link</a>
<a href="#" class="link-success">Success Link</a>
<a href="#" class="link-dark">Dark Link</a>
| Class | Description |
|---|---|
link-primary | Blue link styled like .text-primary |
link-success | Green link |
link-danger | Red link |
link-dark | Dark gray link |
Description:
These utility classes apply contextual Bootstrap colors to links without changing the default underline behavior.
Example 2 – Making Cards Fully Clickable with .stretched-link
<div class="card position-relative" style="width: 18rem;">
<img src="..." class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">Card Title</h5>
<p class="card-text">Clicking anywhere in this card will follow the link.</p>
<a href="#" class="stretched-link">Go somewhere</a>
</div>
</div>
| Class | Description |
|---|---|
stretched-link | Expands the clickable area of the link to its parent |
Description:
Using .stretched-link makes the entire card clickable—even if the link tag is just around a small text portion.
Example 3 – .focus-ring for Enhanced Focus Visibility
<button type="button" class="btn btn-outline-primary focus-ring focus-ring-primary">
Focus Me
</button>
| Class | Description |
|---|---|
focus-ring | Adds a visible outline on focus |
focus-ring-primary | Uses Bootstrap’s primary color for the ring |
Description:
This utility improves accessibility for keyboard users by showing a strong visible ring when the button gains focus.
Example 4 – Hide Visually But Keep for Screen Readers (.visually-hidden)
<h1>Dashboard <span class="visually-hidden">– Admin Panel</span></h1>
| Class | Description |
|---|---|
visually-hidden | Hides content visually but makes it readable by screen readers |
Description:
Perfect for adding extra descriptions or context for screen readers without cluttering the visual layout.
Bootstrap 5 Link & Accessibility Utility Reference
| Feature | Utility Class | Use Case |
|---|---|---|
| Link Coloring | .link-primary, etc. | Add contextual color to links |
| Block Clickable Area | .stretched-link | Make the entire card or block clickable |
| Focus Ring Visual | .focus-ring, .focus-ring-* | Improve focus outlines for accessibility |
| Hidden Content | .visually-hidden | Hide content from sight but keep for screen readers |
Best Practices for Link Utilities & Accessibility
| Utility | Best Practice |
|---|---|
.link-* | Use for semantic color links to match brand or context |
.stretched-link | Parent container must be position-relative for stretching to work |
.focus-ring | Improves UX for keyboard users – test in dark/light themes |
.visually-hidden | Use to add accessibility labels, hints, or screen-reader-only content |
Summary – Recap & Next Steps
These Bootstrap 5 link and accessibility utilities help you build more usable, accessible, and interactive UIs with very little custom code.
Key Takeaways:
- Use
.link-*to apply Bootstrap theme colors to links - Make any container clickable with
.stretched-link - Improve focus visibility using
.focus-ringvariants - Add hidden labels or descriptions with
.visually-hidden
Ideal for forms, cards, navigation menus, accessible dashboards, and admin panels.
FAQs – Bootstrap Link Utilities, Focus Ring & Visually Hidden
Does .stretched-link work without positioning?
No. The parent container must have a position: relative or similar CSS to support stretching.
How is .focus-ring different from default browser focus?
It gives a consistent outline style that’s theme-aware and more visible than some default browser outlines.
Can .visually-hidden be used on form inputs?
Yes, especially helpful for screen-reader labels or accessibility hints.
Can I use .link-* on buttons or spans?
Technically yes, but best used on <a> tags to follow semantic HTML and accessibility guidelines.
Share Now :
