Initial commit.
[platform/core/uifw/at-spi2-atk.git] / xml / Accessibility_Accessible.xml
1 <node name="/node" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
2
3 <tp:title>AT-SPI - Assistive Technology Service Provider Interface </tp:title>
4 <tp:copyright>Copyright 2008 Novell, Inc.</tp:copyright>
5 <tp:copyright>Copyright 2001 Sun Microsystems Inc.</tp:copyright>
6 <tp:license xmlns="http://www.w3.org/1999/xhtml">
7   <p>This library is free software; you can redistribute it and/or
8     modify it under the terms of the GNU Library General Public
9     License as published by the Free Software Foundation; either
10     version 2 of the License, or (at your option) any later version.</p>
11
12   <p>This library is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15     Library General Public License for more details.</p>
16
17   <p>You should have received a copy of the GNU Library General Public
18     License along with this library; if not, write to the
19     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20     Boston, MA 02111-1307, USA.</p>
21 </tp:license>
22 <tp:enum name="LOCALE_TYPE" type="u">
23   <tp:docstring>
24     used by Text and Document: these correspond to the POSIX setlocale() enum values. 
25   </tp:docstring>
26   <tp:enumvalue suffix="LOCALE_TYPE_MESSAGES"/>
27   <tp:enumvalue suffix="LOCALE_TYPE_COLLATE" value="1"/>
28   <tp:enumvalue suffix="LOCALE_TYPE_CTYPE" value="2"/>
29   <tp:enumvalue suffix="LOCALE_TYPE_MONETARY" value="3"/>
30   <tp:enumvalue suffix="LOCALE_TYPE_NUMERIC" value="4"/>
31   <tp:enumvalue suffix="LOCALE_TYPE_TIME" value="5"/>
32 </tp:enum>
33 <tp:struct name="BoundingBox">
34   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
35     <p>Used by Component and Text, a struct defining a bounding rectangle. 
36       The relevant coordinate system is determined by the context of the
37       API call which returned or receives the value.</p>
38   </tp:docstring>
39   <tp:member type="i" tp:name="x">
40   <tp:docstring>
41     &lt; the value corresponding to the minimum or leftmost x position. 
42   </tp:docstring>
43   </tp:member>
44   <tp:member type="i" tp:name="y">
45   <tp:docstring>
46     &lt; the value corresponding to the minimum y value.  
47   </tp:docstring>
48   </tp:member>
49   <tp:member type="i" tp:name="width">
50   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
51     <p>&lt; the horizontal extent of the bounding box,
52       that is, the difference between the maximum and minimum
53       x coordinate bounds.</p>
54   </tp:docstring>
55   </tp:member>
56   <tp:member type="i" tp:name="height">
57   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
58     <p>&lt; the vertical extent of the bounding box, 
59       that is, the difference between the maximum and minimum
60       y coordinate bounds.</p>
61   </tp:docstring>
62   </tp:member>
63 </tp:struct>
64 <interface name="org.freedesktop.accessibility.Accessible">
65   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
66     <p>The base interface which is implemented by all accessible objects. 
67       All objects support interfaces for querying their contained 'children' 
68       and position in the accessible-object hierarchy, whether or not they
69       actually have children.  </p>
70
71     <p>@note Events that may be emitted by instances of Accessible include:
72       \li \c &quot;object:property-change&quot; A base (strongly-typed) object attribute has changed,
73       for instance &quot;object:property-change:accessible-name&quot;.
74       Notifed property subtypes include accessible-name, accessible-description,
75       accessible-parent and accessible-role.   </p>
76
77     <p>\li \c &quot;object:children-changed&quot; The number or identity of an object's children
78       has changed.
79       \li \c &quot;object:state-changed&quot; The object's StateSet has had a state added
80       or removed.
81       \li \c &quot;object:active-descendant-changed&quot; If the object includes 
82       STATE_MANAGES_DESCENDANTS, this event is fired to indicate that the 
83       descendant having STATE_ACTIVE has changed; this corresponds to
84       &quot;micro&quot; keyboard focus when the containing/emitting object has
85       &quot;macro&quot; or technical keyboard focus.  For instance, this event is
86       usually emitted while traversing tables and/or spreadsheet cells.
87       \li \c &quot;object:attribute-change&quot; A weakly-typed property, as contained in the
88       AttributeSet returned by Accessible::getAttributes, has changed in value,
89       been added, or been removed from the object.
90       (&quot;object:attribute-change&quot; notifications were added in AT-SPI 1.7.0)</p>
91   </tp:docstring>
92   <tp:property name="name" type="s" access="readwrite">
93   <tp:docstring>
94     a (short) \c string representing the object's name.
95   </tp:docstring>
96   </tp:property>
97   <tp:property name="description" type="s" access="readwrite">
98   <tp:docstring>
99     a \c string describing the object in more detail than \a name.
100   </tp:docstring>
101   </tp:property>
102   <tp:property name="parent" type="o" access="read">
103   <tp:docstring>
104     an ::Accessible object which is this object's containing object.
105   </tp:docstring>
106   </tp:property>
107   <tp:property name="childCount" type="i" access="read">
108   <tp:docstring>
109     childCount: the number of children contained by this object.
110   </tp:docstring>
111   </tp:property>
112   <method name="isEqual">
113     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
114       <p>Determine whether an ::Accessible refers to the same object as another.
115         This method should be used rather than brute-force comparison of
116         object references (i.e. &quot;by-value&quot; comparison), as two object references
117         may have different apparent values yet refer to the same object.    </p>
118     </tp:docstring>
119     <arg direction="in" name="obj" type="o" tp:type="Accessible">
120     <tp:docstring>
121       an ::Accessible object reference to compare to
122     </tp:docstring>
123     </arg>
124     <arg direction="out" type="b" tp:type="boolean">
125     <tp:docstring>
126       a \c boolean indicating whether the two object referencespoint to the same object. 
127     </tp:docstring>
128     </arg>
129   </method>
130   <method name="getChildAtIndex">
131     <tp:docstring>
132       Get the accessible child of this object at \c index.
133     </tp:docstring>
134     <arg direction="in" name="index" type="i">
135     <tp:docstring>
136       an in parameter indicating which child is requested (zero-indexed).
137     </tp:docstring>
138     </arg>
139     <arg direction="out" type="o" tp:type="Accessible">
140     <tp:docstring>
141       the 'nth' ::Accessible child of this object.
142     </tp:docstring>
143     </arg>
144   </method>
145   <method name="getIndexInParent">
146     <tp:docstring>
147       Get the index of this object in its parent's child list.
148     </tp:docstring>
149     <arg direction="out" type="i">
150     <tp:docstring>
151       a long integer indicating this object's index in the parent's list.
152     </tp:docstring>
153     </arg>
154   </method>
155   <method name="getRelationSet">
156     <tp:docstring>
157       Get a set defining this object's relationship to other accessible objects.
158     </tp:docstring>
159     <arg direction="out" type="au" tp:type="RelationSet">
160     <tp:docstring>
161       a ::RelationSet defining this object's relationships.
162     </tp:docstring>
163     </arg>
164   </method>
165   <method name="getRole">
166     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
167       <p>Get the ::Role indicating the type of UI role played by this object.    </p>
168     </tp:docstring>
169     <arg direction="out" type="u" tp:type="Role">
170     <tp:docstring>
171       a ::Role indicating the type of UI role played by this object.
172     </tp:docstring>
173     </arg>
174   </method>
175   <method name="getRoleName">
176     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
177       <p>Get a string indicating the type of UI role played by this object.    </p>
178     </tp:docstring>
179     <arg direction="out" type="s">
180     <tp:docstring>
181       a UTF-8 string indicating the type of UI role played by this object.
182     </tp:docstring>
183     </arg>
184   </method>
185   <method name="getLocalizedRoleName">
186     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
187       <p>Get a string indicating the type of UI role played by this object,
188         translated to the current locale.    </p>
189     </tp:docstring>
190     <arg direction="out" type="s">
191     <tp:docstring>
192       a UTF-8 string indicating the type of UI role played by this object.
193     </tp:docstring>
194     </arg>
195   </method>
196   <method name="getState">
197     <tp:docstring>
198       Get the current state of the object as a ::StateSet.
199     </tp:docstring>
200     <arg direction="out" type="o" tp:type="StateSet">
201     <tp:docstring>
202       a ::StateSet encapsulating the currently true states of the object.
203     </tp:docstring>
204     </arg>
205   </method>
206   <method name="getAttributes">
207     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
208       <p>Get a list of properties applied to this object as a whole, as an 
209         ::AttributeSet consisting of name-value pairs.  As such these attributes
210         may be considered weakly-typed properties or annotations, as distinct
211         from the strongly-typed interface instance data declared using the IDL 
212         &quot;attribute&quot; keyword.    </p>
213
214       <p>Not all objects have explicit &quot;name-value pair&quot; AttributeSet properties.      </p>
215
216       <p>Attribute names and values may have any UTF-8 string value, however where possible,
217         in order to facilitate consistent use and exposure of &quot;attribute&quot; properties by
218         applications and AT clients, attribute names and values should chosen from  
219         a publicly-specified namespace where appropriate.    </p>
220
221       <p>Where possible, the names and values in the name-value pairs
222         should be chosen from well-established attribute namespaces
223         using standard semantics.       
224         For example, attributes of ::Accessible objects corresponding to XHTML content 
225         elements should correspond to attribute names and values specified in the w3c 
226         XHTML specification, at http://www.w3.org/TR/xhtml2, where such values are not 
227         already exposed via a more strongly-typed aspect of the AT-SPI API.
228         Metadata names and
229         values should be chosen from the 'Dublin Core' Metadata
230         namespace using Dublin Core semantics:
231         http://dublincore.org/dcregistry/
232         Similarly, relevant structural metadata should be exposed
233         using attribute names and values chosen from the CSS2 and WICD specification:
234         http://www.w3.org/TR/1998/REC-CSS2-19980512
235         WICD (http://www.w3.org/TR/2005/WD-WICD-20051121/).    </p>
236
237       <p>@note Clients seeking semantic or typographical attributes associated with
238         specific character spans of text content should use ::Text::getAttributeRun instead.
239         The attributes returned by Accessible::getAttributes do not include
240         &quot;text attributes&quot;.    </p>
241
242       <p>@see ::Accessibility::Text::getAttributeRun    </p>
243     </tp:docstring>
244     <arg direction="out" type="as" tp:type="AttributeSet">
245     <tp:docstring>
246       an ::AttributeSet encapsulating any &quot;attribute values&quot; currently defined for the object.@since AT-SPI 1.7.0
247     </tp:docstring>
248     </arg>
249   </method>
250   <method name="getApplication">
251     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
252       <p>Get the containing Application for this object.    </p>
253     </tp:docstring>
254     <arg direction="out" type="o" tp:type="Application">
255     <tp:docstring>
256       the Application instance to which this object belongs.@since AT-SPI 1.7.0
257     </tp:docstring>
258     </arg>
259   </method>
260   <method name="unimplemented">
261     <tp:docstring>
262       /cond future expansion 
263     </tp:docstring>
264   </method>
265 </interface>
266 </node>