We use Tipsy for tooltips.
Tipsy does not handle properly certain edge-case scenarios, i.e.
Other layered elements use Popper to handle their positioning.
To decrease the permutations of code we use and bundle less code in AUI - replace Tipsy usage with Popper and remove old library completely.
Out of scope
Support for animated tooltips – we want to avoid bugs like
Tooltips follow their triggers when page scrolls (see https://codepen.io/gpitot/pen/GRoaZYQ)
Tipsy code not included in any of AUI’s builds
No infinite looping when hovering tooltips (i.e., )
No jQuery plugin is required to render tooltip, but
Existing jQuery plugin APIs create tooltip using new implementation
Optional (if can be made performant with minimal code)
Tooltips are removed when their triggering element is also removed
aka: on delete cascade in database terms.
Note: this would be useful for all layered elements, not just tooltip.
Usage described in documentation
Demonstration of all states
Interactive state (screen readers)
Visual regression tests
Navigation (only keyboard / only mouse)
Component render legibly
Page weight reduced
Tooltips not animated