1 <node name="/node" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
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>
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>
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>
22 <tp:enum name="LOCALE_TYPE" type="u">
24 used by Text and Document: these correspond to the POSIX setlocale() enum values.
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"/>
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>
39 <tp:member type="i" tp:name="x">
41 < the value corresponding to the minimum or leftmost x position.
44 <tp:member type="i" tp:name="y">
46 < the value corresponding to the minimum y value.
49 <tp:member type="i" tp:name="width">
50 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
51 <p>< the horizontal extent of the bounding box,
52 that is, the difference between the maximum and minimum
53 x coordinate bounds.</p>
56 <tp:member type="i" tp:name="height">
57 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
58 <p>< the vertical extent of the bounding box,
59 that is, the difference between the maximum and minimum
60 y coordinate bounds.</p>
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>
71 <p>@note Events that may be emitted by instances of Accessible include:
72 \li \c "object:property-change" A base (strongly-typed) object attribute has changed,
73 for instance "object:property-change:accessible-name".
74 Notifed property subtypes include accessible-name, accessible-description,
75 accessible-parent and accessible-role. </p>
77 <p>\li \c "object:children-changed" The number or identity of an object's children
79 \li \c "object:state-changed" The object's StateSet has had a state added
81 \li \c "object:active-descendant-changed" 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 "micro" keyboard focus when the containing/emitting object has
85 "macro" or technical keyboard focus. For instance, this event is
86 usually emitted while traversing tables and/or spreadsheet cells.
87 \li \c "object:attribute-change" 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 ("object:attribute-change" notifications were added in AT-SPI 1.7.0)</p>
92 <tp:property name="name" type="s" access="readwrite">
94 a (short) \c string representing the object's name.
97 <tp:property name="description" type="s" access="readwrite">
99 a \c string describing the object in more detail than \a name.
102 <tp:property name="parent" type="o" access="read">
104 an ::Accessible object which is this object's containing object.
107 <tp:property name="childCount" type="i" access="read">
109 childCount: the number of children contained by this object.
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. "by-value" comparison), as two object references
117 may have different apparent values yet refer to the same object. </p>
119 <arg direction="in" name="obj" type="o" tp:type="Accessible">
121 an ::Accessible object reference to compare to
124 <arg direction="out" type="b" tp:type="boolean">
126 a \c boolean indicating whether the two object referencespoint to the same object.
130 <method name="getChildAtIndex">
132 Get the accessible child of this object at \c index.
134 <arg direction="in" name="index" type="i">
136 an in parameter indicating which child is requested (zero-indexed).
139 <arg direction="out" type="o" tp:type="Accessible">
141 the 'nth' ::Accessible child of this object.
145 <method name="getIndexInParent">
147 Get the index of this object in its parent's child list.
149 <arg direction="out" type="i">
151 a long integer indicating this object's index in the parent's list.
155 <method name="getRelationSet">
157 Get a set defining this object's relationship to other accessible objects.
159 <arg direction="out" type="au" tp:type="RelationSet">
161 a ::RelationSet defining this object's relationships.
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>
169 <arg direction="out" type="u" tp:type="Role">
171 a ::Role indicating the type of UI role played by this object.
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>
179 <arg direction="out" type="s">
181 a UTF-8 string indicating the type of UI role played by this object.
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>
190 <arg direction="out" type="s">
192 a UTF-8 string indicating the type of UI role played by this object.
196 <method name="getState">
198 Get the current state of the object as a ::StateSet.
200 <arg direction="out" type="o" tp:type="StateSet">
202 a ::StateSet encapsulating the currently true states of the object.
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 "attribute" keyword. </p>
214 <p>Not all objects have explicit "name-value pair" AttributeSet properties. </p>
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 "attribute" properties by
218 applications and AT clients, attribute names and values should chosen from
219 a publicly-specified namespace where appropriate. </p>
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.
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>
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 "text attributes". </p>
242 <p>@see ::Accessibility::Text::getAttributeRun </p>
244 <arg direction="out" type="as" tp:type="AttributeSet">
246 an ::AttributeSet encapsulating any "attribute values" currently defined for the object.@since AT-SPI 1.7.0
250 <method name="getApplication">
251 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
252 <p>Get the containing Application for this object. </p>
254 <arg direction="out" type="o" tp:type="Application">
256 the Application instance to which this object belongs.@since AT-SPI 1.7.0
260 <method name="unimplemented">
262 /cond future expansion