Class AccessibleContext
java.lang.Object
javax.accessibility.AccessibleContext
- Direct Known Subclasses:
Component.AccessibleAWTComponent
,ImageIcon.AccessibleImageIcon
,JList.AccessibleJList.AccessibleJListChild
,JTable.AccessibleJTable.AccessibleJTableCell
,JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry
,JTree.AccessibleJTree.AccessibleJTreeNode
,MenuComponent.AccessibleAWTMenuComponent
,ProgressMonitor.AccessibleProgressMonitor
@JavaBean(description="Minimal information that all accessible objects return")
public abstract class AccessibleContext
extends Object
AccessibleContext
represents the minimum information all accessible
objects return. This information includes the accessible name, description,
role, and state of the object, as well as information about its parent and
children. AccessibleContext
also contains methods for obtaining more
specific accessibility information about a component. If the component
supports them, these methods will return an object that implements one or
more of the following interfaces:
AccessibleAction
- the object can perform one or more actions. This interface provides the standard mechanism for an assistive technology to determine what those actions are and tell the object to perform them. Any object that can be manipulated should support this interface.AccessibleComponent
- the object has a graphical representation. This interface provides the standard mechanism for an assistive technology to determine and set the graphical representation of the object. Any object that is rendered on the screen should support this interface.AccessibleSelection
- the object allows its children to be selected. This interface provides the standard mechanism for an assistive technology to determine the currently selected children of the object as well as modify its selection set. Any object that has children that can be selected should support this interface.AccessibleText
- the object presents editable textual information on the display. This interface provides the standard mechanism for an assistive technology to access that text via its content, attributes, and spatial location. Any object that contains editable text should support this interface.AccessibleValue
- the object supports a numerical value. This interface provides the standard mechanism for an assistive technology to determine and set the current value of the object, as well as obtain its minimum and maximum values. Any object that supports a numerical value should support this interface.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Constant used to indicate that the supported set of actions has changed.static final String
Constant used to determine when the active descendant of a component has changed.static final String
Constant used to determine when theaccessibleText
caret has changed.static final String
Constant used to determine whenAccessible
children are added/removed from the object.static final String
PropertyChangeEvent
which indicates that a change has occurred in a component's bounds.static final String
Constant used to determine when theaccessibleDescription
property has changed.static final String
Constant used to indicate that a hypertext element has received focus.static final String
PropertyChangeEvent
which indicates that a significant change has occurred to the children of a component like a tree or text.static final String
Constant used to determine when theaccessibleName
property has changed.static final String
Constant used to determine when theaccessibleSelection
has changed.static final String
Constant used to determine when theaccessibleStateSet
property has changed.static final String
Constant used to indicate that the table caption has changed.static final String
Constant used to indicate that the column description has changed.static final String
Constant used to indicate that the column header has changed.static final String
Constant used to indicate that table data has changed.static final String
Constant used to indicate that the row description has changed.static final String
Constant used to indicate that the row header has changed.static final String
Constant used to indicate that the table summary has changed.static final String
PropertyChangeEvent
which indicates that text attributes have changed.static final String
PropertyChangeEvent
which indicates that text has changed.static final String
Constant used to determine when theaccessibleValue
property has changed.static final String
Constant used to determine when the visual appearance of the object has changed.protected String
A localized String containing the description of the object.protected String
A localized String containing the name of the object.protected Accessible
The accessible parent of this object. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds aPropertyChangeListener
to the listener list.void
firePropertyChange
(String propertyName, Object oldValue, Object newValue) Support for reporting bound property changes.Gets theAccessibleAction
associated with this object that supports one or more actions.abstract Accessible
getAccessibleChild
(int i) Returns the specifiedAccessible
child of the object.abstract int
Returns the number of accessible children of the object.Gets theAccessibleComponent
associated with this object that has a graphical representation.Gets theaccessibleDescription
property of this object.Gets theAccessibleEditableText
associated with this object presenting editable text on the display.Gets theAccessibleIcons
associated with an object that has one or more associated icons.abstract int
Gets the 0-based index of this object in its accessible parent.Gets theaccessibleName
property of this object.Gets theAccessible
parent of this object.Gets theAccessibleRelationSet
associated with an object.abstract AccessibleRole
Gets the role of this object.Gets theAccessibleSelection
associated with this object which allows itsAccessible
children to be selected.abstract AccessibleStateSet
Gets the state set of this object.Gets theAccessibleTable
associated with an object.Gets theAccessibleText
associated with this object presenting text on the display.Gets theAccessibleValue
associated with this object that supports aNumerical
value.abstract Locale
Gets the locale of the component.void
Removes aPropertyChangeListener
from the listener list.void
Sets the accessible description of this object.void
Sets the localized accessible name of this object.void
Sets theAccessible
parent of this object.
-
Field Details
-
ACCESSIBLE_NAME_PROPERTY
Constant used to determine when theaccessibleName
property has changed. The old value in thePropertyChangeEvent
will be the oldaccessibleName
and the new value will be the newaccessibleName
.- See Also:
-
ACCESSIBLE_DESCRIPTION_PROPERTY
Constant used to determine when theaccessibleDescription
property has changed. The old value in thePropertyChangeEvent
will be the oldaccessibleDescription
and the new value will be the newaccessibleDescription
.- See Also:
-
ACCESSIBLE_STATE_PROPERTY
Constant used to determine when theaccessibleStateSet
property has changed. The old value will be the oldAccessibleState
and the new value will be the newAccessibleState
in theaccessibleStateSet
. For example, if a component that supports the vertical and horizontal states changes its orientation from vertical to horizontal, the old value will beAccessibleState.VERTICAL
and the new value will beAccessibleState.HORIZONTAL
. Please note that either value can also benull
. For example, when a component changes from being enabled to disabled, the old value will beAccessibleState.ENABLED
and the new value will benull
.- See Also:
-
ACCESSIBLE_VALUE_PROPERTY
Constant used to determine when theaccessibleValue
property has changed. The old value in thePropertyChangeEvent
will be aNumber
representing the old value and the new value will be aNumber
representing the new value.- See Also:
-
ACCESSIBLE_SELECTION_PROPERTY
Constant used to determine when theaccessibleSelection
has changed. The old and new values in thePropertyChangeEvent
are currently reserved for future use.- See Also:
-
ACCESSIBLE_CARET_PROPERTY
Constant used to determine when theaccessibleText
caret has changed. The old value in thePropertyChangeEvent
will be an integer representing the old caret position, and the new value will be an integer representing the new/current caret position.- See Also:
-
ACCESSIBLE_VISIBLE_DATA_PROPERTY
Constant used to determine when the visual appearance of the object has changed. The old and new values in thePropertyChangeEvent
are currently reserved for future use.- See Also:
-
ACCESSIBLE_CHILD_PROPERTY
Constant used to determine whenAccessible
children are added/removed from the object. If anAccessible
child is being added, the old value will benull
and the new value will be theAccessible
child. If anAccessible
child is being removed, the old value will be theAccessible
child, and the new value will benull
.- See Also:
-
ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY
Constant used to determine when the active descendant of a component has changed. The active descendant is used for objects such as list, tree, and table, which may have transient children. When the active descendant has changed, the old value of the property change event will be theAccessible
representing the previous active child, and the new value will be theAccessible
representing the current active child.- See Also:
-
ACCESSIBLE_TABLE_CAPTION_CHANGED
Constant used to indicate that the table caption has changed. The old value in thePropertyChangeEvent
will be anAccessible
representing the previous table caption and the new value will be anAccessible
representing the new table caption.- See Also:
-
ACCESSIBLE_TABLE_SUMMARY_CHANGED
Constant used to indicate that the table summary has changed. The old value in thePropertyChangeEvent
will be anAccessible
representing the previous table summary and the new value will be anAccessible
representing the new table summary.- See Also:
-
ACCESSIBLE_TABLE_MODEL_CHANGED
Constant used to indicate that table data has changed. The old value in thePropertyChangeEvent
will benull
and the new value will be anAccessibleTableModelChange
representing the table change.- See Also:
-
ACCESSIBLE_TABLE_ROW_HEADER_CHANGED
Constant used to indicate that the row header has changed. The old value in thePropertyChangeEvent
will benull
and the new value will be anAccessibleTableModelChange
representing the header change.- See Also:
-
ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED
Constant used to indicate that the row description has changed. The old value in thePropertyChangeEvent
will benull
and the new value will be anInteger
representing the row index.- See Also:
-
ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED
Constant used to indicate that the column header has changed. The old value in thePropertyChangeEvent
will benull
and the new value will be anAccessibleTableModelChange
representing the header change.- See Also:
-
ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED
Constant used to indicate that the column description has changed. The old value in thePropertyChangeEvent
will benull
and the new value will be anInteger
representing the column index.- See Also:
-
ACCESSIBLE_ACTION_PROPERTY
Constant used to indicate that the supported set of actions has changed. The old value in thePropertyChangeEvent
will be anInteger
representing the old number of actions supported and the new value will be anInteger
representing the new number of actions supported.- See Also:
-
ACCESSIBLE_HYPERTEXT_OFFSET
Constant used to indicate that a hypertext element has received focus. The old value in thePropertyChangeEvent
will be anInteger
representing the start index in the document of the previous element that had focus and the new value will be anInteger
representing the start index in the document of the current element that has focus. A value of -1 indicates that an element does not or did not have focus.- See Also:
-
ACCESSIBLE_TEXT_PROPERTY
PropertyChangeEvent
which indicates that text has changed.
For text insertion, theoldValue
isnull
and thenewValue
is anAccessibleTextSequence
specifying the text that was inserted.
For text deletion, theoldValue
is anAccessibleTextSequence
specifying the text that was deleted and thenewValue
isnull
.
For text replacement, theoldValue
is anAccessibleTextSequence
specifying the old text and thenewValue
is anAccessibleTextSequence
specifying the new text.- See Also:
-
ACCESSIBLE_INVALIDATE_CHILDREN
PropertyChangeEvent
which indicates that a significant change has occurred to the children of a component like a tree or text. This change notifies the event listener that it needs to reacquire the state of the subcomponents. TheoldValue
isnull
and thenewValue
is the component whose children have become invalid.- Since:
- 1.5
- See Also:
-
ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED
PropertyChangeEvent
which indicates that text attributes have changed.
For attribute insertion, theoldValue
isnull
and thenewValue
is anAccessibleAttributeSequence
specifying the attributes that were inserted.
For attribute deletion, theoldValue
is anAccessibleAttributeSequence
specifying the attributes that were deleted and thenewValue
isnull
.
For attribute replacement, theoldValue
is anAccessibleAttributeSequence
specifying the old attributes and thenewValue
is anAccessibleAttributeSequence
specifying the new attributes.- Since:
- 1.5
- See Also:
-
ACCESSIBLE_COMPONENT_BOUNDS_CHANGED
PropertyChangeEvent
which indicates that a change has occurred in a component's bounds. TheoldValue
is the old component bounds and thenewValue
is the new component bounds.- Since:
- 1.5
- See Also:
-
accessibleParent
-
accessibleName
-
accessibleDescription
A localized String containing the description of the object.- See Also:
-
-
Constructor Details
-
AccessibleContext
protected AccessibleContext()Constructor for subclasses to call.
-
-
Method Details
-
getAccessibleName
Gets theaccessibleName
property of this object. TheaccessibleName
property of an object is a localizedString
that designates the purpose of the object. For example, theaccessibleName
property of a label or button might be the text of the label or button itself. In the case of an object that doesn't display its name, theaccessibleName
should still be set. For example, in the case of a text field used to enter the name of a city, theaccessibleName
for theen_US
locale could be 'city.'- Returns:
- the localized name of the object;
null
if this object does not have a name - See Also:
-
setAccessibleName
@BeanProperty(preferred=true, description="Sets the accessible name for the component.") public void setAccessibleName(String s) Sets the localized accessible name of this object. Changing the name will cause aPropertyChangeEvent
to be fired for theACCESSIBLE_NAME_PROPERTY
property.- Parameters:
s
- the new localized name of the object- See Also:
-
getAccessibleDescription
Gets theaccessibleDescription
property of this object. TheaccessibleDescription
property of this object is a short localized phrase describing the purpose of the object. For example, in the case of a 'Cancel' button, theaccessibleDescription
could be 'Ignore changes and close dialog box.'- Returns:
- the localized description of the object;
null
if this object does not have a description - See Also:
-
setAccessibleDescription
@BeanProperty(preferred=true, description="Sets the accessible description for the component.") public void setAccessibleDescription(String s) Sets the accessible description of this object. Changing the name will cause aPropertyChangeEvent
to be fired for theACCESSIBLE_DESCRIPTION_PROPERTY
property.- Parameters:
s
- the new localized description of the object- See Also:
-
getAccessibleRole
Gets the role of this object. The role of the object is the generic purpose or use of the class of this object. For example, the role of a push button isAccessibleRole.PUSH_BUTTON
. The roles inAccessibleRole
are provided so component developers can pick from a set of predefined roles. This enables assistive technologies to provide a consistent interface to various tweaked subclasses of components (e.g., useAccessibleRole.PUSH_BUTTON
for all components that act like a push button) as well as distinguish between subclasses that behave differently (e.g.,AccessibleRole.CHECK_BOX
for check boxes andAccessibleRole.RADIO_BUTTON
for radio buttons).Note that the
AccessibleRole
class is also extensible, so custom component developers can define their ownAccessibleRole
's if the set of predefined roles is inadequate.- Returns:
- an instance of
AccessibleRole
describing the role of the object - See Also:
-
getAccessibleStateSet
Gets the state set of this object. TheAccessibleStateSet
of an object is composed of a set of uniqueAccessibleStates
. A change in theAccessibleStateSet
of an object will cause aPropertyChangeEvent
to be fired for theACCESSIBLE_STATE_PROPERTY
property.- Returns:
- an instance of
AccessibleStateSet
containing the current state set of the object - See Also:
-
getAccessibleParent
Gets theAccessible
parent of this object.- Returns:
- the
Accessible
parent of this object;null
if this object does not have anAccessible
parent
-
setAccessibleParent
Sets theAccessible
parent of this object. This is meant to be used only in the situations where the actual component's parent should not be treated as the component's accessible parent and is a method that should only be called by the parent of the accessible child.- Parameters:
a
-Accessible
to be set as the parent
-
getAccessibleIndexInParent
public abstract int getAccessibleIndexInParent()Gets the 0-based index of this object in its accessible parent.- Returns:
- the 0-based index of this object in its parent; -1 if this object does not have an accessible parent.
- See Also:
-
getAccessibleChildrenCount
public abstract int getAccessibleChildrenCount()Returns the number of accessible children of the object.- Returns:
- the number of accessible children of the object.
-
getAccessibleChild
Returns the specifiedAccessible
child of the object. TheAccessible
children of anAccessible
object are zero-based, so the first child of anAccessible
child is at index 0, the second child is at index 1, and so on.- Parameters:
i
- zero-based index of child- Returns:
- the
Accessible
child of the object - See Also:
-
getLocale
Gets the locale of the component. If the component does not have a locale, then the locale of its parent is returned.- Returns:
- this component's locale. If this component does not have a locale, the locale of its parent is returned.
- Throws:
IllegalComponentStateException
- If the component does not have its own locale and has not yet been added to a containment hierarchy such that the locale can be determined from the containing parent
-
addPropertyChangeListener
Adds aPropertyChangeListener
to the listener list. The listener is registered for allAccessible
properties and will be called when those properties change.- Parameters:
listener
- The PropertyChangeListener to be added- See Also:
-
removePropertyChangeListener
Removes aPropertyChangeListener
from the listener list. This removes aPropertyChangeListener
that was registered for all properties.- Parameters:
listener
- The PropertyChangeListener to be removed
-
getAccessibleAction
Gets theAccessibleAction
associated with this object that supports one or more actions.- Returns:
AccessibleAction
if supported by object; else returnnull
- See Also:
-
getAccessibleComponent
Gets theAccessibleComponent
associated with this object that has a graphical representation.- Returns:
AccessibleComponent
if supported by object; else returnnull
- See Also:
-
getAccessibleSelection
Gets theAccessibleSelection
associated with this object which allows itsAccessible
children to be selected.- Returns:
AccessibleSelection
if supported by object; else returnnull
- See Also:
-
getAccessibleText
Gets theAccessibleText
associated with this object presenting text on the display.- Returns:
AccessibleText
if supported by object; else returnnull
- See Also:
-
getAccessibleEditableText
Gets theAccessibleEditableText
associated with this object presenting editable text on the display.- Returns:
AccessibleEditableText
if supported by object; else returnnull
- Since:
- 1.4
- See Also:
-
getAccessibleValue
Gets theAccessibleValue
associated with this object that supports aNumerical
value.- Returns:
AccessibleValue
if supported by object; else returnnull
- See Also:
-
getAccessibleIcon
Gets theAccessibleIcons
associated with an object that has one or more associated icons.- Returns:
- an array of
AccessibleIcon
if supported by object; otherwise returnnull
- Since:
- 1.3
- See Also:
-
getAccessibleRelationSet
Gets theAccessibleRelationSet
associated with an object.- Returns:
- an
AccessibleRelationSet
if supported by object; otherwise returnnull
- Since:
- 1.3
- See Also:
-
getAccessibleTable
Gets theAccessibleTable
associated with an object.- Returns:
- an
AccessibleTable
if supported by object; otherwise returnnull
- Since:
- 1.3
- See Also:
-
firePropertyChange
Support for reporting bound property changes. IfoldValue
andnewValue
are not equal and thePropertyChangeEvent
listener list is not empty, then fire aPropertyChange
event to each listener. In general, this is for use by theAccessible
objects themselves and should not be called by an application program.- Parameters:
propertyName
- The programmatic name of the property that was changedoldValue
- The old value of the propertynewValue
- The new value of the property- See Also:
-