API Changes in the Tooltip

Michelle D'Souza michelled33 at gmail.com
Fri Nov 26 01:56:21 UTC 2010


The accessibility improvements in 1.3 required a fix to the tooltip that we used. When the author was contacted, we found out that the tooltip code base we had been depending on had been end of lined and that there was a new tooltip plugin that would be shipping with jQuery UI 1.9.  We have switched to using this new tooltip in both Inline Edit and Pager and have found that the keyboard accessibility in the new tooltip is greatly improved. 

With the switch has come some API change. The three things that are not available in the new plugin are:
1. a tooltip styling option
2. a delay option
3. a tooltip ID which allowed the user to specify the ID of the tooltip DOM node

Inline Edit is a production component so we preserved both the styling and delay options in the API. The code to preserve this API is currently in the Inline Edit codebase. We decided to remove the tooltip ID option since it is actually a buggy API that when used results in invalid markup if there are more then one Inline Edits on a page. 

Pager, on the other hand, is a preview component whose API we expect to change. Currently, we have not preserved any of the three API changes above. Instead, we exposed the entire options structure for the new tooltip plugin in the Pager options. This choice may result in future API change especially since the tooltip plugin is still pre-release. 

I have a few questions about these choices:

1. Is it reasonable to remove an API that would actually not work in most uses of the component?
2. Should we expose the new tooltip options in the Pager options? What about in Inline Edit's options?
3. Should we preserve the delay and tooltip styling options in Pager? 

Other comments?



Michelle D'Souza
Software Coach, Fluid Project
Inclusive Design Research Centre

More information about the fluid-work mailing list