This document is in beta. Help us by reporting issues via Github or email
On this page:
If content (like a tooltip) appears when users hover over an element with their mouse (or tab to it with their keyboard), it must be easy to dismiss, easy to reach and remain visible.
If moving the mouse or the keyboard focus to an element triggers additional content to appear and then hide again (like in pops-ups or tooltips), make sure that:
Once it appears, the content should remain visible until:
For disabled users on your website who may accidentally trigger content, or are not using a mouse, it is frustrating when pop up content …
Content which appears on hover can be difficult or impossible to perceive for users who struggle to read, if they are required to keep their mouse cursor over the trigger.
1.4.13 Content on Hover or Focus (Level AA): Where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true:
- Dismissible: A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content;
- Hoverable: If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing;
- Persistent: The additional content remains visible until the hover or focus trigger is removed, the user dismisses it, or its information is no longer valid.
Exception: The visual presentation of the additional content is controlled by the user agent and is not modified by the author.
Examples of additional content controlled by the user agent include browser tooltips created through use of the HTML
title
attribute.Custom tooltips, sub-menus, and other nonmodal popups that display on hover and focus are examples of additional content covered by this criterion.
See the W3C’s detailed explanation of this guideline with techniques and examples.
This document is in beta. Help us by reporting issues via Github or email