summaryrefslogtreecommitdiffstats
path: root/accessible/interfaces/nsIAccessibilityService.idl
diff options
context:
space:
mode:
Diffstat (limited to 'accessible/interfaces/nsIAccessibilityService.idl')
-rw-r--r--accessible/interfaces/nsIAccessibilityService.idl108
1 files changed, 108 insertions, 0 deletions
diff --git a/accessible/interfaces/nsIAccessibilityService.idl b/accessible/interfaces/nsIAccessibilityService.idl
new file mode 100644
index 000000000..c073eaebf
--- /dev/null
+++ b/accessible/interfaces/nsIAccessibilityService.idl
@@ -0,0 +1,108 @@
+/* -*- 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 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, builtinclass, uuid(9a6f80fe-25cc-405c-9f8f-25869bc9f94e)]
+interface nsIAccessibilityService : 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.
+ */
+ nsISupports 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);
+
+ /**
+ * Return true if the given module is logged.
+ */
+ boolean isLogged(in AString aModule);
+};
+
+/**
+ * @deprecated, use nsIAccessibilityService instead.
+ */
+[scriptable, builtinclass, uuid(d85e0cbe-47ce-490c-8488-f821dd2be0c2)]
+interface nsIAccessibleRetrieval : nsIAccessibilityService
+{
+};