diff -r 000000000000 -r 6474c204b198 accessible/public/nsIAccessibleRole.idl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/accessible/public/nsIAccessibleRole.idl Wed Dec 31 06:09:35 2014 +0100
@@ -0,0 +1,781 @@
+/* -*- 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"
+
+/**
+ * Defines cross platform (Gecko) roles.
+ */
+[scriptable, uuid(50db5e86-9a45-4637-a5c3-4ff148c33270)]
+interface nsIAccessibleRole : nsISupports
+{
+ /**
+ * Used when accessible hans't strong defined role.
+ */
+ const unsigned long ROLE_NOTHING = 0;
+
+ /**
+ * Represents a title or caption bar for a window. It is used by MSAA only,
+ * supported automatically by MS Windows.
+ */
+ const unsigned long ROLE_TITLEBAR = 1;
+
+ /**
+ * Represents the menu bar (positioned beneath the title bar of a window)
+ * from which menus are selected by the user. The role is used by
+ * xul:menubar or role="menubar".
+ */
+ const unsigned long ROLE_MENUBAR = 2;
+
+ /**
+ * Represents a vertical or horizontal scroll bar, which is part of the client
+ * area or used in a control.
+ */
+ const unsigned long ROLE_SCROLLBAR = 3;
+
+ /**
+ * Represents a special mouse pointer, which allows a user to manipulate user
+ * interface elements such as windows. For example, a user clicks and drags
+ * a sizing grip in the lower-right corner of a window to resize it.
+ */
+ const unsigned long ROLE_GRIP = 4;
+
+ /**
+ * Represents a system sound, which is associated with various system events.
+ */
+ const unsigned long ROLE_SOUND = 5;
+
+ /**
+ * Represents the system mouse pointer.
+ */
+ const unsigned long ROLE_CURSOR = 6;
+
+ /**
+ * Represents the system caret. The role is supported for caret.
+ */
+ const unsigned long ROLE_CARET = 7;
+
+ /**
+ * Represents an alert or a condition that a user should be notified about.
+ * Assistive Technologies typically respond to the role by reading the entire
+ * onscreen contents of containers advertising this role. Should be used for
+ * warning dialogs, etc. The role is used by xul:browsermessage,
+ * role="alert".
+ */
+ const unsigned long ROLE_ALERT = 8;
+
+ /**
+ * Represents the window frame, which contains child objects such as
+ * a title bar, client, and other objects contained in a window. The role
+ * is supported automatically by MS Windows.
+ */
+ const unsigned long ROLE_WINDOW = 9;
+
+ /**
+ * A sub-document ( or