<class name="QAccessibleInterface" doc="/**
&lt;p&gt;The &lt;a href=&quot;QAccessibleInterface.html#QAccessibleInterface()&quot;&gt;&lt;tt&gt;QAccessibleInterface&lt;/tt&gt;&lt;/a&gt; class defines an interface that exposes information about accessible objects.&lt;/p&gt;
&lt;p&gt;Accessibility tools (also called AT Clients), such as screen readers or braille displays, require high-level information about accessible objects in an application. Accessible objects provide specialized input and output methods, making it possible for users to use accessibility tools with enabled applications (AT Servers).&lt;/p&gt;
&lt;p&gt;Every element that the user needs to interact with or react to is an accessible object, and should provide this information. These are mainly visual objects, such as widgets and widget elements, but can also be content, such as sounds.&lt;/p&gt;
&lt;p&gt;The AT client uses three basic concepts to acquire information about any accessible object in an application:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;Properties&lt;/i&gt; The client can read information about accessible objects. In some cases the client can also modify these properties; such as text in a line edit.&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Actions&lt;/i&gt; The client can invoke actions like pressing a button or .&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Relationships and Navigation&lt;/i&gt; The client can traverse from one accessible object to another, using the relationships between objects.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;a href=&quot;QAccessibleInterface.html#QAccessibleInterface()&quot;&gt;&lt;tt&gt;QAccessibleInterface&lt;/tt&gt;&lt;/a&gt; defines the API for these three concepts.&lt;/p&gt;
&lt;a name=&quot;relationships-and-navigation&quot;&gt;&lt;/a&gt;
&lt;h3&gt;Relationships and Navigation&lt;/h3&gt;
&lt;p&gt;The functions &lt;a href=&quot;QAccessibleInterface.html#childCount()&quot;&gt;&lt;tt&gt;childCount&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QAccessibleInterface.html#indexOfChild(com.trolltech.qt.gui.QAccessibleInterface)&quot;&gt;&lt;tt&gt;indexOfChild&lt;/tt&gt;&lt;/a&gt; return the number of children of an accessible object and the index a child object has in its parent. The &lt;a href=&quot;QAccessibleInterface.html#childAt(int, int)&quot;&gt;&lt;tt&gt;childAt&lt;/tt&gt;&lt;/a&gt; function returns the index of a child at a given position.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QAccessibleInterface.html#relationTo(int, com.trolltech.qt.gui.QAccessibleInterface, int)&quot;&gt;&lt;tt&gt;relationTo&lt;/tt&gt;&lt;/a&gt; function provides information about how two different objects relate to each other, and &lt;a href=&quot;QAccessibleInterface.html#navigate(com.trolltech.qt.gui.QAccessible.RelationFlag, int)&quot;&gt;&lt;tt&gt;navigate&lt;/tt&gt;&lt;/a&gt; allows traversing from one object to another object with a given relationship.&lt;/p&gt;
&lt;a name=&quot;properties&quot;&gt;&lt;/a&gt;
&lt;h3&gt;Properties&lt;/h3&gt;
&lt;p&gt;The central property of an accessible objects is what &lt;a href=&quot;QAccessibleInterface.html#role(int)&quot;&gt;&lt;tt&gt;role&lt;/tt&gt;&lt;/a&gt; it has. Different objects can have the same role, e.g&amp;#x2e; both the &amp;quot;Add line&amp;quot; element in a scroll bar and the &lt;tt&gt;OK&lt;/tt&gt; button in a dialog have the same role, &amp;quot;button&amp;quot;. The role implies what kind of interaction the user can perform with the user interface element.&lt;/p&gt;
&lt;p&gt;An object's &lt;a href=&quot;QAccessibleInterface.html#state(int)&quot;&gt;&lt;tt&gt;state&lt;/tt&gt;&lt;/a&gt; property is a combination of different state flags and can describe both how the object's state differs from a &amp;quot;normal&amp;quot; state, e.g&amp;#x2e; it might be unavailable, and also how it behaves, e.g&amp;#x2e; it might be selectable.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QAccessibleInterface.html#text(com.trolltech.qt.gui.QAccessible.Text, int)&quot;&gt;&lt;tt&gt;text&lt;/tt&gt;&lt;/a&gt; property provides textual information about the object. An object usually has a name, but can provide extended information such as a description, help text, or information about any keyboard accelerators it provides. Some objects allow changing the &lt;a href=&quot;QAccessibleInterface.html#text(com.trolltech.qt.gui.QAccessible.Text, int)&quot;&gt;&lt;tt&gt;text&lt;/tt&gt;&lt;/a&gt; property through the &lt;a href=&quot;QAccessibleInterface.html#setText(com.trolltech.qt.gui.QAccessible.Text, int, java.lang.String)&quot;&gt;&lt;tt&gt;setText&lt;/tt&gt;&lt;/a&gt; function, but this information is in most cases read-only.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QAccessibleInterface.html#rect(int)&quot;&gt;&lt;tt&gt;rect&lt;/tt&gt;&lt;/a&gt; property provides information about the geometry of an accessible object. This information is usually only available for visual objects.&lt;/p&gt;
&lt;a name=&quot;actions-and-selection&quot;&gt;&lt;/a&gt;
&lt;h3&gt;Actions and Selection&lt;/h3&gt;
&lt;p&gt;To enable the user to interact with an accessible object the object must expose information about the actions that it can perform. &lt;a href=&quot;QAccessibleInterface.html#userActionCount(int)&quot;&gt;&lt;tt&gt;userActionCount&lt;/tt&gt;&lt;/a&gt; returns the number of actions supported by an accessible object, and &lt;a href=&quot;QAccessibleInterface.html#actionText(int, com.trolltech.qt.gui.QAccessible.Text, int)&quot;&gt;&lt;tt&gt;actionText&lt;/tt&gt;&lt;/a&gt; returns textual information about those actions. &lt;a href=&quot;QAccessibleInterface.html#doAction(int, int, java.util.List&lt;java.lang.Object&gt;)&quot;&gt;&lt;tt&gt;doAction&lt;/tt&gt;&lt;/a&gt; invokes an action.&lt;/p&gt;
&lt;p&gt;Objects that support selections can define actions to change the selection.&lt;/p&gt;
&lt;a name=&quot;objects-and-children&quot;&gt;&lt;/a&gt;
&lt;h4&gt;Objects and children&lt;/h4&gt;
&lt;p&gt;A &lt;a href=&quot;QAccessibleInterface.html#QAccessibleInterface()&quot;&gt;&lt;tt&gt;QAccessibleInterface&lt;/tt&gt;&lt;/a&gt; provides information about the accessible object, and can also provide information for the children of that object if those children don't provide a &lt;a href=&quot;QAccessibleInterface.html#QAccessibleInterface()&quot;&gt;&lt;tt&gt;QAccessibleInterface&lt;/tt&gt;&lt;/a&gt; implementation themselves. This is practical if the object has many similar children (e.g&amp;#x2e; items in a list view), or if the children are an integral part of the object itself, for example, the different sections in a scroll bar.&lt;/p&gt;
&lt;p&gt;If an accessible object provides information about its children through one &lt;a href=&quot;QAccessibleInterface.html#QAccessibleInterface()&quot;&gt;&lt;tt&gt;QAccessibleInterface&lt;/tt&gt;&lt;/a&gt;, the children are referenced using indexes. The index is 1-based for the children, i.e&amp;#x2e; 0 refers to the object itself, 1 to the first child, 2 to the second child, and so on.&lt;/p&gt;
&lt;p&gt;All functions in &lt;a href=&quot;QAccessibleInterface.html#QAccessibleInterface()&quot;&gt;&lt;tt&gt;QAccessibleInterface&lt;/tt&gt;&lt;/a&gt; that take a child index relate to the object itself if the index is 0, or to the child specified. If a child provides its own interface implementation (which can be retrieved through navigation) asking the parent for information about that child will usually not succeed.&lt;/p&gt;

