Skip to main content

Link

Live preview

Result
Loading...
Live Editor
<div>
  <p>Read more in the <Link href="#">documentation</Link>.</p>
  <p>Some items may be <Link href="#" subtle>managed by your administrator</Link>.</p>
</div>

A styled <a> tag. Sits in body copy, footers, and anywhere you need navigation that isn't a button. Two visual variants: default (brand-colored, underlined on hover) and subtle (on-surface text color).

Import

import { Link } from 'chromium-ui-react';

Props

PropTypeDefaultDescription
subtlebooleanfalseRenders in on-surface color instead of brand color
href, target, rel, ...All standard anchor attributes

Ref forwards to the underlying <a>.

Basic usage

<Link href="/settings/privacy">Privacy settings</Link>

Subtle

Use when the link is in a dense list or inline with body text where the brand color would be too noisy:

<p>
Some items may be managed by your administrator.{' '}
<Link href="/help/managed" subtle>Learn more</Link>
</p>

Opening in a new tab:

<Link href="https://chromium.org" target="_blank" rel="noopener noreferrer">
Chromium project
</Link>

Router integration

For framework routers (Next.js, Remix, React Router), pass the framework's Link wrapper or render as a component:

// Next.js
<NextLink href="/settings" legacyBehavior>
<Link>Settings</Link>
</NextLink>

Or render a custom element via asChild-style wrapping (not built-in — use the framework's own Link primitive directly for complex cases).

Accessibility

  • Always set a meaningful href. A <button> disguised as a link (or vice versa) confuses both users and assistive tech.
  • When opening in a new tab, add rel="noopener noreferrer" for security (the component doesn't auto-apply it).
  • Underline is shown on hover/focus only, to reduce visual noise in dense layouts — but the visited/focus state is still distinguishable.