2008-08-18 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 <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="getIndexInParent">
109     <tp:docstring>
110       Get the index of this object in its parent's child list.
111     </tp:docstring>
112     <arg direction="out" type="i">
113     <tp:docstring>
114       A long integer indicating this object's index in the parent's list.
115     </tp:docstring>
116     </arg>
117   </method>
118   <method name="getRelationSet">
119     <tp:docstring>
120       Get a set defining this object's relationship to other accessible objects.
121     </tp:docstring>
122     <arg direction="out" type="a(uao)" tp:type="RelationSet">
123     <tp:docstring>
124       A RelationSet defining this object's relationships.
125     </tp:docstring>
126     </arg>
127   </method>
128   <method name="getRole">
129     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
130       Get the Role indicating the type of UI role played by this object.
131     </tp:docstring>
132     <arg direction="out" type="u" tp:type="Role">
133     <tp:docstring>
134       A Role indicating the type of UI role played by this object.
135     </tp:docstring>
136     </arg>
137   </method>
138   <method name="getRoleName">
139     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
140       Get a string indicating the type of UI role played by this object.
141     </tp:docstring>
142     <arg direction="out" type="s">
143     <tp:docstring>
144       A UTF-8 string indicating the type of UI role played by this object.
145     </tp:docstring>
146     </arg>
147   </method>
148   <method name="getLocalizedRoleName">
149     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
150       Get a string indicating the type of UI role played by this object,
151       translated to the current locale.
152     </tp:docstring>
153     <arg direction="out" type="s">
154     <tp:docstring>
155       A UTF-8 string indicating the type of UI role played by this object.
156     </tp:docstring>
157     </arg>
158   </method>
159   <method name="getState">
160     <tp:docstring>
161       Get the current state of the object as a StateSet.
162     </tp:docstring>
163     <arg direction="out" type="au" tp:type="StateSet">
164     <tp:docstring>
165       A StateSet encapsulating the currently true states of the object.
166       Returns an array of (currently two) 32-bit integers giving bitwise flags.
167     </tp:docstring>
168     </arg>
169   </method>
170   <method name="getAttributes">
171     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
172       <p>Get a list of properties applied to this object as a whole, as an 
173         AttributeSet consisting of name-value pairs. As such these attributes
174         may be considered weakly-typed properties or annotations, as distinct
175         from the strongly-typed interface instance data declared using the IDL 
176         "attribute" keyword.</p>
177
178       <p>Not all objects have explicit "name-value pair" AttributeSet properties.      </p>
179
180       <p>Attribute names and values may have any UTF-8 string value, however where possible,
181         in order to facilitate consistent use and exposure of "attribute" properties by
182         applications and AT clients, attribute names and values should chosen from  
183         a publicly-specified namespace where appropriate.</p>
184
185       <p>Where possible, the names and values in the name-value pairs
186         should be chosen from well-established attribute namespaces
187         using standard semantics.       
188         For example, attributes of Accessible objects corresponding to XHTML content 
189         elements should correspond to attribute names and values specified in the w3c 
190         XHTML specification, at http://www.w3.org/TR/xhtml2, where such values are not 
191         already exposed via a more strongly-typed aspect of the AT-SPI API.
192         Metadata names and
193         values should be chosen from the 'Dublin Core' Metadata
194         namespace using Dublin Core semantics:
195         http://dublincore.org/dcregistry/
196         Similarly, relevant structural metadata should be exposed
197         using attribute names and values chosen from the CSS2 and WICD specification:
198         http://www.w3.org/TR/1998/REC-CSS2-19980512
199         WICD (http://www.w3.org/TR/2005/WD-WICD-20051121/).    </p>
200
201       <p>Clients seeking semantic or typographical attributes associated with
202         specific character spans of text content should use Text.getAttributeRun instead.
203         The attributes returned by Accessible.getAttributes do not include
204         "text attributes". (See Text.getAttributeRun)</p>
205
206     </tp:docstring>
207     <arg direction="out" type="as" tp:type="AttributeSet">
208     <tp:docstring>
209       An AttributeSet encapsulating any "attribute values" currently defined for the object.
210     </tp:docstring>
211     </arg>
212   </method>
213   <method name="getApplication">
214     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
215       <p>Get the containing Application for this object.</p>
216     </tp:docstring>
217     <arg direction="out" type="o" tp:type="Application">
218     <tp:docstring>
219       The Application instance to which this object belongs.
220     </tp:docstring>
221     </arg>
222   </method>
223 </interface>
224 </node>