Skip to main content

Terminology

Inline glossary component that expands abbreviations on hover. Wrap any text to add a tooltip with the expanded form. Optionally links to a glossary page and supports a color accent.

Summary

The Terminology component renders an <abbr> (or <Link> when to is provided) with aria-label and title attributes set to the expanded abbreviation. On hover, browsers display the tooltip natively.

The optional color prop adds a visual accent to distinguish glossary terms from regular text.

Why Use This Component?

  • Abbreviation expansion without leaving the page or breaking reading flow.
  • Linked glossary — optionally navigate to a terminology page on click.
  • Accessible — uses native title and aria-label attributes for screen readers.
  • Preset-aware — the color accent uses the active preset's primary color.

Usage

Options

PropTypeDefaultDescription
childrenReactNodeThe text to wrap with a tooltip. Required.
titlestringExpanded abbreviation shown on hover. Required.
tostring | undefinedundefinedLink target. When set, renders as a <Link> instead of <abbr>.
colorboolean | undefinedundefinedSet to true to add a color accent to the text.

Troubleshooting

  • Tooltip not showing — The tooltip uses the native HTML title attribute. It appears after a brief hover delay, which varies by browser.
  • Color accent — The color prop adds the nova-terminology-colored CSS class. This is styled by the active preset.
  • Link not navigating — Ensure the to prop points to a valid docs path. Without to, the component renders as a non-interactive <abbr>.