Link

Lien de navigation textuel — interne ou externe, inline ou nav. Souligné par défaut (WCAG 1.4.1), focus visible, liens externes sécurisés (noopener) et annoncés aux lecteurs d'écran. Textual navigation link — internal or external, inline or nav. Underlined by default (WCAG 1.4.1), visible focus, secure external links (noopener) announced to screen readers.

AperçuPreview

Consulter la See the guideline du composantcomponent guideline pour les détails. for details.

Lien externe : External link: NN/g — Visualizing Links

AccueilHomeComposantsComponentsTokens

Règles absoluesAbsolute rules

Tokens de composantComponent tokens

Token CSSRéférenceReferenceValeurValue
--agtc-component-link-default-textsemantic.color.action.primary#007a68
--agtc-component-link-default-text-hoversemantic.color.action.primary-hover#0d3d38
--agtc-component-link-default-border-focussemantic.color.border.focus#007a68

AccessibilitéAccessibility

ImplémentationImplementation

<!-- Inline (souligné par défaut) -->
<agtc-link href="/guidelines/link">guidelineguideline</agtc-link>

<!-- Externe (nouvel onglet, sécurisé, annoncé) -->
<agtc-link href="https://lucide.dev" external>Lucide</agtc-link>

<!-- Nav (soulignement au survol) -->
<agtc-link href="/components" underline="hover">ComposantsComponents</agtc-link>

DOs et DON'TsDOs and DON'Ts

À faireDo

  • Souligner en texte courant ; hover seulement en navUnderline in body text; hover only in nav
  • Marquer les liens externes (icône + texte AT)Mark external links (icon + AT text)
  • Écrire un libellé qui décrit la destinationWrite a label that describes the destination

À éviterDon't

  • Un lien pour déclencher une action JS — utiliser un boutonA link to trigger a JS action — use a button
  • target="_blank" sans rel="noopener"target="_blank" without rel="noopener"
  • « cliquez ici » / « en savoir plus » seul"click here" / "read more" alone

UX Patterns Reference

Patterns approved via the ux-pattern-review workflow (ADR-036/043). Decision: LK1–LK8 all approved.

PatternSourceAppliedJustification
Underline in body text (beyond color)NN/gunderline="always" by default (WCAG 1.4.1)
Visible :focus-visibleNN/gTokenized ring
External link: rel="noopener noreferrer" + icon + AT textWCAG H83Hidden "(opens in a new tab)"
Auto-detect external + overrideCoder's Blockhttp(s) other origin, external forces
Descriptive link textNN/gConsole warning if generic
Link = navigation, button = actionNN/g<a href> required
Distinct visited stateNN/gOut of v1 — not very relevant in docs/apps; possible later addition
Hover cue even without permanent underlineNN/ghover/none underline on hover
Contribuer à ce projet Contribute to this project

Ce système est ouvert aux contributions — tokens, composants, décisions architecturales, corrections d'accessibilité ou documentation. Toute amélioration est bienvenue. This system welcomes contributions — tokens, components, architectural decisions, accessibility fixes, or documentation. Every improvement counts.

Voir sur GitHub View on GitHub