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