We found users follow a pattern: they decide what they are going to click on before they move the mouse…Unfortunately the information in fly outs, rollovers, or dropdowns can’t help users decide where to click because the information isn’t available to users when they are making their decision. It isn’t until after they’ve decided where to click that they see what the element has to say.
(i) the delay, and (ii) the hit area and (iii) the context of use.
The delay needs to be long enough to distinguish an intentional “hover”
Yahoo! finance has not distinguish it
the delay needs to be short enough to happen before the user clicks the link or they move their mouse-away.
With small menus, if the user “wobbles” their mouse and accidentally moves the cursor outside of the hit area, the menu disappears while they are trying to read it,
difficult to select if you leave the area. Make it wider that it appears so that it doesn't disappear if you are moving the mouse just a couple of pixels outside of the menu'
Fly-out with submenus are not a good idea. Really hard to select (Fitts law)
You must make it clear that it is a menu, for example by adding a down-pointing triangle next to the label
Make sure they work without Javascript for accessibility reasons. Otherwise search engines cannot index your site and accessibility also suffers.
Use a delay before hiding the fly-out menu again, e.g. 250ms
Only use horizontal menus with vertical fly-out menus. The vertical area in which the mouse-pointer needs to be move is too small, i.e. typically 12-14px, and causes the menu to be hidden unwantedly
We found users follow a pattern: they decide what they are going to click on before they move the mouse. (Figure1)
Unfortunately the information in fly outs, rollovers, or dropdowns can't help users decide where to click because the information isn't available to users when they are making their decision.
This site contains a lot of best practices in Interaction Design. - Jason Bao on 2007-10-20