2 * AT-SPI - Assistive Technology Service Provider Interface
3 * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
5 * Copyright 2001 Sun Microsystems Inc.
7 * 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.
12 * 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.
17 * 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.
23 #ifndef _ACCESSIBILITY_ACCESSIBLE_IDL
24 #define _ACCESSIBILITY_ACCESSIBLE_IDL
26 #include <Bonobo_Unknown.idl>
28 #include "Relation.idl"
32 module Accessibility {
34 typedef sequence<Relation> RelationSet;
36 interface Accessible : Bonobo::Unknown {
39 * #attribute name: a (short) @string representing the object's name.
41 attribute string name;
44 * #attribute description: a @string describing the object in more detail than @name.
46 attribute string description;
49 * #attribute parent: an @Accessible object which is this object's containing object.
51 readonly attribute Accessible parent;
55 * return values: the number of children contained by this object (zero if none).
57 * Get the number of children contained by this object.
60 readonly attribute long childCount;
64 * @object: an #Accessible object reference to compare to
65 * return values: a #boolean indicating whether the two object references
66 * point to the same object.
68 boolean isEqual (in Accessible obj);
72 * @index: an in parameter indicating which child is requested (zero-indexed).
73 * return values: the 'nth' @Accessible child of this object.
75 * Get the accessible child of this object at index @index.
78 Accessible getChildAtIndex (in long index);
82 * return values: a long integer indicating this object's index in the parent's list.
84 * Get the index of this object in its parent's child list.
87 long getIndexInParent ();
91 * return values: a @RelationSet defining this object's relationships.
93 * Get a set defining this object's relationship to other accessible objects.
96 RelationSet getRelationSet ();
100 * return values: the @Role of this object.
102 * Get the @Role indicating the type of UI role played by this object.
109 * return values: a @StateSet encapsulating the currently true states of the object.
111 * Get the current state of the object as a @StateSet.
113 StateSet getState ();