Class Inheritence Diagram

Zoomable: In Netscape or Mozilla press Ctrl+Plus and Ctrl+Minus to zoom or shrink.

When focused on a class name, type:

nsAccessNode
Implements nsIAccessNode
Important data members:
nsCOMPtr<nsIDOMNode> mDOMNode;
nsWeakPtr mWeakShell;
nsAccessNodeWrap
Implements COM interface ISimpleDOMNode (MSAA only). Supporting this interface on non-accessible nodes is why we need nsAccessNode and nsAccessNodeWrap.
nsAccessible
Important data members for fast access:
nsIAccessible *mParent, *mNextSibling, *mFirstChild;
PRInt16 mAccChildCount; // -1 means uninitialized
nsAccessibleWrap
Implements COM interfaces IAccessible (MSAA) and IENUMVariant (speeds up MSAA)
All specific accessible classes eventually inherit from this, and thus also inherit from the 3 classes listed above with nsAccessNode at the root of every class, storing the DOM Node the accessible is associated with.
nsAccessibilityService
- Not in class hierarchy -
Impls nsIAccessibilityService, a singleton service than creates accessibles of the every type in this chart, on demand.
Using the service causes the accessibility module to be loaded. Also observes application shutdown and calls ShutdownAccessibility() when that happens.
nsFormControlAccessible
Implements general rules for getting name and state for a form control. Acts like leaf accessible in that it does not allow children.
nsRadioButtonAccessible
nsXULRadioButtonAccessible
nsHTMLRadioButtonAccessible
nsXULColorPickerTileAccessible
nsXULDropmarkerAccessible
nsXULProgressMeterAccessible
nsXULCheckboxAccessible
nsHTMLCheckboxAccessible
nsHTMLTextFieldAccessible
nsHTMLButtonAccessible
This is for buttons created with the <input> tag, which can have only a simple label. See also nsHTML4ButtonAccessible.
nsLinkableAccessible
For links and possible children of links. Supports link states and names.
nsTextAccessible
No children allowed.
nsXULTextAccessible
nsHTMLTextAccessible
nsHTMLLabelAccessible
nsHTMLImageAccessible
nsHTMLAreaAccessible
For image map <area>s. Created by nsHTMLImageAccessible as children of image, even though it exists in a separate part of the DOM.
nsHTMLLinkAccessible
nsBlockAccessible
Can handle overlapping child accessibles, returning the smallest one when AccGetAt() is called, which returns the accessible child at a specific pixel location.
nsDocAccessible
Implements nsIAccessibleDocument. Contains cache of all nsAccessNode's (and thus nsAccessible's) in document.
nsDocAccessibleWrap
Implements ISimpleDOMDocument (MSAA only). Fires toolkit events.
nsRootAccessible
One per top-level window. Holds nsCaretAccessible. Fires toolkit events for DOM events.
nsHTMLTableAccessible
nsHTMLTableCellAccessible
nsOuterDocAccessible
For elements that spawn a new document: <iframe>, <browser> and <editor>
nsXULMenuPopupAccessible
nsXULMenubarAccessible
nsXULMenuitemAccessible
nsXULSelectOptionAccessible
nsXULListitemAccessible
nsXULMenuSeperatorAccessible
nsXULSelectableAccessible
nsXULListboxAccessible
nsXULComboboxAccessible
nsXULTreeAccessible
Must create its own children, because the tree items don't have DOM nodes.
nsXULSelectListAccessible
nsHTMLSelectableAccessible
nsHTMLSelectListAccessible nsHTMLComboboxListAccessible
nsHTMLComboboxAccessible
nsLeafAccessible
Does not allow children.
nsHTMLSelectOptionAccessible nsHTMLSelectOptGroupAccessible
nsHTMLComboboxTextfieldAccessible
nsHTMLComboboxButtonAccessible
nsCaretAccessible
One per top-level window. Owned by nsRootAccessible. Attaches itself as an nsISelectionListener and fires toolkit events caret movements.
nsHTML4ButtonAccessible
This is for buttons created with the <button> tag, which can have arbitrary content between the start and end tag. See also nsHTMLButtonAccessible.
nsHTMLHRAccessible
nsXULToolbarSeparatorAccessible
nsXULTabAccessible
nsXULTooltipAccessible
nsXULTreeitemAccessible
nsXULTreeColumnitemAccessible
nsHTMLGroupboxAccessible
nsHTMLTableCaptionAccessible
nsHTMLWin32ObjectAccessible
nsXULGroupboxAccessible
nsXULButtonAccessible
nsXULRadioGroupAccessible
nsXULStatusBarAccessible
nsXULToolbarAccessible
nsXULTabBoxAccessible
nsXULTabPanelsAccessible
nsXULTabsAccessible
nsXULTreeColumnsAccessible