An exit grace period prevents hover content from disappearing immediately from tremor
Aliases: grace period · hover dismissal · tremor tolerance
What it is
An exit grace period is a short delayed close after the pointer temporarily leaves a trigger or its hover content. It tolerates tremor, pixel-level boundary crossings, and imperfect paths from a parent menu to a submenu, keeping content from vanishing just as someone intends to read or select it.
Why it happens
Exit starts a close timer rather than destroying an overlay immediately; returning before expiry, entering related content, or moving along an allowed path cancels the close. A fixed-duration grace window is the simplest implementation — a further step is to judge the pointer's direction of travel rather than just wait: if the pointer, after leaving the parent item, is moving toward where the submenu opens, it should count as "heading for the submenu" even while briefly crossing the gap between them, rather than as "leaving." That construction produces a triangular safe region that reshapes itself with the pointer's speed and angle, instead of a fixed pixel buffer sitting around the parent item. Both a fixed grace period and a directional safe region trade motion information for tolerance, and that tolerance has a cost: irrelevant content keeps occupying the screen for that extra moment after the pointer has already moved on and attention has already shifted elsewhere.
Studying it
Test alternative grace values and safe-region algorithms, recording accidental closes, successful submenu entry, irrelevant-overlay persistence, path completion time, and retries. Compare a fixed pixel buffer against a direction-based triangular test on the same task set, rather than tuning only the duration parameter. Include people with fine-motor difficulty and trackpad users, since a trackpad's displacement-to-velocity mapping differs from a mouse's, and the same threshold need not tolerate motion equally well on both.
Where it stops holding
An excessive grace makes an interface feel sticky, obscures a subsequent target, and prevents clearing the view when needed. It should not preserve sensitive content after the pointer has wandered arbitrarily far away from where it should already have closed. Multi-level cascading menus are where this mechanism most easily breaks down: if every submenu layer stacks its own grace period on top of the last, opening several levels in sequence starts to feel sluggish — the person has already decided to go deeper, but the interface lags behind the accumulated waits. Touch has no concept of "exit" at all: lifting the finger is the only dismissal signal, so a grace period built around hover state has nothing to attach to on an input method with no hover.
Applying it
- For multi-level menus, use a direction-aware safe-region test compatible with the route into the submenu, rather than applying the same fixed delay at every level.
- Keep close delay short and testable, cancelling it immediately once the pointer enters related content, so the delay does not just become "it'll close anyway, only slightly later."
- Give larger overlays or ones carrying key information an explicit close, pin, or keyboard exit, instead of making precise pointer-path judgment their only way out.
- How to check: play back a recording of an actual multi-level menu navigation and, level by level, count accidental closes caused by a mistaken grace or safe-region judgment, to find exactly which level and which direction of movement is most often misread as "leaving."
Related
- Same group: C1.20.1 Hover delay requires a concrete value balancing responsiveness and false triggers · C1.20.2 Hover-open menus and hover tooltips need independent delay thresholds · C1.20.3 Briefly crossing multiple targets should not trigger hover content one by one · C1.20.5 Hover-induced layout changes can occlude the next interaction path
- Nearby: C1.22 Drag thresholds and intent classification · E1 Interface elements and controls
- Search terms:
hover grace period·menu aim·forgiveness
Cards in the same group
- C1.20.1Hover delay requires a concrete value balancing responsiveness and false triggers
- C1.20.2Hover-open menus and hover tooltips need independent delay thresholds
- C1.20.3Briefly crossing multiple targets should not trigger hover content one by one
- C1.20.5Hover-induced layout changes can occlude the next interaction path