Unobtrusive and Slightly Accessible CSS Tool Tips on Semi Transparent CSS Menus
Phew, quite a mouthful of a title! Put simply this short project served three purposes:
- To experiment with PNG transparencies in Mozilla and Opera browsers.
- To create an unobtrusive script module for the creation of tool tips.
- To make the script device-independent thus meeting WCAG x.x and providing the tool tip enhancement to a wider audience (i.e. mouse users and keyboard users).
Updates
- Version 1.3, 31st March 2005, 20:45
- Bind events using EventManager to control the release of DOM references and avoid memory leaks.
- Custom CSS selectors for IE so the isNasty variable is no longer needed.
- Various updates in global library dom_evt.js.
- Version 1.2, 5th November 2004, 17:25
- Locking mechanism to prevent clashing of mouse and keyboard events.
- Binding the tooltip to mouse movement when the tooltip is visible within the boundary of the element.
- Version 1.1, 3rd November 2004, 03:30
- Events wrapped into a single object (twToolTipManager).
- Correct positioning of tooltip for focus events.
- Version 1.0, 11th July 2004, 05:13
- First Release using event listener objects bound to the anchor elements.
To Do
- Use capture to avoid retriggering the mouse events when cursor moves to nested elements (ie text).
- Fix co-ordinate discrepancy/failure for keyboard focus between the different browsers.
- Adjust the vertical position if the tooltip is going to display offscreen.
Version 1.3 tested in
- Firefox 1.04 Mac, Mozilla 1.7.8 Mac
- Safari 1.3
- Shiira 0.9.5
- Opera 8.01 Mac (UA tool tips occur with mouse events)
- Firefox 1.04 Win
- IE 6 Win
Version 1.3 partial support
The following browsers do not work correctly with the keyboard events, but are fine with mouse events.
- OmniWeb 5.1
- Opera 7.54 Win
- Konqueror 3.4 (KDE)
Version 1.3 currently unsupported
- iCab Beta 280
- IE 5.2.3 Mac
- Konqueror 3.1.4 XDarwin
Previous Versions
Previous versions were also tested successfully on Windows IE5.x but further tests will need to be done to verify compatibility with the updated code.