Stretched-link

Table of Contents

Make any component fully clickable via a nested link.

Installation

npm install @fylgja/stretched-link

Then include the component in to your code via;

@use "@fylgja/stretched-link";
// Or via PostCSS import
@import "@fylgja/stretched-link";

How to use

To use the stretched-link make sure you component is relative positioned, like a the @fylgja/card.

This sample is made with the card component with a nested link and to make the card completely clickable,

we also added the stretched-link on the nested link.

<div class="card">
    <img src=".." class="card-media">
    <div class="card-content">
        <p>..</p>
        <a href="#" class="stretched-link">Read more about this cool link</a>
    </div>
</div>

Since the .card class has the style position: relative;

The card becomes clickable with the href from the nested link.

Why use this

Why do this, you might ask, well for accessibility.

If you use a link on the card, the complete content becomes part of the link description,

that causes a bad description for the link, instead the link should only describe where the link will go to.

Example:

<!-- Bad accessibility but clickable completely -->
<a href="#" class="card">
    <img src=".." class="card-media">
    <div class="card-content">
        <p>..</p>
    </div>
</a>

<!-- Good accessibility but only clickable on the link -->
<div class="card">
    <img src=".." class="card-media">
    <div class="card-content">
        <p>..</p>
        <a href="#">Read more about this cool link</a>
    </div>
</div>

<!-- Both accessible and completely clickable -->
<div class="card">
    <img src=".." class="card-media">
    <div class="card-content">
        <p>..</p>
        <a href="#" class="stretched-link">Read more about this cool link</a>
    </div>
</div>
Noticed a typo or is something unclear? Help us improve this page on GitHub.