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;
43 interface Accessible : Bonobo::Unknown {
46 * @name: a (short) #string representing the object's name.
48 attribute string name;
51 * @description: a #string describing the object in more detail than @name.
53 attribute string description;
56 * @parent: an #Accessible object which is this object's containing object.
58 readonly attribute Accessible parent;
61 * @childCount: the number of children contained by this object.
63 readonly attribute long childCount;
67 * @obj: an #Accessible object reference to compare to
69 * Determine whether an #Accessible refers to the same object as another
71 * Returns: a #boolean indicating whether the two object references
72 * point to the same object.
74 boolean isEqual (in Accessible obj);
78 * @index: an in parameter indicating which child is requested (zero-indexed).
80 * Get the accessible child of this object at index @index.
82 * Returns: the 'nth' @Accessible child of this object.
84 Accessible getChildAtIndex (in long index);
89 * Get the index of this object in its parent's child list.
91 * Returns: a long integer indicating this object's index in the parent's list.
93 long getIndexInParent ();
98 * Get a set defining this object's relationship to other accessible objects.
100 * Returns: a @RelationSet defining this object's relationships.
102 RelationSet getRelationSet ();
106 * Get the @Role indicating the type of UI role played by this object.
108 * Returns: a @Role indicating the type of UI role played by this object.
115 * Get the current state of the object as a @StateSet.
116 * Returns: a @StateSet encapsulating the currently true states of the object.
118 StateSet getState ();