@see &lt;a href=&quot;QAccessible.html#QAccessible()&quot;&gt;&lt;tt&gt;QAccessible&lt;/tt&gt;&lt;/a&gt; */">
    <method name="public QAccessibleInterface()"/>
    <method name="public final java.lang.Object invokeMethod(com.trolltech.qt.gui.QAccessible.Method method, int child, java.util.List&lt;java.lang.Object&gt; params)" doc="/**
&lt;p&gt;Invokes a &lt;tt&gt;method&lt;/tt&gt; on &lt;tt&gt;child&lt;/tt&gt; with the given parameters &lt;tt&gt;params&lt;/tt&gt; and returns the result of the operation as &lt;a href=&quot;%2E%2E/porting4.html#qvariant&quot;&gt;&lt;tt&gt;QVariant&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note that the type of the returned &lt;a href=&quot;%2E%2E/porting4.html#qvariant&quot;&gt;&lt;tt&gt;QVariant&lt;/tt&gt;&lt;/a&gt; depends on the action.&lt;/p&gt;
&lt;p&gt;Returns an invalid &lt;a href=&quot;%2E%2E/porting4.html#qvariant&quot;&gt;&lt;tt&gt;QVariant&lt;/tt&gt;&lt;/a&gt; if the object doesn't support the action.&lt;/p&gt;
 */"/>
    <method name="public final java.util.Set&lt;com.trolltech.qt.gui.QAccessible.Method&gt; supportedMethods()" doc="/**
