2007-03-22 10:30:00 -07:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2012-05-21 04:12:37 -07:00
|
|
|
/* 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/. */
|
2007-03-22 10:30:00 -07:00
|
|
|
|
|
|
|
#ifndef __nsAccessibilityService_h__
|
|
|
|
#define __nsAccessibilityService_h__
|
|
|
|
|
|
|
|
#include "nsIAccessibilityService.h"
|
2010-01-25 07:08:08 -08:00
|
|
|
|
2012-11-20 06:15:32 -08:00
|
|
|
#include "mozilla/a11y/DocManager.h"
|
2011-09-27 18:46:11 -07:00
|
|
|
#include "mozilla/a11y/FocusManager.h"
|
|
|
|
|
2007-03-22 10:30:00 -07:00
|
|
|
#include "nsIObserver.h"
|
|
|
|
|
2012-03-15 13:16:02 -07:00
|
|
|
class nsImageFrame;
|
2012-09-28 14:53:44 -07:00
|
|
|
class nsObjectFrame;
|
2012-04-02 04:31:10 -07:00
|
|
|
class nsITreeView;
|
2012-03-15 13:16:02 -07:00
|
|
|
|
2011-09-27 18:46:11 -07:00
|
|
|
namespace mozilla {
|
|
|
|
namespace a11y {
|
|
|
|
|
2012-09-10 06:20:26 -07:00
|
|
|
class ApplicationAccessible;
|
|
|
|
|
2011-09-27 18:46:11 -07:00
|
|
|
/**
|
|
|
|
* Return focus manager.
|
|
|
|
*/
|
|
|
|
FocusManager* FocusMgr();
|
|
|
|
|
2012-06-19 16:19:13 -07:00
|
|
|
enum EPlatformDisabledState {
|
|
|
|
ePlatformIsForceEnabled = -1,
|
|
|
|
ePlatformIsEnabled = 0,
|
|
|
|
ePlatformIsDisabled = 1
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Return the platform disabled state.
|
|
|
|
*/
|
|
|
|
EPlatformDisabledState PlatformDisabledState();
|
|
|
|
|
2012-09-10 06:20:26 -07:00
|
|
|
/**
|
|
|
|
* Returns the application accessible.
|
|
|
|
*/
|
|
|
|
ApplicationAccessible* ApplicationAcc();
|
|
|
|
|
2012-01-04 17:54:17 -08:00
|
|
|
#ifdef MOZ_ACCESSIBILITY_ATK
|
|
|
|
/**
|
|
|
|
* Perform initialization that should be done as soon as possible, in order
|
|
|
|
* to minimize startup time.
|
2012-04-25 04:29:40 -07:00
|
|
|
* XXX: this function and the next defined in ApplicationAccessibleWrap.cpp
|
2012-01-04 17:54:17 -08:00
|
|
|
*/
|
|
|
|
void PreInit();
|
2012-06-06 17:26:45 -07:00
|
|
|
#endif
|
2012-01-04 17:54:17 -08:00
|
|
|
|
2012-06-06 17:26:45 -07:00
|
|
|
#if defined(MOZ_ACCESSIBILITY_ATK) || defined(XP_MACOSX)
|
2012-01-04 17:54:17 -08:00
|
|
|
/**
|
|
|
|
* Is platform accessibility enabled.
|
2012-06-06 17:26:45 -07:00
|
|
|
* Only used on linux with atk and MacOS for now.
|
2012-01-04 17:54:17 -08:00
|
|
|
*/
|
|
|
|
bool ShouldA11yBeEnabled();
|
|
|
|
#endif
|
|
|
|
|
2011-09-27 18:46:11 -07:00
|
|
|
} // namespace a11y
|
|
|
|
} // namespace mozilla
|
|
|
|
|
2012-11-20 06:15:32 -08:00
|
|
|
class nsAccessibilityService : public mozilla::a11y::DocManager,
|
2011-09-27 18:46:11 -07:00
|
|
|
public mozilla::a11y::FocusManager,
|
2010-06-08 09:39:58 -07:00
|
|
|
public nsIAccessibilityService,
|
|
|
|
public nsIObserver
|
2007-08-22 20:26:38 -07:00
|
|
|
{
|
|
|
|
public:
|
2012-11-20 06:15:32 -08:00
|
|
|
typedef mozilla::a11y::Accessible Accessible;
|
|
|
|
typedef mozilla::a11y::DocAccessible DocAccessible;
|
|
|
|
|
2007-08-22 20:26:38 -07:00
|
|
|
virtual ~nsAccessibilityService();
|
|
|
|
|
2010-06-08 09:39:58 -07:00
|
|
|
NS_DECL_ISUPPORTS_INHERITED
|
2007-08-22 20:26:38 -07:00
|
|
|
NS_DECL_NSIACCESSIBLERETRIEVAL
|
|
|
|
NS_DECL_NSIOBSERVER
|
|
|
|
|
2010-04-25 19:56:12 -07:00
|
|
|
// nsIAccessibilityService
|
2012-05-28 18:18:45 -07:00
|
|
|
virtual Accessible* GetRootDocumentAccessible(nsIPresShell* aPresShell,
|
|
|
|
bool aCanCreate);
|
|
|
|
already_AddRefed<Accessible>
|
2010-06-28 05:02:03 -07:00
|
|
|
CreateHTMLObjectFrameAccessible(nsObjectFrame* aFrame, nsIContent* aContent,
|
2012-09-28 14:53:44 -07:00
|
|
|
DocAccessible* aDoc);
|
2010-04-25 19:56:12 -07:00
|
|
|
|
2012-06-23 23:19:13 -07:00
|
|
|
/**
|
|
|
|
* Adds/remove ATK root accessible for gtk+ native window to/from children
|
|
|
|
* of the application accessible.
|
|
|
|
*/
|
2012-05-28 18:18:45 -07:00
|
|
|
virtual Accessible* AddNativeRootAccessible(void* aAtkAccessible);
|
|
|
|
virtual void RemoveNativeRootAccessible(Accessible* aRootAccessible);
|
2010-04-25 19:56:12 -07:00
|
|
|
|
2012-06-23 23:19:13 -07:00
|
|
|
/**
|
|
|
|
* Notification used to update the accessible tree when new content is
|
|
|
|
* inserted.
|
|
|
|
*/
|
|
|
|
void ContentRangeInserted(nsIPresShell* aPresShell, nsIContent* aContainer,
|
|
|
|
nsIContent* aStartChild, nsIContent* aEndChild);
|
2010-10-20 21:16:10 -07:00
|
|
|
|
2012-06-23 23:19:13 -07:00
|
|
|
/**
|
|
|
|
* Notification used to update the accessible tree when content is removed.
|
|
|
|
*/
|
|
|
|
void ContentRemoved(nsIPresShell* aPresShell, nsIContent* aContainer,
|
|
|
|
nsIContent* aChild);
|
2010-04-25 19:56:12 -07:00
|
|
|
|
2011-01-28 00:42:22 -08:00
|
|
|
virtual void UpdateText(nsIPresShell* aPresShell, nsIContent* aContent);
|
|
|
|
|
2012-04-02 04:31:10 -07:00
|
|
|
/**
|
|
|
|
* Update XUL:tree accessible tree when treeview is changed.
|
|
|
|
*/
|
|
|
|
void TreeViewChanged(nsIPresShell* aPresShell, nsIContent* aContent,
|
|
|
|
nsITreeView* aView);
|
|
|
|
|
2011-03-28 06:59:54 -07:00
|
|
|
/**
|
|
|
|
* Update list bullet accessible.
|
|
|
|
*/
|
|
|
|
virtual void UpdateListBullet(nsIPresShell* aPresShell,
|
|
|
|
nsIContent* aHTMLListItemContent,
|
|
|
|
bool aHasBullet);
|
|
|
|
|
2012-03-15 13:16:02 -07:00
|
|
|
/**
|
|
|
|
* Update the image map.
|
|
|
|
*/
|
|
|
|
void UpdateImageMap(nsImageFrame* aImageFrame);
|
|
|
|
|
2012-06-23 23:19:13 -07:00
|
|
|
/**
|
|
|
|
* Notify accessibility that anchor jump has been accomplished to the given
|
|
|
|
* target. Used by layout.
|
|
|
|
*/
|
|
|
|
void NotifyOfAnchorJumpTo(nsIContent *aTarget);
|
2010-04-25 19:56:12 -07:00
|
|
|
|
2011-03-02 06:41:42 -08:00
|
|
|
/**
|
|
|
|
* Notify that presshell is activated.
|
|
|
|
*/
|
|
|
|
virtual void PresShellActivated(nsIPresShell* aPresShell);
|
|
|
|
|
2012-03-22 18:49:55 -07:00
|
|
|
/**
|
|
|
|
* Recreate an accessible for the given content node in the presshell.
|
|
|
|
*/
|
|
|
|
void RecreateAccessible(nsIPresShell* aPresShell, nsIContent* aContent);
|
2010-10-20 21:16:10 -07:00
|
|
|
|
2012-08-22 08:56:38 -07:00
|
|
|
virtual void FireAccessibleEvent(uint32_t aEvent, Accessible* aTarget);
|
2010-04-25 19:56:12 -07:00
|
|
|
|
|
|
|
// nsAccessibiltiyService
|
|
|
|
|
2007-08-22 20:26:38 -07:00
|
|
|
/**
|
2010-06-08 09:39:58 -07:00
|
|
|
* Return true if accessibility service has been shutdown.
|
2007-08-22 20:26:38 -07:00
|
|
|
*/
|
2011-09-28 23:19:26 -07:00
|
|
|
static bool IsShutdown() { return gIsShutdown; }
|
2007-08-22 20:26:38 -07:00
|
|
|
|
2009-07-29 02:01:48 -07:00
|
|
|
/**
|
2010-06-30 19:18:08 -07:00
|
|
|
* Return an accessible for the given DOM node from the cache or create new
|
|
|
|
* one.
|
2010-02-01 18:27:32 -08:00
|
|
|
*
|
2010-11-13 09:49:26 -08:00
|
|
|
* @param aNode [in] the given node
|
2012-06-10 16:44:50 -07:00
|
|
|
* @param aDoc [in] the doc accessible of the node
|
2010-11-13 09:49:26 -08:00
|
|
|
* @param aIsSubtreeHidden [out, optional] indicates whether the node's
|
|
|
|
* frame and its subtree is hidden
|
2009-07-29 02:01:48 -07:00
|
|
|
*/
|
2012-05-28 18:18:45 -07:00
|
|
|
Accessible* GetOrCreateAccessible(nsINode* aNode, DocAccessible* aDoc,
|
2012-07-30 07:20:58 -07:00
|
|
|
bool* aIsSubtreeHidden = nullptr);
|
2009-07-29 02:01:48 -07:00
|
|
|
|
2010-06-08 09:39:58 -07:00
|
|
|
private:
|
|
|
|
// nsAccessibilityService creation is controlled by friend
|
|
|
|
// NS_GetAccessibilityService, keep constructors private.
|
|
|
|
nsAccessibilityService();
|
|
|
|
nsAccessibilityService(const nsAccessibilityService&);
|
|
|
|
nsAccessibilityService& operator =(const nsAccessibilityService&);
|
|
|
|
|
|
|
|
private:
|
|
|
|
/**
|
|
|
|
* Initialize accessibility service.
|
|
|
|
*/
|
2011-09-28 23:19:26 -07:00
|
|
|
bool Init();
|
2010-06-08 09:39:58 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Shutdowns accessibility service.
|
|
|
|
*/
|
|
|
|
void Shutdown();
|
|
|
|
|
2007-08-22 20:26:38 -07:00
|
|
|
/**
|
2010-02-20 16:56:35 -08:00
|
|
|
* Create accessible for the element implementing nsIAccessibleProvider
|
2007-08-22 20:26:38 -07:00
|
|
|
* interface.
|
|
|
|
*/
|
2012-05-28 18:18:45 -07:00
|
|
|
already_AddRefed<Accessible>
|
2012-05-27 02:01:40 -07:00
|
|
|
CreateAccessibleByType(nsIContent* aContent, DocAccessible* aDoc);
|
2007-08-22 20:26:38 -07:00
|
|
|
|
2010-02-20 16:56:35 -08:00
|
|
|
/**
|
|
|
|
* Create accessible for HTML node by tag name.
|
|
|
|
*/
|
2012-05-28 18:18:45 -07:00
|
|
|
already_AddRefed<Accessible>
|
2010-06-28 05:02:03 -07:00
|
|
|
CreateHTMLAccessibleByMarkup(nsIFrame* aFrame, nsIContent* aContent,
|
2012-09-16 19:00:39 -07:00
|
|
|
DocAccessible* aDoc,
|
|
|
|
bool aIsLegalPartOfHTMLTable);
|
2010-02-20 16:56:35 -08:00
|
|
|
|
2012-09-28 14:53:44 -07:00
|
|
|
/**
|
|
|
|
* Create an accessible whose type depends on the given frame.
|
|
|
|
*/
|
|
|
|
already_AddRefed<Accessible>
|
|
|
|
CreateAccessibleByFrameType(nsIFrame* aFrame, nsIContent* aContent,
|
|
|
|
DocAccessible* aDoc);
|
|
|
|
|
2010-02-20 16:56:35 -08:00
|
|
|
/**
|
|
|
|
* Create accessible if parent is a deck frame.
|
2007-08-22 20:26:38 -07:00
|
|
|
*/
|
2012-05-28 18:18:45 -07:00
|
|
|
already_AddRefed<Accessible>
|
2010-06-28 05:02:03 -07:00
|
|
|
CreateAccessibleForDeckChild(nsIFrame* aFrame, nsIContent* aContent,
|
2012-05-27 02:01:40 -07:00
|
|
|
DocAccessible* aDoc);
|
2007-08-22 20:26:38 -07:00
|
|
|
|
2009-08-19 23:45:19 -07:00
|
|
|
#ifdef MOZ_XUL
|
|
|
|
/**
|
|
|
|
* Create accessible for XUL tree element.
|
|
|
|
*/
|
2012-05-28 18:18:45 -07:00
|
|
|
already_AddRefed<Accessible>
|
2012-05-27 02:01:40 -07:00
|
|
|
CreateAccessibleForXULTree(nsIContent* aContent, DocAccessible* aDoc);
|
2009-08-19 23:45:19 -07:00
|
|
|
#endif
|
2010-06-08 09:39:58 -07:00
|
|
|
|
|
|
|
/**
|
2011-09-27 18:46:11 -07:00
|
|
|
* Reference for accessibility service instance.
|
2010-06-08 09:39:58 -07:00
|
|
|
*/
|
2011-09-27 18:46:11 -07:00
|
|
|
static nsAccessibilityService* gAccessibilityService;
|
2007-09-24 18:19:03 -07:00
|
|
|
|
2012-09-10 06:20:26 -07:00
|
|
|
/**
|
|
|
|
* Reference for application accessible instance.
|
|
|
|
*/
|
|
|
|
static mozilla::a11y::ApplicationAccessible* gApplicationAccessible;
|
|
|
|
|
2010-06-08 09:39:58 -07:00
|
|
|
/**
|
|
|
|
* Indicates whether accessibility service was shutdown.
|
|
|
|
*/
|
2011-09-28 23:19:26 -07:00
|
|
|
static bool gIsShutdown;
|
2010-06-08 09:39:58 -07:00
|
|
|
|
2010-02-01 18:27:32 -08:00
|
|
|
friend nsAccessibilityService* GetAccService();
|
2011-09-27 18:46:11 -07:00
|
|
|
friend mozilla::a11y::FocusManager* mozilla::a11y::FocusMgr();
|
2012-09-10 06:20:26 -07:00
|
|
|
friend mozilla::a11y::ApplicationAccessible* mozilla::a11y::ApplicationAcc();
|
2010-02-01 18:27:32 -08:00
|
|
|
|
2010-06-08 09:39:58 -07:00
|
|
|
friend nsresult NS_GetAccessibilityService(nsIAccessibilityService** aResult);
|
2007-08-22 20:26:38 -07:00
|
|
|
};
|
|
|
|
|
2010-02-01 18:27:32 -08:00
|
|
|
/**
|
|
|
|
* Return the accessibility service instance. (Handy global function)
|
|
|
|
*/
|
|
|
|
inline nsAccessibilityService*
|
|
|
|
GetAccService()
|
|
|
|
{
|
|
|
|
return nsAccessibilityService::gAccessibilityService;
|
|
|
|
}
|
|
|
|
|
2007-08-22 20:26:38 -07:00
|
|
|
/**
|
|
|
|
* Map nsIAccessibleEvents constants to strings. Used by
|
|
|
|
* nsIAccessibleRetrieval::getStringEventType() method.
|
|
|
|
*/
|
|
|
|
static const char kEventTypeNames[][40] = {
|
|
|
|
"unknown", //
|
2009-09-09 02:03:14 -07:00
|
|
|
"show", // EVENT_SHOW
|
|
|
|
"hide", // EVENT_HIDE
|
|
|
|
"reorder", // EVENT_REORDER
|
2007-08-22 20:26:38 -07:00
|
|
|
"active decendent change", // EVENT_ACTIVE_DECENDENT_CHANGED
|
|
|
|
"focus", // EVENT_FOCUS
|
|
|
|
"state change", // EVENT_STATE_CHANGE
|
|
|
|
"location change", // EVENT_LOCATION_CHANGE
|
|
|
|
"name changed", // EVENT_NAME_CHANGE
|
|
|
|
"description change", // EVENT_DESCRIPTION_CHANGE
|
|
|
|
"value change", // EVENT_VALUE_CHANGE
|
|
|
|
"help change", // EVENT_HELP_CHANGE
|
|
|
|
"default action change", // EVENT_DEFACTION_CHANGE
|
|
|
|
"action change", // EVENT_ACTION_CHANGE
|
|
|
|
"accelerator change", // EVENT_ACCELERATOR_CHANGE
|
|
|
|
"selection", // EVENT_SELECTION
|
|
|
|
"selection add", // EVENT_SELECTION_ADD
|
|
|
|
"selection remove", // EVENT_SELECTION_REMOVE
|
|
|
|
"selection within", // EVENT_SELECTION_WITHIN
|
|
|
|
"alert", // EVENT_ALERT
|
|
|
|
"foreground", // EVENT_FOREGROUND
|
|
|
|
"menu start", // EVENT_MENU_START
|
|
|
|
"menu end", // EVENT_MENU_END
|
|
|
|
"menupopup start", // EVENT_MENUPOPUP_START
|
|
|
|
"menupopup end", // EVENT_MENUPOPUP_END
|
|
|
|
"capture start", // EVENT_CAPTURE_START
|
|
|
|
"capture end", // EVENT_CAPTURE_END
|
|
|
|
"movesize start", // EVENT_MOVESIZE_START
|
|
|
|
"movesize end", // EVENT_MOVESIZE_END
|
|
|
|
"contexthelp start", // EVENT_CONTEXTHELP_START
|
|
|
|
"contexthelp end", // EVENT_CONTEXTHELP_END
|
|
|
|
"dragdrop start", // EVENT_DRAGDROP_START
|
|
|
|
"dragdrop end", // EVENT_DRAGDROP_END
|
|
|
|
"dialog start", // EVENT_DIALOG_START
|
|
|
|
"dialog end", // EVENT_DIALOG_END
|
|
|
|
"scrolling start", // EVENT_SCROLLING_START
|
|
|
|
"scrolling end", // EVENT_SCROLLING_END
|
|
|
|
"minimize start", // EVENT_MINIMIZE_START
|
|
|
|
"minimize end", // EVENT_MINIMIZE_END
|
|
|
|
"document load complete", // EVENT_DOCUMENT_LOAD_COMPLETE
|
|
|
|
"document reload", // EVENT_DOCUMENT_RELOAD
|
|
|
|
"document load stopped", // EVENT_DOCUMENT_LOAD_STOPPED
|
|
|
|
"document attributes changed", // EVENT_DOCUMENT_ATTRIBUTES_CHANGED
|
|
|
|
"document content changed", // EVENT_DOCUMENT_CONTENT_CHANGED
|
|
|
|
"property changed", // EVENT_PROPERTY_CHANGED
|
2011-10-31 17:52:27 -07:00
|
|
|
"page changed", // EVENT_PAGE_CHANGED
|
2007-08-22 20:26:38 -07:00
|
|
|
"text attribute changed", // EVENT_TEXT_ATTRIBUTE_CHANGED
|
|
|
|
"text caret moved", // EVENT_TEXT_CARET_MOVED
|
|
|
|
"text changed", // EVENT_TEXT_CHANGED
|
|
|
|
"text inserted", // EVENT_TEXT_INSERTED
|
|
|
|
"text removed", // EVENT_TEXT_REMOVED
|
|
|
|
"text updated", // EVENT_TEXT_UPDATED
|
|
|
|
"text selection changed", // EVENT_TEXT_SELECTION_CHANGED
|
|
|
|
"visible data changed", // EVENT_VISIBLE_DATA_CHANGED
|
|
|
|
"text column changed", // EVENT_TEXT_COLUMN_CHANGED
|
|
|
|
"section changed", // EVENT_SECTION_CHANGED
|
|
|
|
"table caption changed", // EVENT_TABLE_CAPTION_CHANGED
|
|
|
|
"table model changed", // EVENT_TABLE_MODEL_CHANGED
|
|
|
|
"table summary changed", // EVENT_TABLE_SUMMARY_CHANGED
|
|
|
|
"table row description changed", // EVENT_TABLE_ROW_DESCRIPTION_CHANGED
|
|
|
|
"table row header changed", // EVENT_TABLE_ROW_HEADER_CHANGED
|
|
|
|
"table row insert", // EVENT_TABLE_ROW_INSERT
|
|
|
|
"table row delete", // EVENT_TABLE_ROW_DELETE
|
|
|
|
"table row reorder", // EVENT_TABLE_ROW_REORDER
|
|
|
|
"table column description changed", // EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED
|
|
|
|
"table column header changed", // EVENT_TABLE_COLUMN_HEADER_CHANGED
|
|
|
|
"table column insert", // EVENT_TABLE_COLUMN_INSERT
|
|
|
|
"table column delete", // EVENT_TABLE_COLUMN_DELETE
|
|
|
|
"table column reorder", // EVENT_TABLE_COLUMN_REORDER
|
|
|
|
"window activate", // EVENT_WINDOW_ACTIVATE
|
|
|
|
"window create", // EVENT_WINDOW_CREATE
|
|
|
|
"window deactivate", // EVENT_WINDOW_DEACTIVATE
|
|
|
|
"window destroy", // EVENT_WINDOW_DESTROY
|
|
|
|
"window maximize", // EVENT_WINDOW_MAXIMIZE
|
|
|
|
"window minimize", // EVENT_WINDOW_MINIMIZE
|
|
|
|
"window resize", // EVENT_WINDOW_RESIZE
|
|
|
|
"window restore", // EVENT_WINDOW_RESTORE
|
|
|
|
"hyperlink end index changed", // EVENT_HYPERLINK_END_INDEX_CHANGED
|
|
|
|
"hyperlink number of anchors changed", // EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED
|
|
|
|
"hyperlink selected link changed", // EVENT_HYPERLINK_SELECTED_LINK_CHANGED
|
|
|
|
"hypertext link activated", // EVENT_HYPERTEXT_LINK_ACTIVATED
|
|
|
|
"hypertext link selected", // EVENT_HYPERTEXT_LINK_SELECTED
|
|
|
|
"hyperlink start index changed", // EVENT_HYPERLINK_START_INDEX_CHANGED
|
|
|
|
"hypertext changed", // EVENT_HYPERTEXT_CHANGED
|
|
|
|
"hypertext links count changed", // EVENT_HYPERTEXT_NLINKS_CHANGED
|
|
|
|
"object attribute changed", // EVENT_OBJECT_ATTRIBUTE_CHANGED
|
2012-02-01 22:14:51 -08:00
|
|
|
"virtual cursor changed" // EVENT_VIRTUALCURSOR_CHANGED
|
2007-03-22 10:30:00 -07:00
|
|
|
};
|
|
|
|
|
2007-10-10 19:02:09 -07:00
|
|
|
/**
|
|
|
|
* Map nsIAccessibleRelation constants to strings. Used by
|
|
|
|
* nsIAccessibleRetrieval::getStringRelationType() method.
|
|
|
|
*/
|
|
|
|
static const char kRelationTypeNames[][20] = {
|
|
|
|
"unknown", // RELATION_NUL
|
|
|
|
"controlled by", // RELATION_CONTROLLED_BY
|
|
|
|
"controller for", // RELATION_CONTROLLER_FOR
|
|
|
|
"label for", // RELATION_LABEL_FOR
|
|
|
|
"labelled by", // RELATION_LABELLED_BY
|
|
|
|
"member of", // RELATION_MEMBER_OF
|
|
|
|
"node child of", // RELATION_NODE_CHILD_OF
|
|
|
|
"flows to", // RELATION_FLOWS_TO
|
|
|
|
"flows from", // RELATION_FLOWS_FROM
|
|
|
|
"subwindow of", // RELATION_SUBWINDOW_OF
|
|
|
|
"embeds", // RELATION_EMBEDS
|
|
|
|
"embedded by", // RELATION_EMBEDDED_BY
|
|
|
|
"popup for", // RELATION_POPUP_FOR
|
|
|
|
"parent window of", // RELATION_PARENT_WINDOW_OF
|
|
|
|
"described by", // RELATION_DESCRIBED_BY
|
|
|
|
"description for", // RELATION_DESCRIPTION_FOR
|
|
|
|
"default button" // RELATION_DEFAULT_BUTTON
|
|
|
|
};
|
|
|
|
|
2007-03-22 10:30:00 -07:00
|
|
|
#endif /* __nsIAccessibilityService_h__ */
|
2007-10-10 19:02:09 -07:00
|
|
|
|