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 * @name: a (short) #string representing the object's name.
41 attribute string name;
44 * @description: a #string describing the object in more detail than @name.
46 attribute string description;
49 * @parent: an #Accessible object which is this object's containing object.
51 readonly attribute Accessible parent;
54 * @childCount: the number of children contained by this object.
56 readonly attribute long childCount;
60 * @obj: an #Accessible object reference to compare to
62 * Determine whether an #Accessible refers to the same object as another
64 * Returns: a #boolean indicating whether the two object references
65 * point to the same object.
67 boolean isEqual (in Accessible obj);
71 * @index: an in parameter indicating which child is requested (zero-indexed).
73 * Get the accessible child of this object at index @index.
75 * Returns: the 'nth' @Accessible child of this object.
77 Accessible getChildAtIndex (in long index);
82 * Get the index of this object in its parent's child list.
84 * Returns: a long integer indicating this object's index in the parent's list.
86 long getIndexInParent ();
91 * Get a set defining this object's relationship to other accessible objects.
93 * Returns: a @RelationSet defining this object's relationships.
95 RelationSet getRelationSet ();
99 * Get the @Role indicating the type of UI role played by this object.
101 * Returns: a @Role indicating the type of UI role played by this object.
108 * Get the current state of the object as a @StateSet.
109 * Returns: a @StateSet encapsulating the currently true states of the object.
111 StateSet getState ();