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