mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-28 19:37:32 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
300
accessible/interfaces/nsIAccessible.idl
Normal file
300
accessible/interfaces/nsIAccessible.idl
Normal file
|
|
@ -0,0 +1,300 @@
|
|||
/* -*- 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"
|
||||
#include "nsIArray.idl"
|
||||
|
||||
interface nsIPersistentProperties;
|
||||
interface nsIDOMCSSPrimitiveValue;
|
||||
interface nsIDOMNode;
|
||||
interface nsIAccessibleDocument;
|
||||
interface nsIAccessibleRelation;
|
||||
|
||||
%{C++
|
||||
namespace mozilla {
|
||||
namespace a11y {
|
||||
class Accessible;
|
||||
}
|
||||
}
|
||||
%}
|
||||
|
||||
/**
|
||||
* A cross-platform interface that supports platform-specific
|
||||
* accessibility APIs like MSAA and ATK. Contains the sum of what's needed
|
||||
* to support IAccessible as well as ATK's generic accessibility objects.
|
||||
* Can also be used by in-process accessibility clients to get information
|
||||
* about objects in the accessible tree. The accessible tree is a subset of
|
||||
* nodes in the DOM tree -- such as documents, focusable elements and text.
|
||||
* Mozilla creates the implementations of nsIAccessible on demand.
|
||||
* See http://www.mozilla.org/projects/ui/accessibility for more information.
|
||||
*/
|
||||
[scriptable, builtinclass, uuid(de2869d9-563c-4943-996b-31a4daa4d097)]
|
||||
interface nsIAccessible : nsISupports
|
||||
{
|
||||
/**
|
||||
* Parent node in accessible tree.
|
||||
*/
|
||||
readonly attribute nsIAccessible parent;
|
||||
|
||||
/**
|
||||
* Next sibling in accessible tree
|
||||
*/
|
||||
readonly attribute nsIAccessible nextSibling;
|
||||
|
||||
/**
|
||||
* Previous sibling in accessible tree
|
||||
*/
|
||||
readonly attribute nsIAccessible previousSibling;
|
||||
|
||||
/**
|
||||
* First child in accessible tree
|
||||
*/
|
||||
readonly attribute nsIAccessible firstChild;
|
||||
|
||||
/**
|
||||
* Last child in accessible tree
|
||||
*/
|
||||
readonly attribute nsIAccessible lastChild;
|
||||
|
||||
/**
|
||||
* Array of all this element's children.
|
||||
*/
|
||||
readonly attribute nsIArray children;
|
||||
|
||||
/**
|
||||
* Number of accessible children
|
||||
*/
|
||||
readonly attribute long childCount;
|
||||
|
||||
/**
|
||||
* The 0-based index of this accessible in its parent's list of children,
|
||||
* or -1 if this accessible does not have a parent.
|
||||
*/
|
||||
readonly attribute long indexInParent;
|
||||
|
||||
/**
|
||||
* The DOM node this nsIAccessible is associated with.
|
||||
*/
|
||||
readonly attribute nsIDOMNode DOMNode;
|
||||
|
||||
/**
|
||||
* For remote accessibles the id of the related DOM node.
|
||||
*/
|
||||
readonly attribute DOMString id;
|
||||
|
||||
/**
|
||||
* The document accessible that this access node resides in.
|
||||
*/
|
||||
readonly attribute nsIAccessibleDocument document;
|
||||
|
||||
/**
|
||||
* The root document accessible that this access node resides in.
|
||||
*/
|
||||
readonly attribute nsIAccessibleDocument rootDocument;
|
||||
|
||||
/**
|
||||
* The language for the current DOM node, e.g. en, de, etc.
|
||||
*/
|
||||
readonly attribute DOMString language;
|
||||
|
||||
/**
|
||||
* Accessible name -- the main text equivalent for this node. The name is
|
||||
* specified by ARIA or by native markup. Example of ARIA markup is
|
||||
* aria-labelledby attribute placed on element of this accessible. Example
|
||||
* of native markup is HTML label linked with HTML element of this accessible.
|
||||
*
|
||||
* Value can be string or null. A null value indicates that AT may attempt to
|
||||
* compute the name. Any string value, including the empty string, should be
|
||||
* considered author-intentional, and respected.
|
||||
*/
|
||||
readonly attribute AString name;
|
||||
|
||||
/**
|
||||
* Accessible value -- a number or a secondary text equivalent for this node
|
||||
* Widgets that use role attribute can force a value using the valuenow attribute
|
||||
*/
|
||||
readonly attribute AString value;
|
||||
|
||||
/**
|
||||
* Accessible description -- long text associated with this node
|
||||
*/
|
||||
readonly attribute AString description;
|
||||
|
||||
/**
|
||||
* Provides localized string of accesskey name, such as Alt+D.
|
||||
* The modifier may be affected by user and platform preferences.
|
||||
* Usually alt+letter, or just the letter alone for menu items.
|
||||
*/
|
||||
readonly attribute AString accessKey;
|
||||
|
||||
/**
|
||||
* Provides localized string of global keyboard accelerator for default
|
||||
* action, such as Ctrl+O for Open file
|
||||
*/
|
||||
readonly attribute AString keyboardShortcut;
|
||||
|
||||
/**
|
||||
* Enumerated accessible role (see the constants defined in nsIAccessibleRole).
|
||||
*
|
||||
* @note The values might depend on platform because of variations. Widgets
|
||||
* can use ARIA role attribute to force the final role.
|
||||
*/
|
||||
readonly attribute unsigned long role;
|
||||
|
||||
/**
|
||||
* Accessible states -- bit fields which describe boolean properties of node.
|
||||
* Many states are only valid given a certain role attribute that supports
|
||||
* them.
|
||||
*
|
||||
* @param aState - the first bit field (see nsIAccessibleStates::STATE_*
|
||||
* constants)
|
||||
* @param aExtraState - the second bit field
|
||||
* (see nsIAccessibleStates::EXT_STATE_* constants)
|
||||
*/
|
||||
void getState(out unsigned long aState, out unsigned long aExtraState);
|
||||
|
||||
/**
|
||||
* Help text associated with node
|
||||
*
|
||||
* @note As of now, this just returns empty string.
|
||||
*/
|
||||
readonly attribute AString help;
|
||||
|
||||
/**
|
||||
* Focused accessible child of node
|
||||
*/
|
||||
readonly attribute nsIAccessible focusedChild;
|
||||
|
||||
/**
|
||||
* Attributes of accessible
|
||||
*/
|
||||
readonly attribute nsIPersistentProperties attributes;
|
||||
|
||||
/**
|
||||
* Returns grouping information. Used for tree items, list items, tab panel
|
||||
* labels, radio buttons, etc. Also used for collectons of non-text objects.
|
||||
*
|
||||
* @param groupLevel - 1-based, similar to ARIA 'level' property
|
||||
* @param similarItemsInGroup - 1-based, similar to ARIA 'setsize' property,
|
||||
* inclusive of the current item
|
||||
* @param positionInGroup - 1-based, similar to ARIA 'posinset' property
|
||||
*/
|
||||
void groupPosition(out long aGroupLevel, out long aSimilarItemsInGroup,
|
||||
out long aPositionInGroup);
|
||||
|
||||
/**
|
||||
* Accessible child which contains the coordinate at (x, y) in screen pixels.
|
||||
* If the point is in the current accessible but not in a child, the
|
||||
* current accessible will be returned.
|
||||
* If the point is in neither the current accessible or a child, then
|
||||
* null will be returned.
|
||||
*
|
||||
* @param x screen's x coordinate
|
||||
* @param y screen's y coordinate
|
||||
* @return the deepest accessible child containing the given point
|
||||
*/
|
||||
nsIAccessible getChildAtPoint(in long x, in long y);
|
||||
|
||||
/**
|
||||
* Deepest accessible child which contains the coordinate at (x, y) in screen
|
||||
* pixels. If the point is in the current accessible but not in a child, the
|
||||
* current accessible will be returned. If the point is in neither the current
|
||||
* accessible or a child, then null will be returned.
|
||||
*
|
||||
* @param x screen's x coordinate
|
||||
* @param y screen's y coordinate
|
||||
* @return the deepest accessible child containing the given point
|
||||
*/
|
||||
nsIAccessible getDeepestChildAtPoint(in long x, in long y);
|
||||
|
||||
/**
|
||||
* Nth accessible child using zero-based index or last child if index less than zero
|
||||
*/
|
||||
nsIAccessible getChildAt(in long aChildIndex);
|
||||
|
||||
/**
|
||||
* Return accessible relation by the given relation type (see.
|
||||
* constants defined in nsIAccessibleRelation).
|
||||
*/
|
||||
nsIAccessibleRelation getRelationByType(in unsigned long aRelationType);
|
||||
|
||||
/**
|
||||
* Returns multiple accessible relations for this object.
|
||||
*/
|
||||
nsIArray getRelations();
|
||||
|
||||
/**
|
||||
* Return accessible's x and y coordinates relative to the screen and
|
||||
* accessible's width and height.
|
||||
*/
|
||||
void getBounds(out long x, out long y, out long width, out long height);
|
||||
|
||||
/**
|
||||
* Add or remove this accessible to the current selection
|
||||
*/
|
||||
void setSelected(in boolean isSelected);
|
||||
|
||||
/**
|
||||
* Select this accessible node only
|
||||
*/
|
||||
void takeSelection();
|
||||
|
||||
/**
|
||||
* Focus this accessible node,
|
||||
* The state STATE_FOCUSABLE indicates whether this node is normally focusable.
|
||||
* It is the callers responsibility to determine whether this node is focusable.
|
||||
* accTakeFocus on a node that is not normally focusable (such as a table),
|
||||
* will still set focus on that node, although normally that will not be visually
|
||||
* indicated in most style sheets.
|
||||
*/
|
||||
void takeFocus();
|
||||
|
||||
/**
|
||||
* The number of accessible actions associated with this accessible
|
||||
*/
|
||||
readonly attribute uint8_t actionCount;
|
||||
|
||||
/**
|
||||
* The name of the accessible action at the given zero-based index
|
||||
*/
|
||||
AString getActionName(in uint8_t index);
|
||||
|
||||
/**
|
||||
* The description of the accessible action at the given zero-based index
|
||||
*/
|
||||
AString getActionDescription(in uint8_t aIndex);
|
||||
|
||||
/**
|
||||
* Perform the accessible action at the given zero-based index
|
||||
* Action number 0 is the default action
|
||||
*/
|
||||
void doAction(in uint8_t index);
|
||||
|
||||
/**
|
||||
* Makes an object visible on screen.
|
||||
*
|
||||
* @param scrollType - defines where the object should be placed on
|
||||
* the screen (see nsIAccessibleScrollType for
|
||||
* available constants).
|
||||
*/
|
||||
void scrollTo(in unsigned long aScrollType);
|
||||
|
||||
/**
|
||||
* Moves the top left of an object to a specified location.
|
||||
*
|
||||
* @param coordinateType [in] - specifies whether the coordinates are relative to
|
||||
* the screen or the parent object (for available
|
||||
* constants refer to nsIAccessibleCoordinateType)
|
||||
* @param x [in] - defines the x coordinate
|
||||
* @param y [in] - defines the y coordinate
|
||||
*/
|
||||
void scrollToPoint(in unsigned long coordinateType, in long x, in long y);
|
||||
|
||||
%{C++
|
||||
virtual mozilla::a11y::Accessible* ToInternalAccessible() const = 0;
|
||||
%}
|
||||
|
||||
};
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue