Skip to content
cccskills
FreePublished on GitHub

tooltip

Use when implementing provide additional context on hover or focus.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md5.3 KB
  • references/pattern.md22.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Tooltip

Provide additional context on hover or focus

What it solves

A tooltip is a small popup that provides additional contextual information when a user hovers over, focuses on, or interacts with an element. It helps clarify elements with icons, buttons, or text snippets that may not be self-explanatory. There are two types of tooltips:

  • Simple Tooltips – Short text descriptions that appear on hover or focus, providing a brief explanation.
  • Rich Tooltips – Enhanced tooltips that may contain formatted text, icons, images, or interactive elements. Tooltips should be used to enhance understanding without overwhelming the user interface.

When to use

Use a tooltip when you need to provide additional context or explanations without taking up extra space in the UI. Common use cases include: Simple Tooltips

  • Clarifying icons or abbreviations (e.g., a settings cog, currency symbols).
  • Providing additional information about form fields or table headers.
  • Showing helper text for complex actions (e.g., "This action is permanent").
  • Explaining disabled elements when a user cannot interact with them.
  • Providing keyboard shortcuts when hovering over action buttons. Rich Tooltips
  • Providing in-depth explanations beyond a brief description.

When to avoid

  • For critical information users must read, such as error messages.
  • For content that should remain visible, like persistent hints or descriptions.
  • When users need to interact with the tooltip itself.
  • If the tooltip is the only means of conveying information (accessibility issue).
  • For mobile-first interactions where hover-based behavior isn't intuitive.

Implementation workflow

  1. Confirm the pattern matches the problem and constraints before copying the example.
  2. Start from the anatomy and examples in references/pattern.md, then choose the smallest viable variation.
  3. Apply accessibility, performance, and interaction guardrails before layering visual polish.
  4. Use the testing guidance to verify behavior across keyboard, screen reader, responsive, and failure scenarios.

Accessibility guardrails

Keyboard Interaction Pattern

The following table outlines the standard keyboard interactions for tooltip components. These interactions ensure that users can access and dismiss tooltips effectively using only a keyboard.

KeyAction
TabMoves focus to the element that triggers the tooltip. The tooltip should appear on focus.
Shift + TabMoves focus to the previous interactive element. The tooltip should close when focus moves away.
EscapeDismisses the tooltip manually (if dismissible).
Enter/SpaceActivates the tooltip (for tooltips that require explicit activation).

Note: Tooltips should appear when an element receives focus (for keyboard users) and disappear when focus moves away. If a tooltip is interactive (contains links or buttons), it must be dismissible via the Escape key.

Performance guardrails

Performance Metrics

Target Metrics:

  • Show Delay: 300-500ms to prevent accidental triggers
  • Animation Duration: < 200ms for smooth perception
  • DOM Impact: Single tooltip instance reused across triggers
  • Memory Usage: < 1KB per tooltip instance
  • Event Listeners: Use event delegation for multiple tooltips Optimization Strategies:
  • Single Instance Pattern: Reuse one tooltip element for all triggers
  • Event Delegation: Attach listeners to parent container, not individual elements

Common mistakes

Tooltips That Disappear Too Fast

The Problem: Users might not have enough time to read the tooltip before it disappears.

How to Fix It? Ensure tooltips remain visible for at least 3–5 seconds or stay open on hover.

Not Accessible via Keyboard

The Problem: Many tooltips rely only on hover, making them inaccessible to keyboard users.

How to Fix It? Ensure tooltips can be triggered via focus (Tab key). For screen readers, pair aria-describedby on the trigger element with role="tooltip" on the tooltip container.

Blocking Important Content

The Problem: Tooltips that cover input fields or buttons create confusion and may block clicks or taps.

How to Fix It? Position tooltips away from interactive elements and use arrow indicators to point from the trigger to the tooltip.

Related patterns


For full implementation detail, examples, and testing notes, see references/pattern.md.

Pattern page: https://uxpatterns.dev/patterns/content-management/tooltip

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when implementing expand and collapse content sections.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing user account configuration and preferences.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing social activity and updates stream.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing conversational AI chat interfaces.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing handling AI-specific errors.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing loading states for AI operations.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

See all skills by thedaviddias

Report a problem with this skill