2008-11-28 Mike Gorse <mgorse@novell.com>
[platform/core/uifw/at-spi2-atk.git] / xml / org.freedesktop.atspi.Accessible.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <node xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" name="/node">
3
4 <tp:enum name="LOCALE_TYPE" type="u">
5   <tp:docstring>
6   Used by Text and Document interfaces these correspond to the POSIX 'setlocale' enum values. 
7   </tp:docstring>
8   <tp:enumvalue suffix="LOCALE_TYPE_MESSAGES"/>
9   <tp:enumvalue suffix="LOCALE_TYPE_COLLATE" value="1"/>
10   <tp:enumvalue suffix="LOCALE_TYPE_CTYPE" value="2"/>
11   <tp:enumvalue suffix="LOCALE_TYPE_MONETARY" value="3"/>
12   <tp:enumvalue suffix="LOCALE_TYPE_NUMERIC" value="4"/>
13   <tp:enumvalue suffix="LOCALE_TYPE_TIME" value="5"/>
14 </tp:enum>
15 <tp:struct name="BoundingBox">
16   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
17     Used by Component and Text interfaces, a struct defining a bounding rectangle. 
18     The relevant coordinate system is determined by the context of the
19     API call which returned or receives the value.
20   </tp:docstring>
21   <tp:member type="i" tp:name="x">
22   <tp:docstring>
23     The value corresponding to the minimum or leftmost x position. 
24   </tp:docstring>
25   </tp:member>
26   <tp:member type="i" tp:name="y">
27   <tp:docstring>
28     The value corresponding to the minimum y value.  
29   </tp:docstring>
30   </tp:member>
31   <tp:member type="i" tp:name="width">
32   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
33     The horizontal extent of the bounding box,
34     that is, the difference between the maximum and minimum
35     x coordinate bounds.
36   </tp:docstring>
37   </tp:member>
38   <tp:member type="i" tp:name="height">
39   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
40       The vertical extent of the bounding box, 
41       that is, the difference between the maximum and minimum
42       y coordinate bounds.
43   </tp:docstring>
44   </tp:member>
45 </tp:struct>
46 <interface name="org.freedesktop.atspi.Accessible">
47   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
48     <p>The base interface which is implemented by all accessible objects. 
49       All objects support interfaces for querying their contained 'children' 
50       and position in the accessible-object hierarchy, whether or not they
51       actually have children.  </p>
52
53     <p>Events that may be emitted by instances of Accessible include:
54       "object:property-change" A base (strongly-typed) object attribute has changed,
55       for instance "object:property-change:accessible-name".
56       Notifed property subtypes include accessible-name, accessible-description,
57       accessible-parent and accessible-role.</p>
58
59     <p>"object:children-changed" The number or identity of an object's children
60       has changed.
61       
62       "object:state-changed" The object's StateSet has had a state added
63       or removed.
64       
65       "object:active-descendant-changed" If the object includes 
66       STATE_MANAGES_DESCENDANTS, this event is fired to indicate that the 
67       descendant having STATE_ACTIVE has changed; this corresponds to
68       "micro" keyboard focus when the containing/emitting object has
69       "macro" or technical keyboard focus.  For instance, this event is
70       usually emitted while traversing tables and/or spreadsheet cells.
71       
72       "object:attribute-change" A weakly-typed property, as contained in the
73       AttributeSet returned by Accessible::getAttributes, has changed in value,
74       been added, or been removed from the object.
75       ("object:attribute-change" notifications were added in AT-SPI 1.7.0)</p>
76
77   </tp:docstring>
78   <tp:property name="name" type="s" access="readwrite">
79   <tp:docstring>
80     A (short) string representing the object's name.
81   </tp:docstring>
82   </tp:property>
83   <tp:property name="description" type="s" access="readwrite">
84   <tp:docstring>
85     A string describing the object in more detail than name.
86   </tp:docstring>
87   </tp:property>
88   <tp:property name="parent" type="o" access="read">
89   <tp:docstring>
90     The Accessible object which is this object's containing object.
91   </tp:docstring>
92   </tp:property>
93   <tp:property name="childCount" type="i" access="read">
94   <tp:docstring>
95     The number of children contained by this object.
96   </tp:docstring>
97   </tp:property>
98   <method name="getChildren">
99     <tp:docstring>
100       Get the accessible children of this object.
101     </tp:docstring>
102     <arg direction="out" type="ao" tp:type="AccessibleSet">
103     <tp:docstring>
104       The Accessible children of this object.
105     </tp:docstring>
106     </arg>
107   </method>
108   <method name="getChildAtIndex">
109     <tp:docstring>
110       Get the accessible child of this object at \c index.
111     </tp:docstring>
112     <arg direction="in" name="index" type="i">
113     <tp:docstring>
114       an in parameter indicating which child is requested (zero-indexed).
115     </tp:docstring>
116     </arg>
117     <arg direction="out" type="o" tp:type="Accessible">
118     <tp:docstring>
119       the 'nth' ::Accessible child of this object.
120     </tp:docstring>
121     </arg>
122   </method>
123   <method name="getIndexInParent">
124     <tp:docstring>
125       Get the index of this object in its parent's child list.
126     </tp:docstring>
127     <arg direction="out" type="i">
128     <tp:docstring>
129       A long integer indicating this object's index in the parent's list.
130     </tp:docstring>
131     </arg>
132   </method>
133   <method name="getRelationSet">
134     <tp:docstring>
135       Get a set defining this object's relationship to other accessible objects.
136     </tp:docstring>
137     <arg direction="out" type="a(uao)" tp:type="RelationSet">
138     <tp:docstring>
139       A RelationSet defining this object's relationships.
140     </tp:docstring>
141     </arg>
142   </method>
143   <method name="getRole">
144     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
145       Get the Role indicating the type of UI role played by this object.
146     </tp:docstring>
147     <arg direction="out" type="u" tp:type="Role">
148     <tp:docstring>
149       A Role indicating the type of UI role played by this object.
150     </tp:docstring>
151     </arg>
152   </method>
153   <method name="getRoleName">
154     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
155       Get a string indicating the type of UI role played by this object.
156     </tp:docstring>
157     <arg direction="out" type="s">
158     <tp:docstring>
159       A UTF-8 string indicating the type of UI role played by this object.
160     </tp:docstring>
161     </arg>
162   </method>
163   <method name="getLocalizedRoleName">
164     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
165       Get a string indicating the type of UI role played by this object,
166       translated to the current locale.
167     </tp:docstring>
168     <arg direction="out" type="s">
169     <tp:docstring>
170       A UTF-8 string indicating the type of UI role played by this object.
171     </tp:docstring>
172     </arg>
173   </method>
174   <method name="getState">
175     <tp:docstring>
176       Get the current state of the object as a StateSet.
177     </tp:docstring>
178     <arg direction="out" type="au" tp:type="StateSet">
179     <tp:docstring>
180       A StateSet encapsulating the currently true states of the object.
181       Returns an array of (currently two) 32-bit integers giving bitwise flags.
182     </tp:docstring>
183     </arg>
184   </method>
185   <method name="getAttributes">
186     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
187       <p>Get a list of properties applied to this object as a whole, as an 
188         AttributeSet consisting of name-value pairs. As such these attributes
189         may be considered weakly-typed properties or annotations, as distinct
190         from the strongly-typed interface instance data declared using the IDL 
191         "attribute" keyword.</p>
192
193       <p>Not all objects have explicit "name-value pair" AttributeSet properties.      </p>
194
195       <p>Attribute names and values may have any UTF-8 string value, however where possible,
196         in order to facilitate consistent use and exposure of "attribute" properties by
197         applications and AT clients, attribute names and values should chosen from  
198         a publicly-specified namespace where appropriate.</p>
199
200       <p>Where possible, the names and values in the name-value pairs
201         should be chosen from well-established attribute namespaces
202         using standard semantics.       
203         For example, attributes of Accessible objects corresponding to XHTML content 
204         elements should correspond to attribute names and values specified in the w3c 
205         XHTML specification, at http://www.w3.org/TR/xhtml2, where such values are not 
206         already exposed via a more strongly-typed aspect of the AT-SPI API.
207         Metadata names and
208         values should be chosen from the 'Dublin Core' Metadata
209         namespace using Dublin Core semantics:
210         http://dublincore.org/dcregistry/
211         Similarly, relevant structural metadata should be exposed
212         using attribute names and values chosen from the CSS2 and WICD specification:
213         http://www.w3.org/TR/1998/REC-CSS2-19980512
214         WICD (http://www.w3.org/TR/2005/WD-WICD-20051121/).    </p>
215
216       <p>Clients seeking semantic or typographical attributes associated with
217         specific character spans of text content should use Text.getAttributeRun instead.
218         The attributes returned by Accessible.getAttributes do not include
219         "text attributes". (See Text.getAttributeRun)</p>
220
221     </tp:docstring>
222     <arg direction="out" type="as" tp:type="AttributeSet">
223     <tp:docstring>
224       An AttributeSet encapsulating any "attribute values" currently defined for the object.
225     </tp:docstring>
226     </arg>
227   </method>
228   <method name="getApplication">
229     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
230       <p>Get the containing Application for this object.</p>
231     </tp:docstring>
232     <arg direction="out" type="o" tp:type="Application">
233     <tp:docstring>
234       The Application instance to which this object belongs.
235     </tp:docstring>
236     </arg>
237   </method>
238 </interface>
239 </node>