See Also: Action Members
The ATK interface provided by UI components which the user can activate/interact with, This should be implemented by instances of Atk.Object classes with which the user can interact directly, i.e. buttons, checkboxes, scrollbars, e.g. components which are not "passive" providers of UI information.
Exceptions: when the user interaction is already covered by another appropriate interface such as Atk.EditableText (insert/delete test, etc.) or Atk.Value (set value) then these actions should not be exposed by Atk.Action as well.
Also note that the Atk.Action API is limited in that parameters may not be passed to the object being activated; thus the action must be self-contained and specifiable via only a single "verb". Concrete examples include "press", "release", "click" for buttons, "drag" (meaning initiate drag) and "drop" for drag sources and drop targets, etc.
Though most UI interactions on components should be invocable via keyboard as well as mouse, there will generally be a close mapping between "mouse actions" that are possible on a component and the Atk.Actions. Where mouse and keyboard actions are redundant in effect, Atk.Action should expose only one action rather than exposing redundant actions if possible. By convention we have been using "mouse centric" terminology for Atk.Action names.