Accessibility::StateType\n
Accessibility::Event\n
Accessibility::EventDetails \n
+ Accessibility::ScrollType \n
+ Accessibility::CoordType \n
\section Registry
Accessibility also includes Accessibility::Registry,
/**
* AtspiLocaleType:
* @ATSPI_LOCALE_TYPE_MESSAGES: For localizable natural-language messages.
- * @ATSPI_LOCALE_TYPE_COLLATE: For regular expression matching and string
- * collation.
- * @ATSPI_LOCALE_TYPE_CTYPE: For regular expression matching, character
- * classification, conversion, case-sensitive comparison, and wide character
- * functions.
+ * @ATSPI_LOCALE_TYPE_COLLATE: For regular expression matching and string
+ * collation.
+ * @ATSPI_LOCALE_TYPE_CTYPE: For regular expression matching, character
+ * classification, conversion, case-sensitive comparison, and wide character
+ * functions.
* @ATSPI_LOCALE_TYPE_MONETARY: For monetary formatting.
- * @ATSPI_LOCALE_TYPE_NUMERIC: For number formatting (such as the decimal
+ * @ATSPI_LOCALE_TYPE_NUMERIC: For number formatting (such as the decimal
* point and the thousands separator).
* @ATSPI_LOCALE_TYPE_TIME: For time and date formatting.
*
/**
* AtspiCoordType:
* @ATSPI_COORD_TYPE_SCREEN: Specifies xy coordinates relative to the screen.
- * @ATSPI_COORD_TYPE_WINDOW: Specifies xy coordinates relative to the widget's
+ * @ATSPI_COORD_TYPE_WINDOW: Specifies xy coordinates relative to the widget's
* top-level window.
+ * @ATSPI_COORD_TYPE_PARENT: Specifies xy coordinates relative to the widget's
+ * immediate parent.
*
* Enumeration used by #AtspiComponent, #AtspiImage, and #AtspiText interfaces
* to specify whether coordinates are relative to the window or the screen.
typedef enum {
ATSPI_COORD_TYPE_SCREEN,
ATSPI_COORD_TYPE_WINDOW,
+ ATSPI_COORD_TYPE_PARENT,
} AtspiCoordType;
+typedef enum {
+ ATSPI_NEIGHBOR_SEARCH_FORWARD = 1,
+ ATSPI_NEIGHBOR_SEARCH_BACKWARD = 2,
+} AtspiNeighborSearchDirection;
+
/**
* ATSPI_COORD_TYPE_COUNT:
*
* One higher than the highest valid value of #AtspiCoordType.
**/
-#define ATSPI_COORD_TYPE_COUNT (1+1)
+#define ATSPI_COORD_TYPE_COUNT (2+1)
/**
* AtspiCollectionSortOrder:
- * @ATSPI_Collection_SORT_ORDER_INVALID:
- * @ATSPI_Collection_SORT_ORDER_CANONICAL:
- * @ATSPI_Collection_SORT_ORDER_FLOW:
- * @ATSPI_Collection_SORT_ORDER_TAB:
- * @ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL:
- * @ATSPI_Collection_SORT_ORDER_REVERSE_FLOW:
- * @ATSPI_Collection_SORT_ORDER_REVERSE_TAB:
- * @ATSPI_Collection_SORT_ORDER_LAST_DEFINED:
+ * @ATSPI_Collection_SORT_ORDER_INVALID: Invalid sort order
+ * @ATSPI_Collection_SORT_ORDER_CANONICAL: Canonical sort order
+ * @ATSPI_Collection_SORT_ORDER_FLOW: Flow sort order
+ * @ATSPI_Collection_SORT_ORDER_TAB: Tab sort order
+ * @ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL: Reverse canonical sort order
+ * @ATSPI_Collection_SORT_ORDER_REVERSE_FLOW: Reverse flow sort order
+ * @ATSPI_Collection_SORT_ORDER_REVERSE_TAB: Reverse tab sort order
+ * @ATSPI_Collection_SORT_ORDER_LAST_DEFINED: Used only to determine the end of the
+ * enumeration.
+
*
* Enumeration used by interface #AtspiCollection to specify
* the way #AtspiAccesible objects should be sorted.
/**
* AtspiCollectionMatchType:
- * @ATSPI_Collection_MATCH_INVALID: Indicates an error condition or
+ * @ATSPI_Collection_MATCH_INVALID: Indicates an error condition or
* uninitialized value.
* @ATSPI_Collection_MATCH_ALL: #TRUE if all of the criteria are met.
* @ATSPI_Collection_MATCH_ANY: #TRUE if any of the criteria are met.
* @ATSPI_Collection_MATCH_NONE: #TRUE if none of the criteria are met.
* @ATSPI_Collection_MATCH_EMPTY: Same as @ATSPI_Collection_MATCH_ALL if
- * the criteria is non-empty; for empty criteria this rule requires returned
- * value to also have empty set.
+ * the criteria is non-empty; for empty criteria this rule requires returned
+ * value to also have empty set.
* @ATSPI_Collection_MATCH_LAST_DEFINED: Used only to determine the end of the
* enumeration.
*
/**
* AtspiCollectionTreeTraversalType:
- * @ATSPI_Collection_TREE_RESTRICT_CHILDREN:
- * @ATSPI_Collection_TREE_RESTRICT_SIBLING:
- * @ATSPI_Collection_TREE_INORDER:
- * @ATSPI_Collection_TREE_LAST_DEFINED:
+ * @ATSPI_Collection_TREE_RESTRICT_CHILDREN: Restrict children tree traveral
+ * @ATSPI_Collection_TREE_RESTRICT_SIBLING: Restrict sibling tree traversal
+ * @ATSPI_Collection_TREE_INORDER: In-order tree traversal.
+ * @ATSPI_Collection_TREE_LAST_DEFINED: Used only to determine the end of the
+ * enumeration.
*
* Enumeration used by interface #AtspiCollection to specify
* restrictions on #AtspiAccesible objects to be traversed.
* UI #AtspiComponent containers.
* @ATSPI_LAYER_WIDGET: The layer in which the majority of ordinary
* 'foreground' widgets reside.
- * @ATSPI_LAYER_MDI: A special layer between @ATSPI_LAYER_CANVAS and
- * @ATSPI_LAYER_WIDGET, in which the 'pseudo windows' (e.g. the MDI frames)
- * reside. See #atspi_component_get_mdi_z_order.
+ * @ATSPI_LAYER_MDI: A special layer between @ATSPI_LAYER_CANVAS and
+ * @ATSPI_LAYER_WIDGET, in which the 'pseudo windows' (e.g. the MDI frames)
+ * reside. See #atspi_component_get_mdi_z_order.
* @ATSPI_LAYER_POPUP: A layer for popup window content, above
* @ATSPI_LAYER_WIDGET.
* @ATSPI_LAYER_OVERLAY: The topmost layer.
* @ATSPI_LAYER_LAST_DEFINED: Used only to determine the end of the
* enumeration.
*
- * The #AtspiComponentLayer of an #AtspiComponent instance indicates its
- * relative stacking order with respect to the onscreen visual representation
- * of the UI. #AtspiComponentLayer, in combination with #AtspiComponent bounds
- * information, can be used to compute the visibility of all or part of a
- * component. This is important in programmatic determination of
- * region-of-interest for magnification, and in
+ * The #AtspiComponentLayer of an #AtspiComponent instance indicates its
+ * relative stacking order with respect to the onscreen visual representation
+ * of the UI. #AtspiComponentLayer, in combination with #AtspiComponent bounds
+ * information, can be used to compute the visibility of all or part of a
+ * component. This is important in programmatic determination of
+ * region-of-interest for magnification, and in
* flat screen review models of the screen, as well as
- * for other uses. Objects residing in two of the #AtspiComponentLayer
- * categories support further z-ordering information, with respect to their
- * peers in the same layer: namely, @ATSPI_LAYER_WINDOW and
- * @ATSPI_LAYER_MDI. Relative stacking order for other objects within the
- * same layer is not available; the recommended heuristic is
- * first child paints first. In other words, assume that the
- * first siblings in the child list are subject to being overpainted by later
+ * for other uses. Objects residing in two of the #AtspiComponentLayer
+ * categories support further z-ordering information, with respect to their
+ * peers in the same layer: namely, @ATSPI_LAYER_WINDOW and
+ * @ATSPI_LAYER_MDI. Relative stacking order for other objects within the
+ * same layer is not available; the recommended heuristic is
+ * first child paints first. In other words, assume that the
+ * first siblings in the child list are subject to being overpainted by later
* siblings if their bounds intersect. The order of layers, from bottom to top,
* is: @ATSPI_LAYER_BACKGROUND, @ATSPI_LAYER_WINDOW, @ATSPI_LAYER_MDI,
- * @ATSPI_LAYER_CANVAS, @ATSPI_LAYER_WIDGET, @ATSPI_LAYER_POPUP, and
+ * @ATSPI_LAYER_CANVAS, @ATSPI_LAYER_WIDGET, @ATSPI_LAYER_POPUP, and
* @ATSPI_LAYER_OVERLAY.
*
*/
/**
* AtspiTextBoundaryType:
- * @ATSPI_TEXT_BOUNDARY_CHAR: An #AtspiText instance is bounded by this
- * character only. Start and end offsets differ by one, by definition,
+ * @ATSPI_TEXT_BOUNDARY_CHAR: An #AtspiText instance is bounded by this
+ * character only. Start and end offsets differ by one, by definition,
* for this value.
* @ATSPI_TEXT_BOUNDARY_WORD_START: Boundary condition is start of a word; i.e.
* range is from start of one word to the start of another word.
* @ATSPI_TEXT_BOUNDARY_WORD_END: Boundary condition is the end of a word; i.e.
* range is from the end of one word to the end of another. Some locales
* may not distinguish between words and characters or glyphs. In particular,
- * those locales which use wholly or partially ideographic character sets.
+ * those locales which use wholly or partially ideographic character sets.
* In these cases, characters may be returned in lieu of multi-character
* substrings.
* @ATSPI_TEXT_BOUNDARY_SENTENCE_START: Boundary condition is start of a
* generally means that an end-of-line character will appear at the end of
* the range.
* @ATSPI_TEXT_BOUNDARY_LINE_END: Boundary condition is the end of a line; i.e.
- * range is from start of one line to the start of another. This generally
+ * range is from start of one line to the start of another. This generally
* means that an end-of-line character will be the first character of the
* range.
*
/**
* AtspiStateType:
- * @ATSPI_STATE_INVALID: Indicates an invalid state - probably an error
+ * @ATSPI_STATE_INVALID: Indicates an invalid state - probably an error
* condition.
* @ATSPI_STATE_ACTIVE: Indicates a window is currently the active window, or
* an object is the active subelement within a container or table.
* @ATSPI_STATE_ACTIVE should not be used for objects which have
- * @ATSPI_STATE_FOCUSABLE or @ATSPI_STATE_SELECTABLE: Those objects should use
+ * #ATSPI_STATE_FOCUSABLE or #ATSPI_STATE_SELECTABLE: Those objects should use
* @ATSPI_STATE_FOCUSED and @ATSPI_STATE_SELECTED respectively.
* @ATSPI_STATE_ACTIVE is a means to indicate that an object which is not
* focusable and not selectable is the currently-active item within its
* @ATSPI_STATE_ENABLED: Indicates that this object is enabled, i.e. that it
* currently reflects some application state. Objects that are "greyed out"
* may lack this state, and may lack the @ATSPI_STATE_SENSITIVE if direct
- * user interaction cannot cause them to acquire @ATSPI_STATE_ENABLED.
+ * user interaction cannot cause them to acquire @ATSPI_STATE_ENABLED.
* See @ATSPI_STATE_SENSITIVE.
* @ATSPI_STATE_EXPANDABLE: Indicates this object allows progressive
* disclosure of its children.
* @ATSPI_STATE_EXPANDED: Indicates this object is expanded.
* @ATSPI_STATE_FOCUSABLE: Indicates this object can accept keyboard focus,
- * which means all events resulting from typing on the keyboard will
- * normally be passed to it when it has focus.
+ * which means all events resulting from typing on the keyboard will
+ * normally be passed to it when it has focus.
* @ATSPI_STATE_FOCUSED: Indicates this object currently has the keyboard
* focus.
* @ATSPI_STATE_HAS_TOOLTIP: Indicates that the object has an associated
* children that has been selected.
* @ATSPI_STATE_SENSITIVE: Indicates this object is sensitive, e.g. to user
* interaction. @ATSPI_STATE_SENSITIVE usually accompanies.
- * @ATSPI_STATE_ENABLED for user-actionable controls, but may be found in the
- * absence of @ATSPI_STATE_ENABLED if the current visible state of the control
+ * @ATSPI_STATE_ENABLED for user-actionable controls, but may be found in the
+ * absence of @ATSPI_STATE_ENABLED if the current visible state of the control
* is "disconnected" from the application state. In such cases, direct user
- * interaction can often result in the object gaining @ATSPI_STATE_SENSITIVE,
+ * interaction can often result in the object gaining @ATSPI_STATE_SENSITIVE,
* for instance if a user makes an explicit selection using an object whose
* current state is ambiguous or undefined. See @ATSPI_STATE_ENABLED,
* @ATSPI_STATE_INDETERMINATE.
* single line of text.
* @ATSPI_STATE_STALE: Indicates that the information returned for this object
* may no longer be synchronized with the application state. This can occur
- * if the object has @ATSPI_STATE_TRANSIENT, and can also occur towards the
+ * if the object has @ATSPI_STATE_TRANSIENT, and can also occur towards the
* end of the object peer's lifecycle.
* @ATSPI_STATE_TRANSIENT: Indicates this object is transient.
* @ATSPI_STATE_VERTICAL: Indicates the orientation of this object is vertical;
* for example this state may appear on such objects as scrollbars, text
* objects (with vertical text flow), separators, etc.
* @ATSPI_STATE_VISIBLE: Indicates this object is visible, e.g. has been
- * explicitly marked for exposure to the user. @ATSPI_STATE_VISIBLE is no
- * guarantee that the object is actually unobscured on the screen, only that
- * it is 'potentially' visible, barring obstruction, being scrolled or clipped
- * out of the field of view, or having an ancestor container that has not yet
- * made visible. A widget is potentially onscreen if it has both
- * @ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING. The absence of
+ * explicitly marked for exposure to the user. @ATSPI_STATE_VISIBLE is no
+ * guarantee that the object is actually unobscured on the screen, only that
+ * it is 'potentially' visible, barring obstruction, being scrolled or clipped
+ * out of the field of view, or having an ancestor container that has not yet
+ * made visible. A widget is potentially onscreen if it has both
+ * @ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING. The absence of
* @ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING is
* semantically equivalent to saying that an object is 'hidden'.
* @ATSPI_STATE_MANAGES_DESCENDANTS: Indicates that "active-descendant-changed"
* in very large containers, like tables. The presence of
* @ATSPI_STATE_MANAGES_DESCENDANTS is an indication to the client that the
* children should not, and need not, be enumerated by the client.
- * Objects implementing this state are expected to provide relevant state
- * notifications to listening clients, for instance notifications of
- * visibility changes and activation of their contained child objects, without
+ * Objects implementing this state are expected to provide relevant state
+ * notifications to listening clients, for instance notifications of
+ * visibility changes and activation of their contained child objects, without
* the client having previously requested references to those children.
* @ATSPI_STATE_INDETERMINATE: Indicates that a check box or other boolean
* indicator is in a state other than checked or not checked. This
* usually means that the boolean value reflected or controlled by the
- * object does not apply consistently to the entire current context.
+ * object does not apply consistently to the entire current context.
* For example, a checkbox for the "Bold" attribute of text may have
* @ATSPI_STATE_INDETERMINATE if the currently selected text contains a mixture
* of weight attributes. In many cases interacting with a
* representation becomes static. Some applications, notably content viewers,
* may not be able to detect all kinds of animated content. Therefore the
* absence of this state should not be taken as
- * definitive evidence that the object's visual representation is
+ * definitive evidence that the object's visual representation is
* static; this state is advisory.
* @ATSPI_STATE_INVALID_ENTRY: This object has indicated an error condition
* due to failure of input validation. For instance, a form control may
* acquire this state in response to invalid or malformed user input.
* @ATSPI_STATE_SUPPORTS_AUTOCOMPLETION: This state indicates that the object
- * in question implements some form of typeahead or
+ * in question implements some form of typeahead or
* pre-selection behavior whereby entering the first character of one or more
* sub-elements causes those elements to scroll into view or become
* selected. Subsequent character input may narrow the selection further as
* question supports text selection. It should only be exposed on objects
* which implement the #AtspiText interface, in order to distinguish this state
* from @ATSPI_STATE_SELECTABLE, which infers that the object in question is a
- * selectable child of an object which implements #AtspiSelection. While
+ * selectable child of an object which implements #AtspiSelection. While
* similar, text selection and subelement selection are distinct operations.
* @ATSPI_STATE_IS_DEFAULT: This state indicates that the object in question is
* the 'default' interaction object in a dialog, i.e. the one that gets
* @ATSPI_STATE_READ_ONLY: Indicates that an object which is ENABLED and
* SENSITIVE has a value which can be read, but not modified, by the
* user. @Since: 2.16
+ * @ATSPI_STATE_HIGHLIGHTED: Indicates that an object which is HIGHLIGHTABLE
+ * has been graphically marked to assits visally impared users. Only one
+ * object per window can have ATSPI_STATE_HIGHLIGHTED state.
+ * @ATSPI_STATE_HIGHLIGHTABLE: Indicates that an object can be graphically
+ * marked to assist visially impaired users.
+ * user. @Since: 2.16
* @ATSPI_STATE_LAST_DEFINED: This value of the enumeration should not be used
* as a parameter, it indicates the number of items in the #AtspiStateType
* enumeration.
*
- *
- * Enumeration used by various interfaces indicating every possible state
+ *
+ * Enumeration used by various interfaces indicating every possible state
* an #AtspiAccesible object can assume.
*
**/
ATSPI_STATE_CHECKABLE,
ATSPI_STATE_HAS_POPUP,
ATSPI_STATE_READ_ONLY,
+ ATSPI_STATE_HIGHLIGHTED,
+ ATSPI_STATE_HIGHLIGHTABLE,
ATSPI_STATE_LAST_DEFINED,
} AtspiStateType;
/**
* AtspiKeyEventType:
- * @ATSPI_KEY_PRESSED:
- * @ATSPI_KEY_RELEASED:
+ * @ATSPI_KEY_PRESSED: Key press event
+ * @ATSPI_KEY_RELEASED: Key release event
*
* Deprecated. Should not be used.
*
/**
* AtspiEventType:
- * @ATSPI_KEY_PRESSED_EVENT: Indicates that a key on a keyboard device was
+ * @ATSPI_KEY_PRESSED_EVENT: Indicates that a key on a keyboard device was
* pressed.
- * @ATSPI_KEY_RELEASED_EVENT: Indicates that a key on a keyboard device was
+ * @ATSPI_KEY_RELEASED_EVENT: Indicates that a key on a keyboard device was
* released.
- * @ATSPI_BUTTON_PRESSED_EVENT: Indicates that a button on a non-keyboard
+ * @ATSPI_BUTTON_PRESSED_EVENT: Indicates that a button on a non-keyboard
* human interface device (HID) was pressed.
* @ATSPI_BUTTON_RELEASED_EVENT: Indicates that a button on a non-keyboard
* human interface device (HID) was released.
*
- * Enumeration used to specify the event types of interest to an
- * #AtspiEventListener, or
- * to identify the type of an event for which notification has been sent.
+ * Enumeration used to specify the event types of interest to an
+ * #AtspiEventListener, or
+ * to identify the type of an event for which notification has been sent.
*
**/
typedef enum {
* of a hardware keyboard key.
* @ATSPI_KEY_SYM: A symbolic key event is generated, without specifying a
* hardware key. Note: if the keysym is not present in the current keyboard
- * map, the #AtspiDeviceEventController instance has a limited ability to
- * generate such keysyms on-the-fly. Reliability of GenerateKeyboardEvent
- * calls using out-of-keymap keysyms will vary from system to system, and on
+ * map, the #AtspiDeviceEventController instance has a limited ability to
+ * generate such keysyms on-the-fly. Reliability of GenerateKeyboardEvent
+ * calls using out-of-keymap keysyms will vary from system to system, and on
* the number of different out-of-keymap keysyms being generated in quick
- * succession.
- * In practice this is rarely significant, since the keysyms of interest to
- * AT clients and keyboard emulators are usually part of the current keymap,
- * i.e., present on the system keyboard for the current locale (even if a
+ * succession.
+ * In practice this is rarely significant, since the keysyms of interest to
+ * AT clients and keyboard emulators are usually part of the current keymap,
+ * i.e., present on the system keyboard for the current locale (even if a
* physical hardware keyboard is not connected).
* @ATSPI_KEY_STRING: A string is converted to its equivalent keyboard events
* and emitted. If the string consists of complex characters or composed
* subject to the out-of-keymap limitations described for
* @ATSPI_KEY_SYM. In practice this limitation primarily effects
* Chinese and Japanese locales.
+ * @ATSPI_KEY_LOCKMODIFIERS: Emulates locking a set of modifiers.
+ * @ATSPI_KEY_UNLOCKMODIFIERS: Emulates unlocking a set of modifiers.
*
* Enumeration used when synthesizing keyboard input via
* #atspi_generate_keyboard_event.
ATSPI_KEY_PRESSRELEASE,
ATSPI_KEY_SYM,
ATSPI_KEY_STRING,
+ ATSPI_KEY_LOCKMODIFIERS,
+ ATSPI_KEY_UNLOCKMODIFIERS,
} AtspiKeySynthType;
/**
* modifies the state, onscreen location, or other attributes of one or more
* target objects.
* @ATSPI_RELATION_CONTROLLED_BY: Object state, position, etc. is
- * modified/controlled by user interaction with one or more other objects.
+ * modified/controlled by user interaction with one or more other objects.
* For instance a viewport or scroll pane may be @ATSPI_RELATION_CONTROLLED_BY
* scrollbars.
* @ATSPI_RELATION_MEMBER_OF: Object has a grouping relationship (e.g. 'same
* object which is not the 'next sibling' in the accessibility hierarchy.
* @ATSPI_RELATION_FLOWS_FROM: Reciprocal of @ATSPI_RELATION_FLOWS_TO.
* @ATSPI_RELATION_SUBWINDOW_OF: Object is visually and semantically considered
- * a subwindow of another object, even though it is not the object's child.
+ * a subwindow of another object, even though it is not the object's child.
* Useful when dealing with embedded applications and other cases where the
* widget hierarchy does not map cleanly to the onscreen presentation.
- * @ATSPI_RELATION_EMBEDS: Similar to @ATSPI_RELATION_SUBWINDOW_OF, but
+ * @ATSPI_RELATION_EMBEDS: Similar to @ATSPI_RELATION_SUBWINDOW_OF, but
* specifically used for cross-process embedding.
* @ATSPI_RELATION_EMBEDDED_BY: Reciprocal of @ATSPI_RELATION_EMBEDS. Used to
* denote content rendered by embedded renderers that live in a separate process
* @ATSPI_RELATION_POPUP_FOR: Denotes that the object is a transient window or
* frame associated with another onscreen object. Similar to @ATSPI_TOOLTIP_FOR,
* but more general. Useful for windows which are technically toplevels
- * but which, for one or more reasons, do not explicitly cause their
+ * but which, for one or more reasons, do not explicitly cause their
* associated window to lose 'window focus'. Creation of an @ATSPI_ROLE_WINDOW
- * object with the @ATSPI_RELATION_POPUP_FOR relation usually requires
+ * object with the @ATSPI_RELATION_POPUP_FOR relation usually requires
* some presentation action on the part
* of assistive technology clients, even though the previous toplevel
* @ATSPI_ROLE_FRAME object may still be the active window.
* @ATSPI_RELATION_PARENT_WINDOW_OF: This is the reciprocal relation to
* @ATSPI_RELATION_POPUP_FOR.
- * @ATSPI_RELATION_DESCRIPTION_FOR: Indicates that an object provides
- * descriptive information about another object; more verbose than
- * @ATSPI_RELATION_LABEL_FOR.
- * @ATSPI_RELATION_DESCRIBED_BY: Indicates that another object provides
- * descriptive information about this object; more verbose than
- * @ATSPI_RELATION_LABELLED_BY.
+ * @ATSPI_RELATION_DESCRIBED_BY: Reciprocal of %ATSPI_RELATION_DESCRIPTION_FOR.
+ * Indicates that one or more target objects provide descriptive information
+ * about this object. This relation type is most appropriate for information
+ * that is not essential as its presentation may be user-configurable and/or
+ * limited to an on-demand mechanism such as an assistive technology command.
+ * For brief, essential information such as can be found in a widget's on-screen
+ * label, use %ATSPI_RELATION_LABELLED_BY. For an on-screen error message, use
+ * %ATSPI_RELATION_ERROR_MESSAGE. For lengthy extended descriptive information
+ * contained in an on-screen object, consider using %ATSPI_RELATION_DETAILS as
+ * assistive technologies may provide a means for the user to navigate to
+ * objects containing detailed descriptions so that their content can be more
+ * closely reviewed.
+ * @ATSPI_RELATION_DESCRIPTION_FOR: Reciprocal of %ATSPI_RELATION_DESCRIBED_BY.
+ * Indicates that this object provides descriptive information about the target
+ * object(s). See also %ATSPI_RELATION_DETAILS_FOR and %ATSPI_RELATION_ERROR_FOR.
+ * @ATSPI_RELATION_DETAILS: Reciprocal of %ATSPI_RELATION_DETAILS_FOR. Indicates
+ * that this object has a detailed or extended description, the contents of
+ * which can be found in the target object(s). This relation type is most
+ * appropriate for information that is sufficiently lengthy as to make
+ * navigation to the container of that information desirable. For less verbose
+ * information suitable for announcement only, see %ATSPI_RELATION_DESCRIBED_BY.
+ * If the detailed information describes an error condition,
+ * %ATSPI_RELATION_ERROR_FOR should be used instead. @Since: 2.26.
+ * @ATSPI_RELATION_DETAILS_FOR: Reciprocal of %ATSPI_RELATION_DETAILS. Indicates
+ * that this object provides a detailed or extended description about the target
+ * object(s). See also %ATSPI_RELATION_DESCRIPTION_FOR and
+ * %ATSPI_RELATION_ERROR_FOR. @Since: 2.26.
+ * @ATSPI_RELATION_ERROR_MESSAGE: Reciprocal of %ATSPI_RELATION_ERROR_FOR.
+ * Indicates that this object has one or more errors, the nature of which is
+ * described in the contents of the target object(s). Objects that have this
+ * relation type should also contain %ATSPI_STATE_INVALID_ENTRY in their
+ * #AtspiStateSet. @Since: 2.26.
+ * @ATSPI_RELATION_ERROR_FOR: Reciprocal of %ATSPI_RELATION_ERROR_MESSAGE.
+ * Indicates that this object contains an error message describing an invalid
+ * condition in the target object(s). @Since: 2.26.
* @ATSPI_RELATION_LAST_DEFINED: Do not use as a parameter value, used to
- * determine the size of the enumeration.
+ * determine the size of the enumeration.
*
- * #AtspiRelationType specifies a relationship between objects
+ * #AtspiRelationType specifies a relationship between objects
* (possibly one-to-many
* or many-to-one) outside of the normal parent/child hierarchical
* relationship. It allows better semantic identification of how objects
- * are associated with one another. For instance the
+ * are associated with one another. For instance the
* @ATSPI_RELATION_LABELLED_BY
* relationship may be used to identify labelling information that should
* accompany the accessible name property when presenting an object's content or
- * identity to the end user. Similarly,
+ * identity to the end user. Similarly,
* @ATSPI_RELATION_CONTROLLER_FOR can be used
* to further specify the context in which a valuator is useful, and/or the
* other UI components which are directly effected by user interactions with
* the valuator. Common examples include association of scrollbars with the
* viewport or panel which they control.
*
- *
+ *
* Enumeration used to specify
* the type of relation encapsulated in an #AtspiRelation object.
*
ATSPI_RELATION_PARENT_WINDOW_OF,
ATSPI_RELATION_DESCRIPTION_FOR,
ATSPI_RELATION_DESCRIBED_BY,
+ ATSPI_RELATION_DETAILS,
+ ATSPI_RELATION_DETAILS_FOR,
+ ATSPI_RELATION_ERROR_MESSAGE,
+ ATSPI_RELATION_ERROR_FOR,
ATSPI_RELATION_LAST_DEFINED,
} AtspiRelationType;
*
* One higher than the highest valid value of #AtspiRelationType.
**/
-#define ATSPI_RELATIONTYPE_COUNT (19+1)
+#define ATSPI_RELATIONTYPE_COUNT (23+1)
/**
* AtspiRole:
* etc.
* @ATSPI_ROLE_GLASS_PANE: A pane that is guaranteed to be painted on top of
* all panes beneath it.
- * @ATSPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children
+ * @ATSPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children
* represent the document content.
* @ATSPI_ROLE_ICON: A small fixed size picture, typically used to decorate
* components.
* @ATSPI_ROLE_SCROLL_PANE: An object that allows a user to incrementally view
* a large amount of information. @ATSPI_ROLE_SCROLL_PANE objects are usually
* accompanied by @ATSPI_ROLE_SCROLL_BAR controllers, on which the
- * @ATSPI_RELATION_CONTROLLER_FOR and @ATSPI_RELATION_CONTROLLED_BY
+ * @ATSPI_RELATION_CONTROLLER_FOR and @ATSPI_RELATION_CONTROLLED_BY
* reciprocal relations are set. See #atspi_get_relation_set.
* @ATSPI_ROLE_SEPARATOR: An object usually contained in a menu to provide a
* visible and logical separation of the contents in a menu.
* range.
* @ATSPI_ROLE_SPIN_BUTTON: An object which allows one of a set of choices to
* be selected, and which displays the current choice. Unlike
- * @ATSPI_ROLE_SCROLL_BAR, @ATSPI_ROLE_SLIDER objects need not control
+ * @ATSPI_ROLE_SCROLL_BAR, @ATSPI_ROLE_SLIDER objects need not control
* 'viewport'-like objects.
* @ATSPI_ROLE_SPLIT_PANE: A specialized panel that presents two other panels
* at the same time.
* @ATSPI_ROLE_TABLE: An object used to repesent information in terms of rows
* and columns.
* @ATSPI_ROLE_TABLE_CELL: A 'cell' or discrete child within a Table. Note:
- * Table cells need not have @ATSPI_ROLE_TABLE_CELL, other
+ * Table cells need not have @ATSPI_ROLE_TABLE_CELL, other
* #AtspiRoleType values are valid as well.
* @ATSPI_ROLE_TABLE_COLUMN_HEADER: An object which labels a particular column
* in an #AtspiTable.
* user.
* @ATSPI_ROLE_TREE_TABLE: An object that presents both tabular and
* hierarchical info to the user.
- * @ATSPI_ROLE_UNKNOWN: The object contains some #AtspiAccessible information,
+ * @ATSPI_ROLE_UNKNOWN: The object contains some #AtspiAccessible information,
* but its role is not known.
* @ATSPI_ROLE_VIEWPORT: An object usually used in a scroll pane, or to
* otherwise clip a larger object or content renderer to a specific
* @ATSPI_ROLE_FOOTER: An object that serves as a document footer.
* @ATSPI_ROLE_PARAGRAPH: An object which is contains a single paragraph of
* text content. See also @ATSPI_ROLE_TEXT.
- * @ATSPI_ROLE_RULER: An object which describes margins and tab stops, etc.
- * for text objects which it controls (should have
+ * @ATSPI_ROLE_RULER: An object which describes margins and tab stops, etc.
+ * for text objects which it controls (should have
* @ATSPI_RELATION_CONTROLLER_FOR relation to such).
* @ATSPI_ROLE_APPLICATION: An object corresponding to the toplevel accessible
- * of an application, which may contain @ATSPI_ROLE_FRAME objects or other
+ * of an application, which may contain @ATSPI_ROLE_FRAME objects or other
* accessible objects. Children of #AccessibleDesktop objects are generally
* @ATSPI_ROLE_APPLICATION objects.
* @ATSPI_ROLE_AUTOCOMPLETE: The object is a dialog or list containing items
* and for embedding of out-of-process component, "panel applets", etc.
* @ATSPI_ROLE_ENTRY: The object is a component whose textual content may be
* entered or modified by the user, provided @ATSPI_STATE_EDITABLE is present.
- * A readonly @ATSPI_ROLE_ENTRY object (i.e. where @ATSPI_STATE_EDITABLE is
- * not present) implies a read-only 'text field' in a form, as opposed to a
+ * A readonly @ATSPI_ROLE_ENTRY object (i.e. where @ATSPI_STATE_EDITABLE is
+ * not present) implies a read-only 'text field' in a form, as opposed to a
* title, label, or caption.
* @ATSPI_ROLE_CHART: The object is a graphical depiction of quantitative data.
* It may contain multiple subelements whose attributes and/or description
* may be queried to obtain both the quantitative data and information about
- * how the data is being presented. The @ATSPI_LABELLED_BY relation is
+ * how the data is being presented. The @ATSPI_LABELLED_BY relation is
* particularly important in interpreting objects of this type, as is the
* accessible description property. See @ATSPI_ROLE_CAPTION.
* @ATSPI_ROLE_CAPTION: The object contains descriptive information, usually
* contains a view of document content. #AtspiDocument frames may occur within
* another #AtspiDocument instance, in which case the second document may be
* said to be embedded in the containing instance. HTML frames are often
- * ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant,
+ * ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant,
* should implement the #AtspiDocument interface.
* @ATSPI_ROLE_HEADING: The object serves as a heading for content which
* follows it in a document. The 'heading level' of the heading, if
* this role should be ignored by clients, if they are encountered at all.
* @ATSPI_ROLE_FORM: The object is a containing instance of document content
* which has within it components with which the user can interact in order
- * to input information; i.e. the object is a container for pushbuttons,
+ * to input information; i.e. the object is a container for pushbuttons,
* comboboxes, text input fields, and other 'GUI' components. @ATSPI_ROLE_FORM
* should not, in general, be used for toplevel GUI containers or dialogs,
* but should be reserved for 'GUI' containers which occur within document
* content, for instance within Web documents, presentations, or text
- * documents. Unlike other GUI containers and dialogs which occur inside
+ * documents. Unlike other GUI containers and dialogs which occur inside
* application instances, @ATSPI_ROLE_FORM containers' components are
- * associated with the current document, rather than the current foreground
+ * associated with the current document, rather than the current foreground
* application or viewer instance.
- * @ATSPI_ROLE_LINK: The object is a hypertext anchor, i.e. a "link" in a
+ * @ATSPI_ROLE_LINK: The object is a hypertext anchor, i.e. a "link" in a
* hypertext document. Such objects are distinct from 'inline' content
* which may also use the #AtspiHypertext/#AtspiHyperlink interfacesto indicate
* the range/location within a text object where an inline or embedded object
* lies.
* @ATSPI_ROLE_INPUT_METHOD_WINDOW: The object is a window or similar viewport
- * which is used to allow composition or input of a 'complex character',
+ * which is used to allow composition or input of a 'complex character',
* in other words it is an "input method window".
* @ATSPI_ROLE_TABLE_ROW: A row in a table.
* @ATSPI_ROLE_TREE_ITEM: An object that represents an element of a tree.
* @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user
* within an existing window.
* @ATSPI_ROLE_LEVEL_BAR: A bar that serves as a level indicator to, for
- * instance, show the strength of a password or the state of a battery.
- * Since: 2.8
- *@ATSPI_ROLE_TITLE_BAR: A bar that serves as the title of a window or a
- * dialog. @Since: 2.12
- *@ATSPI_ROLE_BLOCK_QUOTE: An object which contains a text section
- * that is quoted from another source. @Since: 2.12
- *@ATSPI_ROLE_AUDIO: An object which represents an audio
- * element. @Since: 2.12
- *@ATSPI_ROLE_VIDEO: An object which represents a video
- * element. @Since: 2.12
- *@ATSPI_ROLE_DEFINITION: A definition of a term or concept. @Since: 2.12
- *@ATSPI_ROLE_ARTICLE: A section of a page that consists of a
- * composition that forms an independent part of a document, page, or
- * site. Examples: A blog entry, a news story, a forum post. @Since:
- * 2.12
- *@ATSPI_ROLE_LANDMARK: A region of a web page intended as a
- * navigational landmark. This is designed to allow Assistive
- * Technologies to provide quick navigation among key regions within a
- * document. @Since: 2.12
- *@ATSPI_ROLE_LOG: A text widget or container holding log content, such
- * as chat history and error logs. In this role there is a
- * relationship between the arrival of new items in the log and the
- * reading order. The log contains a meaningful sequence and new
- * information is added only to the end of the log, not at arbitrary
- * points. @Since: 2.12
- *@ATSPI_ROLE_MARQUEE: A container where non-essential information
- * changes frequently. Common usages of marquee include stock tickers
- * and ad banners. The primary difference between a marquee and a log
- * is that logs usually have a meaningful order or sequence of
- * important content changes. @Since: 2.12
- *@ATSPI_ROLE_MATH: A text widget or container that holds a mathematical
- * expression. @Since: 2.12
- *@ATSPI_ROLE_RATING: A widget whose purpose is to display a rating,
- * such as the number of stars associated with a song in a media
- * player. Objects of this role should also implement
- * AtspiValue. @Since: 2.12
- *@ATSPI_ROLE_TIMER: An object containing a numerical counter which
- * indicates an amount of elapsed time from a start point, or the time
- * remaining until an end point. @Since: 2.12
- *@ATSPI_ROLE_STATIC: A generic non-container object whose purpose is to display
- * a brief amount of information to the user and whose role is known by the
- * implementor but lacks semantic value for the user. Examples in which
- * @ATSPI_ROLE_STATIC is appropriate include the message displayed in a message
- * box and an image used as an alternative means to display text.
- * @ATSPI_ROLE_STATIC should not be applied to widgets which are traditionally
- * interactive, objects which display a significant amount of content, or any
- * object which has an accessible relation pointing to another object. The
- * displayed information, as a general rule, should be exposed through the
- * accessible name of the object. For labels which describe another widget, see
- * @ATSPI_ROLE_LABEL. For text views, see @ATSPI_ROLE_TEXT. For generic
- * containers, see @ATSPI_ROLE_PANEL. For objects whose role is not known by the
- * implementor, see @ATSPI_ROLE_UNKNOWN. @Since: 2.16.
- *@ATSPI_ROLE_MATH_FRACTION: An object that represents a mathematical fraction.
- * @Since: 2.16.
- *@ATSPI_ROLE_MATH_ROOT: An object that represents a mathematical expression
- * displayed with a radical. @Since: 2.16.
- *@ATSPI_ROLE_SUBSCRIPT: An object that contains text that is displayed as a
- * subscript. @Since: 2.16.
- *@ATSPI_ROLE_SUPERSCRIPT: An object that contains text that is displayed as a
- * superscript. @Since: 2.16.
- *@ATSPI_ROLE_DESCRIPTION_LIST: An object that represents a list of term-value
- * groups. A term-value group represents an individual description and consist
- * of one or more names (@ATSPI_ROLE_DESCRIPTION_TERM) followed by one or more
- * values (@ATSPI_ROLE_DESCRIPTION_VALUE). For each list, there should not be
- * more than one group with the same term name. @Since: 2.26.
- *@ATSPI_ROLE_DESCRIPTION_TERM: An object that represents the term, or name,
- * part of a term-description group in a description list. @Since: 2.26.
- *@ATSPI_ROLE_DESCRIPTION_VALUE: An object that represents the description,
- * definition, or value of a term-description group in a description list.
- * The values within a group are alternatives, meaning that you can have
- * several @ATSPI_ROLE_DESCRIPTION_VALUE objects for a given
- * @ATSPI_ROLE_DESCRIPTION_TERM. @Since: 2.26.
- *@ATSPI_ROLE_FOOTNOTE: An object that contains the text of a footnote. @Since: 2.26.
- * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of
- * enumeration.
+ * instance, show the strength of a password or the state of a battery. @Since: 2.8
+ * @ATSPI_ROLE_TITLE_BAR: A bar that serves as the title of a window or a
+ * dialog. @Since: 2.12
+ * @ATSPI_ROLE_BLOCK_QUOTE: An object which contains a text section
+ * that is quoted from another source. @Since: 2.12
+ * @ATSPI_ROLE_AUDIO: An object which represents an audio
+ * element. @Since: 2.12
+ * @ATSPI_ROLE_VIDEO: An object which represents a video
+ * element. @Since: 2.12
+ * @ATSPI_ROLE_DEFINITION: A definition of a term or concept. @Since: 2.12
+ * @ATSPI_ROLE_ARTICLE: A section of a page that consists of a
+ * composition that forms an independent part of a document, page, or
+ * site. Examples: A blog entry, a news story, a forum post. @Since:
+ * 2.12
+ * @ATSPI_ROLE_LANDMARK: A region of a web page intended as a
+ * navigational landmark. This is designed to allow Assistive
+ * Technologies to provide quick navigation among key regions within a
+ * document. @Since: 2.12
+ * @ATSPI_ROLE_LOG: A text widget or container holding log content, such
+ * as chat history and error logs. In this role there is a
+ * relationship between the arrival of new items in the log and the
+ * reading order. The log contains a meaningful sequence and new
+ * information is added only to the end of the log, not at arbitrary
+ * points. @Since: 2.12
+ * @ATSPI_ROLE_MARQUEE: A container where non-essential information
+ * changes frequently. Common usages of marquee include stock tickers
+ * and ad banners. The primary difference between a marquee and a log
+ * is that logs usually have a meaningful order or sequence of
+ * important content changes. @Since: 2.12
+ * @ATSPI_ROLE_MATH: A text widget or container that holds a mathematical
+ * expression. @Since: 2.12
+ * @ATSPI_ROLE_RATING: A widget whose purpose is to display a rating,
+ * such as the number of stars associated with a song in a media
+ * player. Objects of this role should also implement
+ * AtspiValue. @Since: 2.12
+ * @ATSPI_ROLE_TIMER: An object containing a numerical counter which
+ * indicates an amount of elapsed time from a start point, or the time
+ * remaining until an end point. @Since: 2.12
+ * @ATSPI_ROLE_STATIC: A generic non-container object whose purpose is to display
+ * a brief amount of information to the user and whose role is known by the
+ * implementor but lacks semantic value for the user. Examples in which
+ * @ATSPI_ROLE_STATIC is appropriate include the message displayed in a message
+ * box and an image used as an alternative means to display text.
+ * @ATSPI_ROLE_STATIC should not be applied to widgets which are traditionally
+ * interactive, objects which display a significant amount of content, or any
+ * object which has an accessible relation pointing to another object. The
+ * displayed information, as a general rule, should be exposed through the
+ * accessible name of the object. For labels which describe another widget, see
+ * @ATSPI_ROLE_LABEL. For text views, see @ATSPI_ROLE_TEXT. For generic
+ * containers, see @ATSPI_ROLE_PANEL. For objects whose role is not known by the
+ * implementor, see @ATSPI_ROLE_UNKNOWN. @Since: 2.16.
+ * @ATSPI_ROLE_MATH_FRACTION: An object that represents a mathematical fraction. @Since: 2.16.
+ * @ATSPI_ROLE_MATH_ROOT: An object that represents a mathematical expression
+ * displayed with a radical. @Since: 2.16.
+ * @ATSPI_ROLE_SUBSCRIPT: An object that contains text that is displayed as a
+ * subscript. @Since: 2.16.
+ * @ATSPI_ROLE_SUPERSCRIPT: An object that contains text that is displayed as a
+ * superscript. @Since: 2.16.
+ * @ATSPI_ROLE_DESCRIPTION_LIST: An object that represents a list of term-value
+ * groups. A term-value group represents an individual description and consist
+ * of one or more names (@ATSPI_ROLE_DESCRIPTION_TERM) followed by one or more
+ * values (@ATSPI_ROLE_DESCRIPTION_VALUE). For each list, there should not be
+ * more than one group with the same term name. @Since: 2.26.
+ * @ATSPI_ROLE_DESCRIPTION_TERM: An object that represents a term or phrase
+ * with a corresponding definition. @Since: 2.26.
+ * @ATSPI_ROLE_DESCRIPTION_VALUE: An object that represents the description,
+ * definition, or value of a term. @Since: 2.26.
+ * @ATSPI_ROLE_FOOTNOTE: An object that contains the text of a footnote. @Since: 2.26.
+ * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of
+ * enumeration.
*
* Enumeration used by interface #AtspiAccessible to specify the role
* of an #AtspiAccessible object.
*/
#define ATSPI_ROLE_COUNT (125+1)
+/**
+ * AtspiMoveOutedType: The type of signal that occurs when an object outted the screen.
+ * @ATSPI_MOVE_OUTED_TOP_LEFT: Object has outted top or left of the screen.
+ * @ATSPI_MOVE_OUTED_BOTTOM_RIGHT: Object has outted bottom or right of the screen.
+ **/
+
+typedef enum {
+ ATSPI_MOVE_OUTED_NULL,
+ ATSPI_MOVE_OUTED_TOP_LEFT,
+ ATSPI_MOVE_OUTED_BOTTOM_RIGHT,
+ ATSPI_MOVE_OUTED_LAST_DEFINDED
+} AtspiMoveOutedType;
+
+/**
+ * ATSPI_MOVE_OUTED_COUNT:
+ *
+ * One higher than the highest valid value of #AtspiScreenOuttedType.
+ **/
+#define ATSPI_MOVE_OUTED_COUNT (3+1)
+
typedef enum
{
ATSPI_CACHE_NONE = 0,
ATSPI_CACHE_UNDEFINED = 0x40000000,
} AtspiCache;
+/**
+ * AtspiScrollType:
+ * @ATSPI_SCROLL_TOP_LEFT: Scroll the object to the top left corner of the
+ * window.
+ * @ATSPI_SCROLL_BOTTOM_RIGHT: Scroll the object to the bottom right corner of
+ * the window.
+ * @ATSPI_SCROLL_TOP_EDGE: Scroll the object to the top edge of the window.
+ * @ATSPI_SCROLL_BOTTOM_EDGE: Scroll the object to the bottom edge of the
+ * window.
+ * @ATSPI_SCROLL_LEFT_EDGE: Scroll the object to the left edge of the
+ * window.
+ * @ATSPI_SCROLL_RIGHT_EDGE: Scroll the object to the right edge of the
+ * window.
+ * @ATSPI_SCROLL_ANYWHERE: Scroll the object to application-dependent position
+ * on the window.
+ *
+ * Enumeration used by interface #AtspiAccessible to specify where an
+ * #AtspiAccessible object should be placed on the screen when using scroll_to.
+ *
+ */
+typedef enum {
+ ATSPI_SCROLL_TOP_LEFT,
+ ATSPI_SCROLL_BOTTOM_RIGHT,
+ ATSPI_SCROLL_TOP_EDGE,
+ ATSPI_SCROLL_BOTTOM_EDGE,
+ ATSPI_SCROLL_LEFT_EDGE,
+ ATSPI_SCROLL_RIGHT_EDGE,
+ ATSPI_SCROLL_ANYWHERE
+} AtspiScrollType;
+
+/**
+ * ATSPI_SCROLLTYPE_COUNT:
+ *
+ * One higher than the highest valid value of #AtspiScrollType.
+ */
+#define ATSPI_SCROLLTYPE_COUNT (6+1)
+
#define ATSPI_DBUS_NAME_REGISTRY "org.a11y.atspi.Registry"
#define ATSPI_DBUS_PATH_REGISTRY "/org/a11y/atspi/registry"
#define ATSPI_DBUS_INTERFACE_REGISTRY "org.a11y.atspi.Registry"