&lt;p&gt;Returns a QSet of Method&lt;/tt&gt;s that are supported by this accessible interface.&lt;/p&gt;

@see &lt;tt&gt;QAccessible::Method&lt;/tt&gt;
@see &lt;a href=&quot;QAccessibleInterface.html#invokeMethod(com.trolltech.qt.gui.QAccessible.Method, int, java.util.List&lt;java.lang.Object&gt;)&quot;&gt;&lt;tt&gt;invokeMethod&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract java.lang.String actionText(int action, com.trolltech.qt.gui.QAccessible.Text t, int child)" doc="/**
&lt;p&gt;Returns the text property &lt;tt&gt;t&lt;/tt&gt; of the action &lt;tt&gt;action&lt;/tt&gt; supported by the object, or of the object's child if &lt;tt&gt;child&lt;/tt&gt; is not 0.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#text(com.trolltech.qt.gui.QAccessible.Text, int)&quot;&gt;&lt;tt&gt;text&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAccessibleInterface.html#userActionCount(int)&quot;&gt;&lt;tt&gt;userActionCount&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract int childAt(int x, int y)" doc="/**
&lt;p&gt;Returns the 1-based index of the child that contains the screen coordinates (&lt;tt&gt;x&lt;/tt&gt;, &lt;tt&gt;y&lt;/tt&gt;). This function returns 0 if the point is positioned on the object itself. If the tested point is outside the boundaries of the object this function returns -1.&lt;/p&gt;
&lt;p&gt;This function is only relyable for visible objects (invisible object might not be laid out correctly).&lt;/p&gt;
&lt;p&gt;All visual objects provide this information.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#rect(int)&quot;&gt;&lt;tt&gt;rect&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract int childCount()" doc="/**
&lt;p&gt;Returns the number of children that belong to this object. A child can provide accessibility information on its own (e.g&amp;#x2e; a child widget), or be a sub-element of this accessible object.&lt;/p&gt;
&lt;p&gt;All objects provide this information.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#indexOfChild(com.trolltech.qt.gui.QAccessibleInterface)&quot;&gt;&lt;tt&gt;indexOfChild&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract boolean doAction(int action, int child, java.util.List&lt;java.lang.Object&gt; params)" doc="/**
&lt;p&gt;Asks the object, or the object's &lt;tt&gt;child&lt;/tt&gt; if &lt;tt&gt;child&lt;/tt&gt; is not 0, to execute &lt;tt&gt;action&lt;/tt&gt; using the parameters, &lt;tt&gt;params&lt;/tt&gt;. Returns true if the action could be executed; otherwise returns false.&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;action&lt;/tt&gt; can be a predefined or a custom action.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#userActionCount(int)&quot;&gt;&lt;tt&gt;userActionCount&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAccessibleInterface.html#actionText(int, com.trolltech.qt.gui.QAccessible.Text, int)&quot;&gt;&lt;tt&gt;actionText&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract int indexOfChild(com.trolltech.qt.gui.QAccessibleInterface arg__1)" doc="/**
&lt;p&gt;Returns the 1-based index of the object &lt;tt&gt;arg__1&lt;/tt&gt; in this object's children list, or -1 if &lt;tt&gt;arg__1&lt;/tt&gt; is not a child of this object. 0 is not a possible return value.&lt;/p&gt;
&lt;p&gt;All objects provide this information about their children.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#childCount()&quot;&gt;&lt;tt&gt;childCount&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract boolean isValid()" doc="/**
&lt;p&gt;Returns true if all the data necessary to use this interface implementation is valid (e.g&amp;#x2e; all pointers are non-null); otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#object()&quot;&gt;&lt;tt&gt;object&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.gui.QAccessibleInterface.Target navigate(com.trolltech.qt.gui.QAccessible.RelationFlag relation, int index)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QAccessibleInterface.html#navigate(com.trolltech.qt.gui.QAccessible.RelationFlag, int)&quot;&gt;navigate&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;relation&lt;/tt&gt;, &lt;tt&gt;index&lt;/tt&gt;, ). */"/>
    <method name="public abstract com.trolltech.qt.core.QObject object()" doc="/**
&lt;p&gt;Returns a pointer to the &lt;a href=&quot;%2E%2E/core/QObject.html&quot;&gt;&lt;tt&gt;QObject&lt;/tt&gt;&lt;/a&gt; this interface implementation provides information for.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#isValid()&quot;&gt;&lt;tt&gt;isValid&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.core.QRect rect(int child)" doc="/**
&lt;p&gt;Returns the geometry of the object, or of the object's child if &lt;tt&gt;child&lt;/tt&gt; is not 0. The geometry is in screen coordinates.&lt;/p&gt;
&lt;p&gt;This function is only reliable for visible objects (invisible objects might not be laid out correctly).&lt;/p&gt;
&lt;p&gt;All visual objects provide this information.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#childAt(int, int)&quot;&gt;&lt;tt&gt;childAt&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.gui.QAccessible.Relation relationTo(int child, com.trolltech.qt.gui.QAccessibleInterface other, int otherChild)" doc="/**
&lt;p&gt;Returns the relationship between this object's &lt;tt&gt;child&lt;/tt&gt; and the &lt;tt&gt;other&lt;/tt&gt; object's &lt;tt&gt;otherChild&lt;/tt&gt;. If &lt;tt&gt;child&lt;/tt&gt; is 0 the object's own relation is returned.&lt;/p&gt;
&lt;p&gt;The returned value indicates the relation of the called object to the &lt;tt&gt;other&lt;/tt&gt; object, e.g&amp;#x2e; if this object is a child of &lt;tt&gt;other&lt;/tt&gt; the return value will be &lt;tt&gt;Child&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;The return value is a combination of the bit flags in the QAccessible::Relation enumeration.&lt;/p&gt;
&lt;p&gt;All objects provide this information.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#indexOfChild(com.trolltech.qt.gui.QAccessibleInterface)&quot;&gt;&lt;tt&gt;indexOfChild&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAccessibleInterface.html#navigate(com.trolltech.qt.gui.QAccessible.RelationFlag, int)&quot;&gt;&lt;tt&gt;navigate&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.gui.QAccessible.Role role(int child)" doc="/**
&lt;p&gt;Returns the role of the object, or of the object's child if &lt;tt&gt;child&lt;/tt&gt; is not 0. The role of an object is usually static.&lt;/p&gt;
&lt;p&gt;All accessible objects have a role.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#text(com.trolltech.qt.gui.QAccessible.Text, int)&quot;&gt;&lt;tt&gt;text&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAccessibleInterface.html#state(int)&quot;&gt;&lt;tt&gt;state&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void setText(com.trolltech.qt.gui.QAccessible.Text t, int child, java.lang.String text)" doc="/**
&lt;p&gt;Sets the text property &lt;tt&gt;t&lt;/tt&gt; of the object, or of the object's child if &lt;tt&gt;child&lt;/tt&gt; is not 0, to &lt;tt&gt;text&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Note that the text properties of most objects are read-only.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#text(com.trolltech.qt.gui.QAccessible.Text, int)&quot;&gt;&lt;tt&gt;text&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.gui.QAccessible.State state(int child)" doc="/**
&lt;p&gt;Returns the current state of the object, or of the object's child if &lt;tt&gt;child&lt;/tt&gt; is not 0. The returned value is a combination of the flags in the QAccessible::StateFlag enumeration.&lt;/p&gt;
&lt;p&gt;All accessible objects have a state.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#text(com.trolltech.qt.gui.QAccessible.Text, int)&quot;&gt;&lt;tt&gt;text&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAccessibleInterface.html#role(int)&quot;&gt;&lt;tt&gt;role&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract java.lang.String text(com.trolltech.qt.gui.QAccessible.Text t, int child)" doc="/**
&lt;p&gt;Returns the value of the text property &lt;tt&gt;t&lt;/tt&gt; of the object, or of the object's child if &lt;tt&gt;child&lt;/tt&gt; is not 0.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QAccessible.html#Text-enum&quot;&gt;Name&lt;/tt&gt;&lt;/a&gt; is a string used by clients to identify, find, or announce an accessible object for the user. All objects must have a name that is unique within their container. The name can be used differently by clients, so the name should both give a short description of the object and be unique.&lt;/p&gt;
&lt;p&gt;An accessible object's &lt;a href=&quot;QAccessible.html#Text-enum&quot;&gt;Description&lt;/tt&gt;&lt;/a&gt; provides textual information about an object's visual appearance. The description is primarily used to provide greater context for vision-impaired users, but is also used for context searching or other applications. Not all objects have a description. An &amp;quot;OK&amp;quot; button would not need a description, but a tool button that shows a picture of a smiley would.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QAccessible.html#Text-enum&quot;&gt;Value&lt;/tt&gt;&lt;/a&gt; of an accessible object represents visual information contained by the object, e.g&amp;#x2e; the text in a line edit. Usually, the value can be modified by the user. Not all objects have a value, e.g&amp;#x2e; static text labels don't, and some objects have a state that already is the value, e.g&amp;#x2e; toggle buttons.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QAccessible.html#Text-enum&quot;&gt;Help&lt;/tt&gt;&lt;/a&gt; text provides information about the function and usage of an accessible object. Not all objects provide this information.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QAccessible.html#Text-enum&quot;&gt;Accelerator&lt;/tt&gt;&lt;/a&gt; is a keyboard shortcut that activates the object's default action. A keyboard shortcut is the underlined character in the text of a menu, menu item or widget, and is either the character itself, or a combination of this character and a modifier key like Alt, Ctrl or Shift. Command controls like tool buttons also have shortcut keys and usually display them in their tooltip.&lt;/p&gt;
&lt;p&gt;All objects provide a string for &lt;a href=&quot;QAccessible.html#Text-enum&quot;&gt;Name&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#setText(com.trolltech.qt.gui.QAccessible.Text, int, java.lang.String)&quot;&gt;&lt;tt&gt;setText&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAccessibleInterface.html#role(int)&quot;&gt;&lt;tt&gt;role&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAccessibleInterface.html#state(int)&quot;&gt;&lt;tt&gt;state&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract int userActionCount(int child)" doc="/**
&lt;p&gt;Returns the number of custom actions of the object, or of the object's child if &lt;tt&gt;child&lt;/tt&gt; is not 0.&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;Action&lt;/tt&gt; type enumerates predefined actions: these are not included in the returned value.&lt;/p&gt;

@see &lt;a href=&quot;QAccessibleInterface.html#actionText(int, com.trolltech.qt.gui.QAccessible.Text, int)&quot;&gt;&lt;tt&gt;actionText&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAccessibleInterface.html#doAction(int, int, java.util.List&lt;java.lang.Object&gt;)&quot;&gt;&lt;tt&gt;doAction&lt;/tt&gt;&lt;/a&gt; */"/>
</class>
