/* -*- 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): * * 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" #include "nsIAccessibleRetrieval.idl" interface nsIAccessibleEventListener; interface nsIDocument; interface nsIFrame; interface nsObjectFrame; interface nsIContent; [scriptable, uuid(0e80f152-d676-4fba-8862-9dc4eb761442)] interface nsIAccessibilityService : nsIAccessibleRetrieval { nsIAccessible createOuterDocAccessible(in nsIDOMNode aNode); nsIAccessible createRootAccessible(in nsIPresShell aShell, in nsIDocument aDocument); nsIAccessible createHTML4ButtonAccessible(in nsISupports aFrame); nsIAccessible createXULAlertAccessible(in nsIDOMNode aNode); nsIAccessible createHTMLAreaAccessible(in nsIWeakReference aPresShell, in nsIDOMNode aDOMNode, in nsIAccessible aAccParent); nsIAccessible createHTMLBlockAccessible(in nsISupports aFrame); nsIAccessible createHTMLButtonAccessible(in nsISupports aFrame); nsIAccessible createHTMLButtonAccessibleXBL(in nsIDOMNode aNode); nsIAccessible createHTMLAccessibleByMarkup(in nsISupports aFrame, in nsIWeakReference aWeakShell, in nsIDOMNode aDOMNode, in AString aRole); nsIAccessible createHTMLLIAccessible(in nsISupports aFrame, in nsISupports aBulletFrame, in AString aBulletText); nsIAccessible createHTMLCheckboxAccessible(in nsISupports aFrame); nsIAccessible createHTMLCheckboxAccessibleXBL(in nsIDOMNode aNode); nsIAccessible createHTMLComboboxAccessible(in nsIDOMNode aNode, in nsISupports aPresShell); nsIAccessible createHTMLGenericAccessible(in nsISupports aFrame); nsIAccessible createHTMLGroupboxAccessible(in nsISupports aFrame); nsIAccessible createHTMLHRAccessible(in nsISupports aFrame); nsIAccessible createHTMLImageAccessible(in nsISupports aFrame); nsIAccessible createHTMLLabelAccessible(in nsISupports aFrame); nsIAccessible createHTMLListboxAccessible(in nsIDOMNode aNode, in nsISupports aPresShell); nsIAccessible createHTMLObjectFrameAccessible(in nsObjectFrame aFrame); nsIAccessible createHTMLRadioButtonAccessible(in nsISupports aFrame); nsIAccessible createHTMLRadioButtonAccessibleXBL(in nsIDOMNode aNode); nsIAccessible createHTMLSelectOptionAccessible(in nsIDOMNode aNode, in nsIAccessible aAccParent, in nsISupports aPresShell); nsIAccessible createHTMLTableAccessible(in nsISupports aFrame); nsIAccessible createHTMLTableCellAccessible(in nsISupports aFrame); nsIAccessible createHTMLTableCaptionAccessible(in nsIDOMNode aDOMNode); nsIAccessible createHTMLTableHeadAccessible(in nsIDOMNode aDOMNode); nsIAccessible createHTMLTextAccessible(in nsISupports aFrame); nsIAccessible createHTMLTextFieldAccessible(in nsISupports aFrame); nsIAccessible createXULButtonAccessible(in nsIDOMNode aNode); nsIAccessible createXULCheckboxAccessible(in nsIDOMNode aNode); nsIAccessible createXULColorPickerAccessible(in nsIDOMNode aNode); nsIAccessible createXULColorPickerTileAccessible(in nsIDOMNode aNode); nsIAccessible createXULComboboxAccessible(in nsIDOMNode aNode); nsIAccessible createXULDropmarkerAccessible(in nsIDOMNode aNode); nsIAccessible createXULGroupboxAccessible(in nsIDOMNode aNode); nsIAccessible createXULImageAccessible(in nsIDOMNode aNode); nsIAccessible createXULLinkAccessible(in nsIDOMNode aNode); nsIAccessible createXULListboxAccessible(in nsIDOMNode aNode); nsIAccessible createXULListitemAccessible(in nsIDOMNode aNode); nsIAccessible createXULMenubarAccessible(in nsIDOMNode aNode); nsIAccessible createXULMenuitemAccessible(in nsIDOMNode aNode); nsIAccessible createXULMenupopupAccessible(in nsIDOMNode aNode); nsIAccessible createXULMenuSeparatorAccessible(in nsIDOMNode aNode); nsIAccessible createXULProgressMeterAccessible(in nsIDOMNode aNode); nsIAccessible createXULStatusBarAccessible(in nsIDOMNode aNode); nsIAccessible createXULRadioButtonAccessible(in nsIDOMNode aNode); nsIAccessible createXULRadioGroupAccessible(in nsIDOMNode aNode); nsIAccessible createXULSelectOptionAccessible(in nsIDOMNode aNode); nsIAccessible createXULSelectListAccessible(in nsIDOMNode aNode); nsIAccessible createXULTabAccessible(in nsIDOMNode aNode); nsIAccessible createXULTabBoxAccessible(in nsIDOMNode aNode); nsIAccessible createXULTabPanelsAccessible(in nsIDOMNode aNode); nsIAccessible createXULTabsAccessible(in nsIDOMNode aNode); nsIAccessible createXULTextAccessible(in nsIDOMNode aNode); nsIAccessible createXULTextBoxAccessible(in nsIDOMNode aNode); nsIAccessible createXULTreeAccessible(in nsIDOMNode aNode); nsIAccessible createXULTreeColumnsAccessible(in nsIDOMNode aNode); nsIAccessible createXULTreeColumnitemAccessible(in nsIDOMNode aNode); nsIAccessible createXULToolbarAccessible(in nsIDOMNode aNode); nsIAccessible createXULToolbarSeparatorAccessible(in nsIDOMNode aNode); nsIAccessible createXULTooltipAccessible(in nsIDOMNode aNode); [noscript] nsIAccessible getAccessible(in nsIDOMNode aNode, in nsIPresShell aPresShell, in nsIWeakReference aWeakShell, inout nsIFrame frameHint, out boolean aIsHidden); /** * Invalidate the accessibility cache associated with aPresShell, for accessibles * that were generated for aContainerContent and it's subtree. * The container content node for the change is passed in, rather than the * changed presentation for the content node itself. * @param aPresShell The presShell where changes occured * @param aChangeContent The affected DOM content * @param aEvent The event from nsIAccessibleEvent that * caused the change: * Must be one of: * EVENT_REORDER (change), * EVENT_SHOW (make visible or create) or * EVENT_HIDE (destroy or hide) */ [noscript] void invalidateSubtreeFor(in nsIPresShell aPresShell, in nsIContent aChangedContent, in PRUint32 aEvent); }; %{ C++ // for component registration // {DE401C37-9A7F-4278-A6F8-3DE2833989EF} #define NS_ACCESSIBILITY_SERVICE_CID \ { 0xde401c37, 0x9a7f, 0x4278, { 0xa6, 0xf8, 0x3d, 0xe2, 0x83, 0x39, 0x89, 0xef } } extern nsresult NS_GetAccessibilityService(nsIAccessibilityService** aResult); %}