blob: 749009712a247a2e3b84fa6ae481c9aea3f2d247 [file] [log] [blame]
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Mozilla browser.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1999
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* John Gaunt
* Alexander Surkov <surkov.alexander@gmail.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either of the GNU General Public License Version 2 or later (the "GPL"),
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsISupports.idl"
/**
* nsIAccessibleProvider interface is used to link element and accessible
object. For that XBL binding of element should implement the interface.
*/
[scriptable, uuid(3f7f9194-c625-4a85-8148-6d92d34897fa)]
interface nsIAccessibleProvider : nsISupports
{
/**
* Constants set of common use.
*/
/** Do not create an accessible for this object
* This is useful if an ancestor binding already implements nsIAccessibleProvider,
* but no accessible is desired for the inheriting binding
*/
const long NoAccessible = 0;
/** For elements that spawn a new document. For example now it is used by
<xul:iframe>, <xul:browser> and <xul:editor>. */
const long OuterDoc = 0x00000001;
/**
* Constants set is used by XUL controls.
*/
const long XULAlert = 0x00001001;
const long XULButton = 0x00001002;
const long XULCheckbox = 0x00001003;
const long XULColorPicker = 0x00001004;
const long XULColorPickerTile = 0x00001005;
const long XULCombobox = 0x00001006;
const long XULDropmarker = 0x00001007;
const long XULGroupbox = 0x00001008;
const long XULImage = 0x00001009;
const long XULLink = 0x0000100A;
const long XULListbox = 0x0000100B;
const long XULListCell = 0x00001026;
const long XULListHead = 0x00001024;
const long XULListHeader = 0x00001025;
const long XULListitem = 0x0000100C;
const long XULMenubar = 0x0000100D;
const long XULMenuitem = 0x0000100E;
const long XULMenupopup = 0x0000100F;
const long XULMenuSeparator = 0x00001010;
const long XULPane = 0x00001011;
const long XULProgressMeter = 0x00001012;
const long XULScale = 0x00001013;
const long XULStatusBar = 0x00001014;
const long XULRadioButton = 0x00001015;
const long XULRadioGroup = 0x00001016;
/** The single tab in a dialog or tabbrowser/editor interface */
const long XULTab = 0x00001017;
/** A combination of a tabs object and a tabpanels object */
const long XULTabBox = 0x00001018;
/** The collection of tab objects, useable in the TabBox and independant of
as well */
const long XULTabs = 0x00001019;
const long XULText = 0x0000101A;
const long XULTextBox = 0x0000101B;
const long XULThumb = 0x0000101C;
const long XULTree = 0x0000101D;
const long XULTreeColumns = 0x0000101E;
const long XULTreeColumnItem = 0x0000101F;
const long XULToolbar = 0x00001020;
const long XULToolbarSeparator = 0x00001021;
const long XULTooltip = 0x00001022;
const long XULToolbarButton = 0x00001023;
/**
* Constants set is used by XForms elements.
*/
/** Used for xforms elements that provide accessible object for itself as
* well for anonymous content. This property are used for upload,
* input[type="xsd:gDay"] and input[type="xsd:gMonth"] */
const long XFormsContainer = 0x00002000;
/** Used for label element */
const long XFormsLabel = 0x00002001;
/** Used for output element */
const long XFormsOuput = 0x00002002;
/** Used for trigger and submit elements */
const long XFormsTrigger = 0x00002003;
/** Used for input and textarea elements */
const long XFormsInput = 0x00002004;
/** Used for input[xsd:boolean] element */
const long XFormsInputBoolean = 0x00002005;
/** Used for input[xsd:date] element */
const long XFormsInputDate = 0x00002006;
/** Used for secret element */
const long XFormsSecret = 0x00002007;
/** Used for range element represented by slider */
const long XFormsSliderRange = 0x00002008;
/** Used for select and select1 that are implemented using host document's
* native widget. For example, a select1 in a xhtml document may be
* represented by the native html control html:select */
const long XFormsSelect = 0x00002009;
/** Used for xforms choices element */
const long XFormsChoices = 0x00002010;
/** Used for xforms full select/select1 elements that may be represented by
* group of checkboxes and radiogroup */
const long XFormsSelectFull = 0x00002011;
/** Used for xforms item element that is used inside xforms select elements
* represented by group of checkboxes */
const long XFormsItemCheckgroup = 0x00002012;
/** Used for xforms item element that is used inside xforms select1 elements
* represented by radio group */
const long XFormsItemRadiogroup = 0x00002013;
/** Used for xforms select1 element that is represented by combobox */
const long XFormsSelectCombobox = 0x00002014;
/** Used for xforms item element that is used inside xforms select1
* elements represented by combobox */
const long XFormsItemCombobox = 0x00002015;
/** Used for dropmarker widget that is used by xforms elements */
const long XFormsDropmarkerWidget = 0x00002101;
/** Used for calendar widget that is used by xforms elements */
const long XFormsCalendarWidget = 0x00002102;
/** Used for popup widget that is used by xforms minimal select1 elements */
const long XFormsComboboxPopupWidget = 0x00002103;
/**
* Return one of constants declared above.
*/
readonly attribute long accessibleType;
};