Project Board: https://github.com/orgs/elastic/projects/1079/views/81
Summary / Pitch
Tooltips in Kibana are inconsistent, sometimes invisible, and sometimes too visible. Browser tooltips appear where they shouldn't, EUI tooltips don't appear where they should, and there's a noticeable lag before any tooltip shows up. This epic fixes five user-facing tooltip problems, eliminating browser tooltips, removing hover delay, suppressing unwanted focus-return tooltips, ensuring every icon button has a tooltip, and reducing font size.
Context
Tooltips are the most widely used overlay component in Kibana (~135 files use EuiToolTip, ~90 use EuiIconTip), yet they have no centralized defaults, no lint enforcement, and no shared utilities.
Goals
- Browser tooltips leak through. ~20-30 interactive elements use the HTML
title attribute, producing unstyled native tooltips that conflict with or replace EUI tooltips.
- Hover delay feels sluggish.
EuiToolTip enforces a hardcoded 250ms delay with no instant option.
- Focus return triggers unwanted tooltips. Closing a modal or popover returns focus to the trigger, which unconditionally fires the tooltip.
- Icon buttons lack visible tooltips. Dozens of
EuiButtonIcon instances have aria-label for screen readers but no tooltip for sighted users. Some have placeholder labels like aria-label={'oi'} that shipped to production.
- Font size is too large. Tooltips render at body-text size (~14px), competing visually with the content they describe.
On the DX side, six separate TooltipWrapper components exist across packages with different delay defaults, zero ESLint rules enforce tooltip patterns, and no developer documentation covers common pitfalls (disabled button tooltips, title attribute conflicts, disableScreenReaderOutput usage).
Out of scope
- Chart tooltips (Elastic Charts /
@elastic/charts tooltip system) — these are a separate rendering pipeline with different positioning logic.
- Tooltip content authoring (i.e., what text to put in tooltips) — this is a content/UX writing concern, not a component concern.
- Mobile / touch tooltip behavior —
EuiToolTip does not currently support touch interactions and that is a separate effort.
Definition of Ready for Dev
Definition of done
Milestones
2026-04 (April)
[Pay down Tech Debt]
[Tackle biggest UX issues]
2026-05 (May)
[Stretch]
Useful Links
Project Board: https://github.com/orgs/elastic/projects/1079/views/81
Summary / Pitch
Tooltips in Kibana are inconsistent, sometimes invisible, and sometimes too visible. Browser tooltips appear where they shouldn't, EUI tooltips don't appear where they should, and there's a noticeable lag before any tooltip shows up. This epic fixes five user-facing tooltip problems, eliminating browser tooltips, removing hover delay, suppressing unwanted focus-return tooltips, ensuring every icon button has a tooltip, and reducing font size.
Context
Tooltips are the most widely used overlay component in Kibana (~135 files use
EuiToolTip, ~90 useEuiIconTip), yet they have no centralized defaults, no lint enforcement, and no shared utilities.Goals
titleattribute, producing unstyled native tooltips that conflict with or replace EUI tooltips.EuiToolTipenforces a hardcoded 250ms delay with no instant option.EuiButtonIconinstances havearia-labelfor screen readers but no tooltip for sighted users. Some have placeholder labels likearia-label={'oi'}that shipped to production.On the DX side, six separate
TooltipWrappercomponents exist across packages with different delay defaults, zero ESLint rules enforce tooltip patterns, and no developer documentation covers common pitfalls (disabled button tooltips,titleattribute conflicts,disableScreenReaderOutputusage).Out of scope
@elastic/chartstooltip system) — these are a separate rendering pipeline with different positioning logic.EuiToolTipdoes not currently support touch interactions and that is a separate effort.Definition of Ready for Dev
Definition of done
disableScreenReaderOutputguidancetitle) vsEuiToolTippositionanddelaymarked as required when they aren't #9593EUI Beta issue created (if applicable)EUI Deprecation schedule updated (if applicable)Milestones
2026-04 (April)
[Pay down Tech Debt]
positionanddelaymarked as required when they aren't #9593[Tackle biggest UX issues]
2026-05 (May)
[Stretch]
Useful Links