Accessible Clickable Card options

Card components are one of the most common places where visual design and accessible markup pull in different directions. Designers want the whole card to feel clickable; accessibility and HTML semantics want one clear, single interactive element. Each method below uses the same basic card content, but changes how (and whether) the whole card responds to a click or tap.

Every example card contains the same four things: a card container, an image, an <h3> heading, and a short paragraph.

Method 1: Just the default – users click the link in the heading

No extra markup or scripting. The only interactive element is the link inside the heading.

Laughing kookaburra

Known for its distinctive call, this large kingfisher is native to eastern Australia.

Accessibility features

Possible issues

Method 2: An <a> wrapped around the entire card

The whole card is placed inside one big link, and the heading still has its own link inside it.

Kangaroo

Kangaroos possess powerful hind legs, a long, strong tail, and small front legs.

Accessibility features

Possible issues

Method 3: CSS used to expand the link to cover the card

Only the heading has a real link. CSS uses an absolutely-positioned ::after pseudo-element on that link to visually stretch it across the whole card (sometimes called the "stretched link" pattern).

Emu

The emu is the second-tallest living bird after its ratite relative, the ostrich.

Accessibility features

Possible issues

Method 4: JavaScript finds the link and makes the whole card clickable

The heading keeps its own real link. A script listens for clicks anywhere on the card and, if the click didn't land on an interactive element, triggers the heading link instead.

Wombat

This large, stocky marsupial is found in Australia and on scattered nearby islands.

Accessibility features

Possible issues

Method 5: A single link with no separate heading link

Instead of nesting a link inside a link (Method 2's problem), the whole card is the only interactive element. The heading is plain text, not a link.

Tasmanian devil

The world's largest carnivorous marsupial, now found in the wild only on the island of Tasmania.

Accessibility features

Possible issues

Method 6: A non-link element with a click handler (fake button/link)

The card container itself gets a click handler (and often tabindex and a keydown handler) so it behaves like a link, without ever using a real <a>.

Quokka

A small wallaby often described as "the world's happiest animal" because of its friendly expression.

Accessibility features

Possible issues