About this set
A job board card for one opening: a company logo tile, the job title and company line, a Save bookmark button, a row of tags for location, contract, stack and focus, the salary band with its terms, a two-line description, and a footer with the posting age, applicant count and an Apply button. The job title is a stretched link, so the whole card opens the full posting, and Save and Apply are lifted above the link layer so they remain their own targets. Both buttons carry the job title in their accessible names (Save Senior Front-End Engineer, Apply for Senior Front-End Engineer), which matters when a page lists dozens of cards with identical button text. The tags are a real list with an accessible name. Use the card in job boards, careers pages and internal hiring tools; for a grid, drop several into a CSS grid or a Bootstrap .row-cols-md-2. The Bootstrap version uses .card, .stretched-link, .badge for the tags and .btn for both buttons; the Tailwind version draws the card focus ring with has-[h2_a:focus-visible].
What’s included
- Whole card opens the posting through a stretched title link
- Save and Apply stay separate targets above the link
- Button names include the job title
- Tags marked up as a labelled list
- Hover lift removed under reduced motion
Accessibility
The job title is an h2 containing the card's only link. The Save button is labelled Save Senior Front-End Engineer and Apply has visually hidden text naming the job; the logo and icon are aria-hidden. The card link draws a 2px indigo ring around the card on keyboard focus and the buttons get their own ring. Grey text was darkened to reach 4.5:1, and the hover lift is disabled under prefers-reduced-motion.
Customise it
The logo gradient is on .logo, the Apply colour is #101828 (--bs-btn-bg in Bootstrap, bg-[#101828] in Tailwind) and the tag chips use #f2f4f7 with #344054 text. Card width is the 400px on .job.




















