Skip to content

shadcn.io is an independent project built on shadcn/ui

Free

Breadcrumb with Slash Separator (Home Icon) for Ark UI

A breadcrumb with a home icon, then Components and Breadcrumb, and a slash icon between the crumbs.

The first crumb is a home icon, named Home for screen readers. Slash icons separate it from Components and from Breadcrumb, the current page. The last crumb is not a link.

Use it when a path should start with a home icon instead of the word Home. A bullet is lighter for a marketing page. A site menu is a Navigation Menu. In React, Ark UI does not parse the path.

Preview

Preview width

Installation

Sign in to get your install command
Free with an account. It carries your token, so the CLI installs everything in one go.
Use email insteadNo credit card

Anatomy

Breadcrumb anatomy: link, ellipsis, separator, item, page

Usage

<Breadcrumb>
  <BreadcrumbList>
    <BreadcrumbItem>
      <BreadcrumbLink asChild>
        <Link aria-label="Home" href="/">
          <HomeIcon aria-hidden="true" className="size-4" />
        </Link>
      </BreadcrumbLink>
    </BreadcrumbItem>
    <BreadcrumbSeparator>
      <SlashIcon aria-hidden="true" />
    </BreadcrumbSeparator>
    <BreadcrumbItem>
      <BreadcrumbLink asChild>
        <Link href="/components">Components</Link>
      </BreadcrumbLink>
    </BreadcrumbItem>
    <BreadcrumbSeparator>
      <SlashIcon aria-hidden="true" />
    </BreadcrumbSeparator>
    <BreadcrumbItem>
      <BreadcrumbPage>Breadcrumb</BreadcrumbPage>
    </BreadcrumbItem>
  </BreadcrumbList>
</Breadcrumb>

FAQ

How is the slash drawn?

A SlashIcon is the child of BreadcrumbSeparator, in place of the default chevron. The separator is hidden from assistive tech.

How is the home icon named?

The link to / holds only a HomeIcon at size-4, hidden from assistive tech, so the link carries aria-label="Home". Screen readers announce it as the Home link.

How big is the slash?

The separator styles size its icon, the same as the default chevron, so the slash lines up with the text. Add a size class to the icon to change it.

Does the slash work right to left?

The trail reads from the right in a right-to-left layout. A slash doesn't point, so unlike the chevron it needs no flipping.

Why isn't the last crumb a link?

BreadcrumbPage is the page you are on. It renders text with aria-current="page", so it is announced as the current page and has nowhere to go.

How do the links go through my router?

BreadcrumbLink takes asChild, and the demo puts the Next.js Link inside it. Put your router's link there instead.

API Reference

Breadcrumb

Sets asChild. The rest is on the Breadcrumb page.