/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface nsIDOMNode; interface nsIAccessible; interface nsIWeakReference; interface nsIPresShell; interface nsIDOMWindow; interface nsIDOMDOMStringList; interface nsIAccessiblePivot; /** * An interface for in-process accessibility clients wishing to get an * nsIAccessible for a given DOM node. More documentation at: * http://www.mozilla.org/projects/ui/accessibility */ [scriptable, uuid(aed712cb-708b-4caa-981d-767be0fba984)] interface nsIAccessibleRetrieval : nsISupports { /** * Return application accessible. */ nsIAccessible getApplicationAccessible(); /** * Return an nsIAccessible for a DOM node in pres shell 0. * Create a new accessible of the appropriate type if necessary, * or use one from the accessibility cache if it already exists. * @param aNode The DOM node to get an accessible for. * @return The nsIAccessible for the given DOM node. */ nsIAccessible getAccessibleFor(in nsIDOMNode aNode); /** * Returns accessible role as a string. * * @param aRole - the accessible role constants. */ AString getStringRole(in unsigned long aRole); /** * Returns list which contains accessible states as a strings. * * @param aStates - accessible states. * @param aExtraStates - accessible extra states. */ nsIDOMDOMStringList getStringStates(in unsigned long aStates, in unsigned long aExtraStates); /** * Get the type of accessible event as a string. * * @param aEventType - the accessible event type constant * @return - accessible event type presented as human readable string */ AString getStringEventType(in unsigned long aEventType); /** * Get the type of accessible relation as a string. * * @param aRelationType - the accessible relation type constant * @return - accessible relation type presented as human readable string */ AString getStringRelationType(in unsigned long aRelationType); /** * Return an accessible for the given DOM node from the cache. * @note the method is intended for testing purposes * * @param aNode [in] the DOM node to get an accessible for * * @return cached accessible for the given DOM node if any */ nsIAccessible getAccessibleFromCache(in nsIDOMNode aNode); /** * Create a new pivot for tracking a position and traversing a subtree. * * @param aRoot [in] the accessible root for the pivot * @return a new pivot */ nsIAccessiblePivot createAccessiblePivot(in nsIAccessible aRoot); /** * Enable logging for the given modules, all other modules aren't logged. * * @param aModules [in] list of modules, format is comma separated list * like 'docload,doccreate'. * @note Works on debug build only. * @see Logging.cpp for list of possible values. */ void setLogging(in ACString aModules); }; %{ C++ // for component registration // {663CA4A8-D219-4000-925D-D8F66406B626} #define NS_ACCESSIBLE_RETRIEVAL_CID \ { 0x663ca4a8, 0xd219, 0x4000, { 0x92, 0x5d, 0xd8, 0xf6, 0x64, 0x6, 0xb6, 0x26 } } %}