'User agents' - web browsers, media players, browser extensions,
on-the-fly converters, plug-ins, bots, aggregators and mobile
browsers - provide a human or machine interface to the web. At
their best, they allow all of us to explore a universal space of
web content. User agent developers need to pay particular heed
to issues surrounding use of their agents by people in other
parts of the world, speaking other languages, using other
devices and with a variety of assistive technologies that allow
users to use different modes of input and output (such as speech
input, tactile displays, semantic navigation, and a variety of
display preferences). Example 1: An online app developer wants
to provide context-sensitive help in a tooltip that is displayed
when the user (with a mouse) hovers over or (with a keyboard)
focuses a "Help" icon. In most browsers, the functionality
automatically works for hover; the title element is displayed.
However, most browsers don't provide the same functionality for
keyboard users on f