AccessibilityNodeInfo
public class AccessibilityNodeInfo
extends Object
implements Parcelable
java.lang.Object | |
↳ | android.view.accessibility.AccessibilityNodeInfo |
This class represents a node of the window content as well as actions that can be requested from its source. From the point of view of an AccessibilityService
a window's content is presented as a tree of accessibility node infos, which may or may not map one-to-one to the view hierarchy. In other words, a custom view is free to report itself as a tree of accessibility node info.
Once an accessibility node info is delivered to an accessibility service it is made immutable and calling a state mutation method generates an error. See setQueryFromAppProcessEnabled(View, boolean)
if you would like to inspect the node tree from the app process for testing or debugging tools.
Please refer to AccessibilityService
for details about how to obtain a handle to window content as a tree of accessibility node info as well as details about the security model.
Developer Guides
For more information about making applications accessible, read the Accessibility developer guide.
Summary
Nested classes | |
---|---|
class | AccessibilityNodeInfo.AccessibilityAction A class defining an action that can be performed on an |
class | AccessibilityNodeInfo.CollectionInfo Class with information if a node is a collection. |
class | AccessibilityNodeInfo.CollectionItemInfo Class with information if a node is a collection item. |
class | AccessibilityNodeInfo.ExtraRenderingInfo Class with information of a view useful to evaluate accessibility needs. |
class | AccessibilityNodeInfo.RangeInfo Class with information if a node is a range. |
class | AccessibilityNodeInfo.Selection Represents a selection of content that may extend across more than one |
class | AccessibilityNodeInfo.SelectionPosition A class which defines either the start or end of a selection that can span across multiple AccessibilityNodeInfo objects. |
class | AccessibilityNodeInfo.TouchDelegateInfo Class with information of touch delegated views and regions from |
Constants | |
---|---|
int | ACTION_ACCESSIBILITY_FOCUS Action that gives accessibility focus to the node. |
String | ACTION_ARGUMENT_COLUMN_INT Argument for specifying the collection column to make visible on screen. |
String | ACTION_ARGUMENT_DIRECTION_INT Argument to represent the direction when using |
String | ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN Argument for whether when moving at granularity to extend the selection or to move it otherwise. |
String | ACTION_ARGUMENT_HTML_ELEMENT_STRING Argument for which HTML element to get moving to the next/previous HTML element. |
String | ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT Argument for which movement granularity to be used when traversing the node text. |
String | ACTION_ARGUMENT_MOVE_WINDOW_X Argument for specifying the x coordinate to which to move a window. |
String | ACTION_ARGUMENT_MOVE_WINDOW_Y Argument for specifying the y coordinate to which to move a window. |
String | ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT Argument to represent the duration in milliseconds to press and hold a node. |
String | ACTION_ARGUMENT_PROGRESS_VALUE Argument for specifying the progress value to set. |
String | ACTION_ARGUMENT_ROW_INT Argument for specifying the collection row to make visible on screen. |
String | ACTION_ARGUMENT_SCROLL_AMOUNT_FLOAT Argument to represent the scroll amount as a percent of the visible area of a node, with 1.0F as the default. |
String | ACTION_ARGUMENT_SELECTION_END_INT Argument for specifying the selection end. |
String | ACTION_ARGUMENT_SELECTION_PARCELABLE Argument for specifying the extended selection. |
String | ACTION_ARGUMENT_SELECTION_START_INT Argument for specifying the selection start. |
String | ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE Argument for specifying the text content to set. |
int | ACTION_CLEAR_ACCESSIBILITY_FOCUS Action that clears accessibility focus of the node. |
int | ACTION_CLEAR_FOCUS Action that clears input focus of the node. |
int | ACTION_CLEAR_SELECTION Action that deselects the node. |
int | ACTION_CLICK Action that clicks on the node info. |
int | ACTION_COLLAPSE Action to collapse an expandable node. |
int | ACTION_COPY Action to copy the current selection to the clipboard. |
int | ACTION_CUT Action to cut the current selection and place it to the clipboard. |
int | ACTION_DISMISS Action to dismiss a dismissable node. |
int | ACTION_EXPAND Action to expand an expandable node. |
int | ACTION_FOCUS Action that gives input focus to the node. |
int | ACTION_LONG_CLICK Action that long clicks on the node. |
int | ACTION_NEXT_AT_MOVEMENT_GRANULARITY Action that requests to go to the next entity in this node's text at a given movement granularity. |
int | ACTION_NEXT_HTML_ELEMENT Action to move to the next HTML element of a given type. |
int | ACTION_PASTE Action to paste the current clipboard content. |
int | ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY Action that requests to go to the previous entity in this node's text at a given movement granularity. |
int | ACTION_PREVIOUS_HTML_ELEMENT Action to move to the previous HTML element of a given type. |
int | ACTION_SCROLL_BACKWARD Action to scroll the node content backward. |
int | ACTION_SCROLL_FORWARD Action to scroll the node content forward. |
int | ACTION_SELECT Action that selects the node. |
int | ACTION_SET_SELECTION Action to set the selection. |
int | ACTION_SET_TEXT Action that sets the text of the node. |
int | CHECKED_STATE_FALSE This node is not checked. |
int | CHECKED_STATE_PARTIAL This node is partially checked. |
int | CHECKED_STATE_TRUE This node is checked. |
int | EXPANDED_STATE_COLLAPSED Expanded state for a collapsed expandable element. |
int | EXPANDED_STATE_FULL Expanded state for a expanded expandable element that cannot be expanded further. |
int | EXPANDED_STATE_PARTIAL Expanded state for an expanded expandable element that can still be expanded further. |
int | EXPANDED_STATE_UNDEFINED Expanded state for a non-expandable element |
String | EXTRA_DATA_RENDERING_INFO_KEY Key used to request extra data for the rendering information. |
String | EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH Integer argument specifying the end index of the requested text location data. |
int | EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH The maximum allowed length of the requested text location data. |
String | EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX Integer argument specifying the start index of the requested text location data. |
String | EXTRA_DATA_TEXT_CHARACTER_LOCATION_IN_WINDOW_KEY Key used to request and locate extra data for text character location in window coordinates. |
String | EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY Key used to request and locate extra data for text character location. |
int | FLAG_PREFETCH_ANCESTORS Prefetching strategy that prefetches the ancestors of the requested node. |
int | FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST Prefetching strategy that prefetches the descendants of the requested node breadth-first. |
int | FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST Prefetching strategy that prefetches the descendants of the requested node depth-first. |
int | FLAG_PREFETCH_DESCENDANTS_HYBRID Prefetching strategy that prefetches the descendants in a hybrid depth first and breadth first approach. |
int | FLAG_PREFETCH_SIBLINGS Prefetching strategy that prefetches the siblings of the requested node. |
int | FLAG_PREFETCH_UNINTERRUPTIBLE Prefetching flag that specifies prefetching should not be interrupted by a request to retrieve a node or perform an action on a node. |
int | FOCUS_ACCESSIBILITY The accessibility focus. |
int | FOCUS_INPUT The input focus. |
int | MAX_NUMBER_OF_PREFETCHED_NODES Maximum batch size of prefetched nodes for a request. |
int | MOVEMENT_GRANULARITY_CHARACTER Movement granularity bit for traversing the text of a node by character. |
int | MOVEMENT_GRANULARITY_LINE Movement granularity bit for traversing the text of a node by line. |
int | MOVEMENT_GRANULARITY_PAGE Movement granularity bit for traversing the text of a node by page. |
int | MOVEMENT_GRANULARITY_PARAGRAPH Movement granularity bit for traversing the text of a node by paragraph. |
int | MOVEMENT_GRANULARITY_WORD Movement granularity bit for traversing the text of a node by word. |
Inherited constants |
---|
Fields | |
---|---|
public static final Creator<AccessibilityNodeInfo> | CREATOR
|
Public constructors | |
---|---|
AccessibilityNodeInfo() Creates a new | |
AccessibilityNodeInfo(AccessibilityNodeInfo info) Copy constructor. | |
AccessibilityNodeInfo(View source) Creates a new | |
AccessibilityNodeInfo(View root, int virtualDescendantId) Creates a new |
Public methods | |
---|---|
void | addAction(int action) This method was deprecated in API level 21. This has been deprecated for |
void | addAction(AccessibilityNodeInfo.AccessibilityAction action) Adds an action that can be performed on the node. |
void | addChild(View root, int virtualDescendantId) Adds a virtual child which is a descendant of the given |
void | addChild(View child) Adds a child. |
void | addLabeledBy(View label) Adds the view which serves as the label of the view represented by this info for accessibility purposes. |
void | addLabeledBy(View root, int virtualDescendantId) Adds the view which serves as the label of the view represented by this info for accessibility purposes. |
boolean | canOpenPopup() Gets if this node opens a popup or a dialog. |
int | describeContents() Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
boolean | equals(Object object) Indicates whether some other object is "equal to" this one. |
List<AccessibilityNodeInfo> | findAccessibilityNodeInfosByText(String text) Finds |
List<AccessibilityNodeInfo> | findAccessibilityNodeInfosByViewId(String viewId) Finds |
AccessibilityNodeInfo | findFocus(int focus) Find the view that has the specified focus type. |
AccessibilityNodeInfo | focusSearch(int direction) Searches for the nearest view in the specified direction that can take the input focus. |
List<AccessibilityNodeInfo.AccessibilityAction> | getActionList() Gets the actions that can be performed on the node. |
int | getActions() This method was deprecated in API level 21. Use |
List<String> | getAvailableExtraData() Get the extra data available for this node. |
void | getBoundsInParent(Rect outBounds) This method was deprecated in API level 29. Use |
void | getBoundsInScreen(Rect outBounds) Gets the node bounds in screen coordinates. |
void | getBoundsInWindow(Rect outBounds) Gets the node bounds in window coordinates. |
int | getChecked() Gets the checked state of this node. |
AccessibilityNodeInfo | getChild(int index) Get the child at given index. |
AccessibilityNodeInfo | getChild(int index, int prefetchingStrategy) Get the child at given index. |
int | getChildCount() Gets the number of children. |
CharSequence | getClassName() Gets the class this node comes from. |
AccessibilityNodeInfo.CollectionInfo | getCollectionInfo() Gets the collection info if the node is a collection. |
AccessibilityNodeInfo.CollectionItemInfo | getCollectionItemInfo() Gets the collection item info if the node is a collection item. |
CharSequence | getContainerTitle() Returns the container title. |
CharSequence | getContentDescription() Gets the content description of this node. |
int | getDrawingOrder() Get the drawing order of the view corresponding it this node. |
CharSequence | getError() Gets the error text of this node. |
int | getExpandedState() Gets the expanded state for this node. |
AccessibilityNodeInfo.ExtraRenderingInfo | getExtraRenderingInfo() Gets the |
Bundle | getExtras() Gets an optional bundle with extra data. |
CharSequence | getHintText() Gets the hint text of this node. |
int | getInputType() Gets the input type of the source as defined by |
AccessibilityNodeInfo | getLabelFor() This method was deprecated in API level 36. Use |
AccessibilityNodeInfo | getLabeledBy() This method was deprecated in API level 36. Use |
List<AccessibilityNodeInfo> | getLabeledByList() Gets the list of node infos which serve as the labels of the view represented by this info for accessibility purposes. |
int | getLiveRegion() Gets the node's live region mode. |
int | getMaxTextLength() Returns the maximum text length for this node. |
Duration | getMinDurationBetweenContentChanges() Gets the minimum time duration between two content change events. |
int | getMovementGranularities() Gets the movement granularities for traversing the text of this node. |
CharSequence | getPackageName() Gets the package this node comes from. |
CharSequence | getPaneTitle() Get the title of the pane represented by this node. |
AccessibilityNodeInfo | getParent() Gets the parent. |
AccessibilityNodeInfo | getParent(int prefetchingStrategy) Gets the parent. |
AccessibilityNodeInfo.RangeInfo | getRangeInfo() Gets the range info if this node is a range. |
AccessibilityNodeInfo.Selection | getSelection() Gets the extended selection, which is a representation of selection that spans multiple nodes that exist within the subtree of the node defining selection. |
CharSequence | getStateDescription() Get the state description of this node. |
CharSequence | getSupplementalDescription() Gets the supplemental description of this node. |
CharSequence | getText() Gets the text of this node. |
int | getTextSelectionEnd() Gets the text selection end if text is selected. |
int | getTextSelectionStart() Gets the text selection start or the cursor position. |
CharSequence | getTooltipText() Gets the tooltip text of this node. |
AccessibilityNodeInfo.TouchDelegateInfo | getTouchDelegateInfo() Get the |
AccessibilityNodeInfo | getTraversalAfter() Gets the node after which this one is visited in accessibility traversal. |
AccessibilityNodeInfo | getTraversalBefore() Gets the node before which this one is visited during traversal. |
String | getUniqueId() Gets the unique id of the node. |
String | getViewIdResourceName() Gets the fully qualified resource name of the source view's id. |
AccessibilityWindowInfo | getWindow() Gets the window to which this node belongs. |
int | getWindowId() Gets the id of the window from which the info comes from. |
boolean | hasRequestInitialAccessibilityFocus() Gets whether the node has |
int | hashCode() Returns a hash code value for the object. |
boolean | isAccessibilityDataSensitive() Gets if the node's accessibility data is considered sensitive. |
boolean | isAccessibilityFocused() Gets whether this node is accessibility focused. |
boolean | isCheckable() Gets whether this node is checkable. |
boolean | isChecked() This method was deprecated in API level 36. Use |
boolean | isClickable() Gets whether this node is clickable. |
boolean | isContentInvalid() Gets if the content of this node is invalid. |
boolean | isContextClickable() Gets whether this node is context clickable. |
boolean | isDismissable() Gets if the node can be dismissed. |
boolean | isEditable() Gets if the node is editable. |
boolean | isEnabled() Gets whether this node is enabled. |
boolean | isFieldRequired() Gets whether a node representing a form field requires input or selection. |
boolean | isFocusable() Gets whether this node is focusable. |
boolean | isFocused() Gets whether this node is focused. |
boolean | isGranularScrollingSupported() Gets if the node supports granular scrolling. |
boolean | isHeading() Returns whether node represents a heading. |
boolean | isImportantForAccessibility() Returns whether the node originates from a view considered important for accessibility. |
boolean | isLongClickable() Gets whether this node is long clickable. |
boolean | isMultiLine() Gets if the node is a multi line editable text. |
boolean | isPassword() Gets whether this node is a password. |
boolean | isScreenReaderFocusable() Returns whether the node is explicitly marked as a focusable unit by a screen reader. |
boolean | isScrollable() Gets if the node is scrollable. |
boolean | isSelected() Gets whether this node is selected. |
boolean | isShowingHintText() Returns whether the node's text represents a hint for the user to enter text. |
boolean | isTextEntryKey() Returns whether node represents a text entry key that is part of a keyboard or keypad. |
boolean | isTextSelectable() Gets if the node has selectable text. |
boolean | isVisibleToUser() Gets whether this node is visible to the user. |
static AccessibilityNodeInfo | obtain(View root, int virtualDescendantId) This method was deprecated in API level 33. Object pooling has been discontinued. Create a new instance using the constructor |
static AccessibilityNodeInfo | obtain(AccessibilityNodeInfo info) This method was deprecated in API level 33. Object pooling has been discontinued. Create a new instance using the constructor |
static AccessibilityNodeInfo | obtain() This method was deprecated in API level 33. Object pooling has been discontinued. Create a new instance using the constructor |
static AccessibilityNodeInfo | obtain(View source) This method was deprecated in API level 33. Object pooling has been discontinued. Create a new instance using the constructor |
boolean | performAction(int action, Bundle arguments) Performs an action on the node. |
boolean | performAction(int action) Performs an action on the node. |
void | recycle() This method was deprecated in API level 33. Object pooling has been discontinued. Calling this function now will have no effect. |
boolean | refresh() Refreshes this info with the latest state of the view it represents. |
boolean | refreshWithExtraData(String extraDataKey, Bundle args) Refreshes this info with the latest state of the view it represents, and request new data be added by the View. |
boolean | removeAction(AccessibilityNodeInfo.AccessibilityAction action) Removes an action that can be performed on the node. |
void | removeAction(int action) This method was deprecated in API level 21. Use |
boolean | removeChild(View root, int virtualDescendantId) Removes a virtual child which is a descendant of the given |
boolean | removeChild(View child) Removes a child. |
boolean | removeLabeledBy(View root, int virtualDescendantId) Removes a label which is a virtual descendant of the given |
boolean | removeLabeledBy(View label) Removes a label. |
void | setAccessibilityDataSensitive(boolean accessibilityDataSensitive) Sets whether this node's accessibility data is considered sensitive. |
void | setAccessibilityFocused(boolean focused) Sets whether this node is accessibility focused. |
void | setAvailableExtraData(List<String> extraDataKeys) Set the extra data available for this node. |
void | setBoundsInParent(Rect bounds) This method was deprecated in API level 29. Accessibility services should not care about these bounds. |
void | setBoundsInScreen(Rect bounds) Sets the node bounds in screen coordinates. |
void | setBoundsInWindow(Rect bounds) Sets the node bounds in window coordinates. |
void | setCanOpenPopup(boolean opensPopup) Sets if this node opens a popup or a dialog. |
void | setCheckable(boolean checkable) Sets whether this node is checkable. |
void | setChecked(boolean checked) This method was deprecated in API level 36. Use |
void | setChecked(int checked) Sets the checked state of this node. |
void | setClassName(CharSequence className) Sets the class this node comes from. |
void | setClickable(boolean clickable) Sets whether this node is clickable. |
void | setCollectionInfo(AccessibilityNodeInfo.CollectionInfo collectionInfo) Sets the collection info if the node is a collection. |
void | setCollectionItemInfo(AccessibilityNodeInfo.CollectionItemInfo collectionItemInfo) Sets the collection item info if the node is a collection item. |
void | setContainerTitle(CharSequence containerTitle) Sets the container title for app-developer-defined container which can be any type of ViewGroup or layout. |
void | setContentDescription(CharSequence contentDescription) Sets the content description of this node. |
void | setContentInvalid(boolean contentInvalid) Sets if the content of this node is invalid. |
void | setContextClickable(boolean contextClickable) Sets whether this node is context clickable. |
void | setDismissable(boolean dismissable) Sets if the node can be dismissed. |
void | setDrawingOrder(int drawingOrderInParent) Set the drawing order of the view corresponding it this node. |
void | setEditable(boolean editable) Sets whether this node is editable. |
void | setEnabled(boolean enabled) Sets whether this node is enabled. |
void | setError(CharSequence error) Sets the error text of this node. |
void | setExpandedState(int state) Sets the expanded state of the node. |
void | setFieldRequired(boolean required) Sets whether |
void | setFocusable(boolean focusable) Sets whether this node is focusable. |
void | setFocused(boolean focused) Sets whether this node is focused. |
void | setGranularScrollingSupported(boolean granularScrollingSupported) Sets if the node supports granular scrolling. |
void | setHeading(boolean isHeading) Sets whether the node represents a heading. |
void | setHintText(CharSequence hintText) Sets the hint text of this node. |
void | setImportantForAccessibility(boolean important) Sets whether the node is considered important for accessibility. |
void | setInputType(int inputType) Sets the input type of the source as defined by |
void | setLabelFor(View root, int virtualDescendantId) This method was deprecated in API level 36. Use |
void | setLabelFor(View labeled) This method was deprecated in API level 36. Use |
void | setLabeledBy(View label) This method was deprecated in API level 36. Use |
void | setLabeledBy(View root, int virtualDescendantId) This method was deprecated in API level 36. Use |
void | setLiveRegion(int mode) Sets the node's live region mode. |
void | setLongClickable(boolean longClickable) Sets whether this node is long clickable. |
void | setMaxTextLength(int max) Sets the maximum text length, or -1 for no limit. |
void | setMinDurationBetweenContentChanges(Duration duration) Sets the minimum time duration between two content change events, which is used in throttling content change events in accessibility services. |
void | setMovementGranularities(int granularities) Sets the movement granularities for traversing the text of this node. |
void | setMultiLine(boolean multiLine) Sets if the node is a multi line editable text. |
void | setPackageName(CharSequence packageName) Sets the package this node comes from. |
void | setPaneTitle(CharSequence paneTitle) If this node represents a visually distinct region of the screen that may update separately from the rest of the window, it is considered a pane. |
void | setParent(View root, int virtualDescendantId) Sets the parent to be a virtual descendant of the given |
void | setParent(View parent) Sets the parent. |
void | setPassword(boolean password) Sets whether this node is a password. |
void | setQueryFromAppProcessEnabled(View view, boolean enabled) Connects this node to the View's root so that operations on this node can query the entire |
void | setRangeInfo(AccessibilityNodeInfo.RangeInfo rangeInfo) Sets the range info if this node is a range. |
void | setRequestInitialAccessibilityFocus(boolean requestInitialAccessibilityFocus) Sets whether the node has requested initial accessibility focus. |
void | setScreenReaderFocusable(boolean screenReaderFocusable) Sets whether the node should be considered a focusable unit by a screen reader. |
void | setScrollable(boolean scrollable) Sets if the node is scrollable. |
void | setSelected(boolean selected) Sets whether this node is selected. |
void | setSelection(AccessibilityNodeInfo.Selection selection) Sets the extended selection, which is a representation of selection that spans multiple nodes that exist within the subtree of the node defining selection. |
void | setShowingHintText(boolean showingHintText) Sets whether the node's text represents a hint for the user to enter text. |
void | setSource(View source) Sets the source. |
void | setSource(View root, int virtualDescendantId) Sets the source to be a virtual descendant of the given |
void | setStateDescription(CharSequence stateDescription) Sets the state description of this node. |
void | setSupplementalDescription(CharSequence supplementalDescription) Sets the supplemental description of this node. |
void | setText(CharSequence text) Sets the text of this node. |
void | setTextEntryKey(boolean isTextEntryKey) Sets whether the node represents a text entry key that is part of a keyboard or keypad. |
void | setTextSelectable(boolean selectableText) Sets if the node has selectable text. |
void | setTextSelection(int start, int end) Sets the text selection start and end. |
void | setTooltipText(CharSequence tooltipText) Sets the tooltip text of this node. |
void | setTouchDelegateInfo(AccessibilityNodeInfo.TouchDelegateInfo delegatedInfo) Set touch delegate info if the represented view has a |
void | setTraversalAfter(View view) Sets the view whose node is visited after this one in accessibility traversal. |
void | setTraversalAfter(View root, int virtualDescendantId) Sets the node after which this one is visited in accessibility traversal. |
void | setTraversalBefore(View view) Sets the view before whose node this one should be visited during traversal. |
void | setTraversalBefore(View root, int virtualDescendantId) Sets the node before which this one is visited during traversal. |
void | setUniqueId(String uniqueId) Sets the unique id to act as a key to identify the node. |
void | setViewIdResourceName(String viewIdResName) Sets the fully qualified resource name of the source view's id. |
void | setVisibleToUser(boolean visibleToUser) Sets whether this node is visible to the user. |
String | toString() Returns a string representation of the object. |
void | writeToParcel(Parcel parcel, int flags) Flatten this object in to a Parcel. Note: After the instance is written to a parcel it is recycled. |
Inherited methods | |
---|---|
Constants
ACTION_ACCESSIBILITY_FOCUS
public static final int ACTION_ACCESSIBILITY_FOCUS
Action that gives accessibility focus to the node. See AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS
Constant Value: 64 (0x00000040)
ACTION_ARGUMENT_COLUMN_INT
public static final String ACTION_ARGUMENT_COLUMN_INT
Argument for specifying the collection column to make visible on screen.
Type: int
Actions:
Constant Value: "android.view.accessibility.action.ARGUMENT_COLUMN_INT"
ACTION_ARGUMENT_DIRECTION_INT
public static final String ACTION_ARGUMENT_DIRECTION_INT
Argument to represent the direction when using AccessibilityAction.ACTION_SCROLL_IN_DIRECTION
.
The value of this argument can be one of:
View.FOCUS_DOWN
View.FOCUS_UP
View.FOCUS_LEFT
View.FOCUS_RIGHT
View.FOCUS_FORWARD
View.FOCUS_BACKWARD
Constant Value: "android.view.accessibility.action.ARGUMENT_DIRECTION_INT"
ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN
public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN
Argument for whether when moving at granularity to extend the selection or to move it otherwise.
Type: boolean
Actions:
AccessibilityAction.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
AccessibilityAction.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
See also:
Constant Value: "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN"
ACTION_ARGUMENT_HTML_ELEMENT_STRING
public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING
Argument for which HTML element to get moving to the next/previous HTML element.
Type: String
Actions:
See also:
Constant Value: "ACTION_ARGUMENT_HTML_ELEMENT_STRING"
ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT
public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT
Argument for which movement granularity to be used when traversing the node text.
Type: int
Actions:
AccessibilityAction.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
AccessibilityAction.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
See also:
Constant Value: "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"
ACTION_ARGUMENT_MOVE_WINDOW_X
public static final String ACTION_ARGUMENT_MOVE_WINDOW_X
Argument for specifying the x coordinate to which to move a window.
Type: int
Actions:
Constant Value: "ACTION_ARGUMENT_MOVE_WINDOW_X"
ACTION_ARGUMENT_MOVE_WINDOW_Y
public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y
Argument for specifying the y coordinate to which to move a window.
Type: int
Actions:
Constant Value: "ACTION_ARGUMENT_MOVE_WINDOW_Y"
ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT
public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT
Argument to represent the duration in milliseconds to press and hold a node.
Type: int
Actions:
Constant Value: "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT"
ACTION_ARGUMENT_PROGRESS_VALUE
public static final String ACTION_ARGUMENT_PROGRESS_VALUE
Argument for specifying the progress value to set.
Type: float
Actions:
Constant Value: "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE"
ACTION_ARGUMENT_ROW_INT
public static final String ACTION_ARGUMENT_ROW_INT
Argument for specifying the collection row to make visible on screen.
Type: int
Actions:
Constant Value: "android.view.accessibility.action.ARGUMENT_ROW_INT"
ACTION_ARGUMENT_SCROLL_AMOUNT_FLOAT
public static final String ACTION_ARGUMENT_SCROLL_AMOUNT_FLOAT
Argument to represent the scroll amount as a percent of the visible area of a node, with 1.0F as the default. Values smaller than 1.0F represent a partial scroll of the node, and values larger than 1.0F represent a scroll that extends beyond the currently visible node Rect. Setting this to Float.POSITIVE_INFINITY
or to another "too large" value should scroll to the end of the node. Negative values should not be used with this argument.
This argument should be used with the following scroll actions:
AccessibilityAction.ACTION_SCROLL_FORWARD
AccessibilityAction.ACTION_SCROLL_BACKWARD
AccessibilityAction.ACTION_SCROLL_UP
AccessibilityAction.ACTION_SCROLL_DOWN
AccessibilityAction.ACTION_SCROLL_LEFT
AccessibilityAction.ACTION_SCROLL_RIGHT
Example: if a view representing a list of items implements AccessibilityAction.ACTION_SCROLL_FORWARD
to scroll forward by an entire screen (one "page"), then passing a value of .25F via this argument should scroll that view only by 1/4th of a screen. Passing a value of 1.50F via this argument should scroll the view by 1 1/2 screens or to end of the node if the node doesn't extend to 1 1/2 screens.
This argument should not be used with the following scroll actions, which don't cleanly conform to granular scroll semantics:
Views that support this argument should set setGranularScrollingSupported(boolean)
to true. Clients should use isGranularScrollingSupported()
to check if granular scrolling is supported.
Constant Value: "android.view.accessibility.action.ARGUMENT_SCROLL_AMOUNT_FLOAT"
ACTION_ARGUMENT_SELECTION_END_INT
public static final String ACTION_ARGUMENT_SELECTION_END_INT
Argument for specifying the selection end.
Type: int
Actions:
Constant Value: "ACTION_ARGUMENT_SELECTION_END_INT"
ACTION_ARGUMENT_SELECTION_PARCELABLE
public static final String ACTION_ARGUMENT_SELECTION_PARCELABLE
Argument for specifying the extended selection.
Type: AccessibilityNodeInfo.Selection
Actions:
Constant Value: "android.view.accessibility.action.ARGUMENT_SELECTION_PARCELABLE"
ACTION_ARGUMENT_SELECTION_START_INT
public static final String ACTION_ARGUMENT_SELECTION_START_INT
Argument for specifying the selection start.
Type: int
Actions:
Constant Value: "ACTION_ARGUMENT_SELECTION_START_INT"
ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE
public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE
Argument for specifying the text content to set.
Type: CharSequence
Actions:
Constant Value: "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE"
ACTION_CLEAR_ACCESSIBILITY_FOCUS
public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS
Action that clears accessibility focus of the node. See AccessibilityAction.ACTION_CLEAR_ACCESSIBILITY_FOCUS
Constant Value: 128 (0x00000080)
ACTION_CLEAR_FOCUS
public static final int ACTION_CLEAR_FOCUS
Action that clears input focus of the node. See AccessibilityAction.ACTION_CLEAR_FOCUS
Constant Value: 2 (0x00000002)
ACTION_CLEAR_SELECTION
public static final int ACTION_CLEAR_SELECTION
Action that deselects the node.
Constant Value: 8 (0x00000008)
ACTION_CLICK
public static final int ACTION_CLICK
Action that clicks on the node info.
Constant Value: 16 (0x00000010)
ACTION_COLLAPSE
public static final int ACTION_COLLAPSE
Action to collapse an expandable node.
Constant Value: 524288 (0x00080000)
ACTION_COPY
public static final int ACTION_COPY
Action to copy the current selection to the clipboard.
Constant Value: 16384 (0x00004000)
ACTION_CUT
public static final int ACTION_CUT
Action to cut the current selection and place it to the clipboard.
Constant Value: 65536 (0x00010000)
ACTION_DISMISS
public static final int ACTION_DISMISS
Action to dismiss a dismissable node.
Constant Value: 1048576 (0x00100000)
ACTION_EXPAND
public static final int ACTION_EXPAND
Action to expand an expandable node.
Constant Value: 262144 (0x00040000)
ACTION_FOCUS
public static final int ACTION_FOCUS
Action that gives input focus to the node. See AccessibilityAction.ACTION_FOCUS
Constant Value: 1 (0x00000001)
ACTION_LONG_CLICK
public static final int ACTION_LONG_CLICK
Action that long clicks on the node.
It does not support coordinate information for anchoring.
Constant Value: 32 (0x00000020)
ACTION_NEXT_AT_MOVEMENT_GRANULARITY
public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY
Action that requests to go to the next entity in this node's text at a given movement granularity. For example, move to the next character, word, etc.
Arguments: Bundle arguments = new Bundle(); arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, false); info.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments); ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT
<, ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN
Example: Move to the previous character and do not extend selection.
See also:
Constant Value: 256 (0x00000100)
ACTION_NEXT_HTML_ELEMENT
public static final int ACTION_NEXT_HTML_ELEMENT
Action to move to the next HTML element of a given type. For example, move to the BUTTON, INPUT, TABLE, etc.
Arguments: Bundle arguments = new Bundle(); arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); info.performAction(AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT, arguments); ACTION_ARGUMENT_HTML_ELEMENT_STRING
Example:
Constant Value: 1024 (0x00000400)
ACTION_PASTE
public static final int ACTION_PASTE
Action to paste the current clipboard content.
Constant Value: 32768 (0x00008000)
ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
Action that requests to go to the previous entity in this node's text at a given movement granularity. For example, move to the next character, word, etc.
Arguments: Bundle arguments = new Bundle(); arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, false); info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments); ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT
<, ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN
Example: Move to the next character and do not extend selection.
See also:
Constant Value: 512 (0x00000200)
ACTION_PREVIOUS_HTML_ELEMENT
public static final int ACTION_PREVIOUS_HTML_ELEMENT
Action to move to the previous HTML element of a given type. For example, move to the BUTTON, INPUT, TABLE, etc.
Arguments: Bundle arguments = new Bundle(); arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT, arguments); ACTION_ARGUMENT_HTML_ELEMENT_STRING
Example:
Constant Value: 2048 (0x00000800)
ACTION_SCROLL_BACKWARD
public static final int ACTION_SCROLL_BACKWARD
Action to scroll the node content backward.
Constant Value: 8192 (0x00002000)
ACTION_SCROLL_FORWARD
public static final int ACTION_SCROLL_FORWARD
Action to scroll the node content forward.
Constant Value: 4096 (0x00001000)
ACTION_SELECT
public static final int ACTION_SELECT
Action that selects the node.
Constant Value: 4 (0x00000004)
ACTION_SET_SELECTION
public static final int ACTION_SET_SELECTION
Action to set the selection. Performing this action with no arguments clears the selection.
See also:
Constant Value: 131072 (0x00020000)
ACTION_SET_TEXT
public static final int ACTION_SET_TEXT
Action that sets the text of the node. Performing the action without argument, using null
or empty CharSequence
will clear the text. This action will also put the cursor at the end of text.
Constant Value: 2097152 (0x00200000)
CHECKED_STATE_FALSE
public static final int CHECKED_STATE_FALSE
This node is not checked.
Constant Value: 0 (0x00000000)
CHECKED_STATE_PARTIAL
public static final int CHECKED_STATE_PARTIAL
This node is partially checked. For example, when a checkbox owns a number of sub-options and they have different states, then the main checkbox is in a partially-checked state.
Constant Value: 2 (0x00000002)
CHECKED_STATE_TRUE
public static final int CHECKED_STATE_TRUE
This node is checked.
Constant Value: 1 (0x00000001)
EXPANDED_STATE_COLLAPSED
public static final int EXPANDED_STATE_COLLAPSED
Expanded state for a collapsed expandable element.
See also:
Constant Value: 1 (0x00000001)
EXPANDED_STATE_FULL
public static final int EXPANDED_STATE_FULL
Expanded state for a expanded expandable element that cannot be expanded further.
See also:
Constant Value: 3 (0x00000003)
EXPANDED_STATE_PARTIAL
public static final int EXPANDED_STATE_PARTIAL
Expanded state for an expanded expandable element that can still be expanded further.
See also:
Constant Value: 2 (0x00000002)
EXPANDED_STATE_UNDEFINED
public static final int EXPANDED_STATE_UNDEFINED
Expanded state for a non-expandable element
See also:
Constant Value: 0 (0x00000000)
EXTRA_DATA_RENDERING_INFO_KEY
public static final String EXTRA_DATA_RENDERING_INFO_KEY
Key used to request extra data for the rendering information. The key requests that a AccessibilityNodeInfo.ExtraRenderingInfo
be added to this info. This request is made with refreshWithExtraData(java.lang.String, android.os.Bundle)
without argument.
The data can be retrieved from the ExtraRenderingInfo
returned by getExtraRenderingInfo()
using ExtraRenderingInfo.getLayoutSize
, ExtraRenderingInfo.getTextSizeInPx()
and ExtraRenderingInfo.getTextSizeUnit()
. For layout params, it is supported by both TextView
and ViewGroup
. For text size and unit, it is only supported by TextView
.
See also:
Constant Value: "android.view.accessibility.extra.DATA_RENDERING_INFO_KEY"
EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH
public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH
Integer argument specifying the end index of the requested text location data. Must be positive and no larger than EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH
.
See also:
Constant Value: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH"
EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH
public static final int EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH
The maximum allowed length of the requested text location data.
Constant Value: 20000 (0x00004e20)
EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX
public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX
Integer argument specifying the start index of the requested text location data. Must be valid inside the CharSequence returned by getText()
.
See also:
Constant Value: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX"
EXTRA_DATA_TEXT_CHARACTER_LOCATION_IN_WINDOW_KEY
public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_IN_WINDOW_KEY
Key used to request and locate extra data for text character location in window coordinates. This key requests that an array of RectF
s be added to the extras. This request is made with refreshWithExtraData(java.lang.String, android.os.Bundle)
. The arguments taken by this request are two integers: EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX
and EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH
. The starting index must be valid inside the CharSequence returned by getText()
, and the length must be positive.
Providers may advertise that they support text characters in window coordinates using setAvailableExtraData(java.util.List)
. Services may check if an implementation supports text characters in window coordinates with getAvailableExtraData()
.
The data can be retrieved from the Bundle
returned by getExtras()
using this string as a key for Bundle.getParcelableArray(String, Class)
. The RectF
will be null
for characters that either do not exist or are outside of the window bounds.
Note that character locations in window bounds are not modified by changes in display magnification.
See also:
Constant Value: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_IN_WINDOW_KEY"
EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY
public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY
Key used to request and locate extra data for text character location. This key requests that an array of RectF
s be added to the extras. This request is made with refreshWithExtraData(java.lang.String, android.os.Bundle)
. The arguments taken by this request are two integers: EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX
and EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH
. The starting index must be valid inside the CharSequence returned by getText()
, and the length must be positive.
The data can be retrieved from the Bundle
returned by getExtras()
using this string as a key for Bundle.getParcelableArray(String, Class)
. The RectF
will be null
for characters that either do not exist or are off the screen.
Note that character locations returned are modified by changes in display magnification.
See also:
Constant Value: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_KEY"
FLAG_PREFETCH_ANCESTORS
public static final int FLAG_PREFETCH_ANCESTORS
Prefetching strategy that prefetches the ancestors of the requested node.
Ancestors will be prefetched before siblings and descendants.
See also:
Constant Value: 1 (0x00000001)
FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST
public static final int FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST
Prefetching strategy that prefetches the descendants of the requested node breadth-first.
This must not be combined with FLAG_PREFETCH_DESCENDANTS_HYBRID
or FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST
or this will trigger an IllegalArgumentException.
See FLAG_PREFETCH_ANCESTORS
for information on where these flags can be used.
Constant Value: 16 (0x00000010)
FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST
public static final int FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST
Prefetching strategy that prefetches the descendants of the requested node depth-first.
This must not be combined with FLAG_PREFETCH_DESCENDANTS_HYBRID
or FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST
or this will trigger an IllegalArgumentException.
See FLAG_PREFETCH_ANCESTORS
for information on where these flags can be used.
Constant Value: 8 (0x00000008)
FLAG_PREFETCH_DESCENDANTS_HYBRID
public static final int FLAG_PREFETCH_DESCENDANTS_HYBRID
Prefetching strategy that prefetches the descendants in a hybrid depth first and breadth first approach.
The children of the root node is prefetched before recursing on the children. This must not be combined with FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST
or FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST
or this will trigger an IllegalArgumentException.
See FLAG_PREFETCH_ANCESTORS
for information on where these flags can be used.
Constant Value: 4 (0x00000004)
FLAG_PREFETCH_SIBLINGS
public static final int FLAG_PREFETCH_SIBLINGS
Prefetching strategy that prefetches the siblings of the requested node.
To avoid disconnected trees, this flag will also prefetch the parent. Siblings will be prefetched before descendants.
See FLAG_PREFETCH_ANCESTORS
for information on where these flags can be used.
Constant Value: 2 (0x00000002)
FLAG_PREFETCH_UNINTERRUPTIBLE
public static final int FLAG_PREFETCH_UNINTERRUPTIBLE
Prefetching flag that specifies prefetching should not be interrupted by a request to retrieve a node or perform an action on a node.
See FLAG_PREFETCH_ANCESTORS
for information on where these flags can be used.
Constant Value: 32 (0x00000020)
FOCUS_ACCESSIBILITY
public static final int FOCUS_ACCESSIBILITY
The accessibility focus.
Constant Value: 2 (0x00000002)
FOCUS_INPUT
public static final int FOCUS_INPUT
The input focus.
Constant Value: 1 (0x00000001)
MAX_NUMBER_OF_PREFETCHED_NODES
public static final int MAX_NUMBER_OF_PREFETCHED_NODES
Maximum batch size of prefetched nodes for a request.
Constant Value: 50 (0x00000032)
MOVEMENT_GRANULARITY_CHARACTER
public static final int MOVEMENT_GRANULARITY_CHARACTER
Movement granularity bit for traversing the text of a node by character.
Constant Value: 1 (0x00000001)
MOVEMENT_GRANULARITY_LINE
public static final int MOVEMENT_GRANULARITY_LINE
Movement granularity bit for traversing the text of a node by line.
Constant Value: 4 (0x00000004)
MOVEMENT_GRANULARITY_PAGE
public static final int MOVEMENT_GRANULARITY_PAGE
Movement granularity bit for traversing the text of a node by page.
Constant Value: 16 (0x00000010)
MOVEMENT_GRANULARITY_PARAGRAPH
public static final int MOVEMENT_GRANULARITY_PARAGRAPH
Movement granularity bit for traversing the text of a node by paragraph.
Constant Value: 8 (0x00000008)
MOVEMENT_GRANULARITY_WORD
public static final int MOVEMENT_GRANULARITY_WORD
Movement granularity bit for traversing the text of a node by word.
Constant Value: 2 (0x00000002)
Fields
Public constructors
AccessibilityNodeInfo
public AccessibilityNodeInfo ()
Creates a new AccessibilityNodeInfo
.
AccessibilityNodeInfo
public AccessibilityNodeInfo (AccessibilityNodeInfo info)
Copy constructor. Creates a new AccessibilityNodeInfo
, and this new instance is initialized from the given info
.
Parameters | |
---|---|
info | AccessibilityNodeInfo : The other info. This value cannot be null . |
AccessibilityNodeInfo
public AccessibilityNodeInfo (View source)
Creates a new AccessibilityNodeInfo
with the given source
.
Parameters | |
---|---|
source | View : The source view. This value cannot be null . |
AccessibilityNodeInfo
public AccessibilityNodeInfo (View root, int virtualDescendantId)
Creates a new AccessibilityNodeInfo
with the given source
.
Parameters | |
---|---|
root | View : The root of the virtual subtree. This value cannot be null . |
virtualDescendantId | int : The id of the virtual descendant. |
Public methods
addAction
public void addAction (int action)
This method was deprecated in API level 21.
This has been deprecated for addAction(android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction)
Adds an action that can be performed on the node.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
action | int : The action. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
IllegalArgumentException | If the argument is not one of the standard actions. |
addAction
public void addAction (AccessibilityNodeInfo.AccessibilityAction action)
Adds an action that can be performed on the node.
To add a standard action use the static constants on AccessibilityAction
. To add a custom action create a new AccessibilityAction
by passing in a resource id from your application as the action id and an optional label that describes the action. To override one of the standard actions use as the action id of a standard action id such as ACTION_CLICK
and an optional label that describes the action.
Use ViewCompat.addAccessibilityAction(View, CharSequence, AccessibilityViewCommand)
to register an action directly on the view.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
action | AccessibilityNodeInfo.AccessibilityAction : The action. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
addChild
public void addChild (View root, int virtualDescendantId)
Adds a virtual child which is a descendant of the given root
. If virtualDescendantId
is View.NO_ID
the root is added as a child.
A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report them selves as a tree of virtual views, thus conveying their logical structure. Note that a view cannot be made its own child.
Parameters | |
---|---|
root | View : The root of the virtual subtree. |
virtualDescendantId | int : The id of the virtual child. |
addChild
public void addChild (View child)
Adds a child.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService. Note that a view cannot be made its own child.
Parameters | |
---|---|
child | View : The child. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
addLabeledBy
public void addLabeledBy (View label)
Adds the view which serves as the label of the view represented by this info for accessibility purposes. When multiple labels are added, the content from each label is combined in the order that they are added.
If visible text can be used to describe or give meaning to this UI, this method is preferred. For example, a TextView before an EditText in the UI usually specifies what information is contained in the EditText. Hence, the EditText is labeled by the TextView.
Parameters | |
---|---|
label | View : A view that labels this node's source. This value cannot be null . |
addLabeledBy
public void addLabeledBy (View root, int virtualDescendantId)
Adds the view which serves as the label of the view represented by this info for accessibility purposes. If virtualDescendantId
is View.NO_ID
the root is set as the label. When multiple labels are added, the content from each label is combined in the order that they are added.
A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report themselves as a tree of virtual views, thus conveying their logical structure.
If visible text can be used to describe or give meaning to this UI, this method is preferred. For example, a TextView before an EditText in the UI usually specifies what information is contained in the EditText. Hence, the EditText is labeled by the TextView.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
root | View : A root whose virtual descendant labels this node's source. This value cannot be null . |
virtualDescendantId | int : The id of the virtual descendant. |
canOpenPopup
public boolean canOpenPopup ()
Gets if this node opens a popup or a dialog.
Returns | |
---|---|
boolean | If the the node opens a popup. |
describeContents
public int describeContents ()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int)
, the return value of this method must include the CONTENTS_FILE_DESCRIPTOR
bit.
Returns | |
---|---|
int | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR |
equals
public boolean equals (Object object)
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation on non-null object references:
- It is reflexive: for any non-null reference value
x
,x.equals(x)
should returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters | |
---|---|
object | Object : This value may be null . |
Returns | |
---|---|
boolean | true if this object is the same as the obj argument; false otherwise. |
findAccessibilityNodeInfosByText
public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText (String text)
Finds AccessibilityNodeInfo
s by text. The match is case insensitive containment. The search is relative to this info i.e. this info is the root of the traversed tree.
Note: If this view hierarchy has a SurfaceView
embedding another view hierarchy via SurfaceView.setChildSurfacePackage
, there is a limitation that this API won't be able to find the node for the view on the embedded view hierarchy. It's because views don't know about the embedded hierarchies. Instead, you could traverse all the children to find the node.
Parameters | |
---|---|
text | String : The searched text. |
Returns | |
---|---|
List<AccessibilityNodeInfo> | A list of node info. |
findAccessibilityNodeInfosByViewId
public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId (String viewId)
Finds AccessibilityNodeInfo
s by the fully qualified view id's resource name where a fully qualified id is of the from "package:id/id_resource_name". For example, if the target application's package is "foo.bar" and the id resource name is "baz", the fully qualified resource id is "foo.bar:id/baz".
Note: The primary usage of this API is for UI test automation and in order to report the fully qualified view id if an AccessibilityNodeInfo
the client has to set the AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS
flag when configuring the AccessibilityService
.
Note: If this view hierarchy has a SurfaceView
embedding another view hierarchy via SurfaceView.setChildSurfacePackage
, there is a limitation that this API won't be able to find the node for the view on the embedded view hierarchy. It's because views don't know about the embedded hierarchies. Instead, you could traverse all the children to find the node.
Parameters | |
---|---|
viewId | String : The fully qualified resource name of the view id to find. This value cannot be null . |
Returns | |
---|---|
List<AccessibilityNodeInfo> | A list of node info. |
findFocus
public AccessibilityNodeInfo findFocus (int focus)
Find the view that has the specified focus type. The search starts from the view represented by this node info.
Note: If this view hierarchy has a SurfaceView
embedding another view hierarchy via SurfaceView.setChildSurfacePackage
, there is a limitation that this API won't be able to find the node for the view on the embedded view hierarchy. It's because views don't know about the embedded hierarchies. Instead, you could traverse all the children to find the node. Or, use AccessibilityService.findFocus(int)
for FOCUS_ACCESSIBILITY
only since it has no such limitation.
Parameters | |
---|---|
focus | int : The focus to find. One of FOCUS_INPUT or FOCUS_ACCESSIBILITY . |
Returns | |
---|---|
AccessibilityNodeInfo | The node info of the focused view or null. |
See also:
focusSearch
public AccessibilityNodeInfo focusSearch (int direction)
Searches for the nearest view in the specified direction that can take the input focus.
Note: If this view hierarchy has a SurfaceView
embedding another view hierarchy via SurfaceView.setChildSurfacePackage
, there is a limitation that this API won't be able to find the node for the view in the specified direction on the embedded view hierarchy. It's because views don't know about the embedded hierarchies. Instead, you could traverse all the children to find the node.
Parameters | |
---|---|
direction | int : The direction. Can be one of: View.FOCUS_DOWN , View.FOCUS_UP , View.FOCUS_LEFT , View.FOCUS_RIGHT , View.FOCUS_FORWARD , View.FOCUS_BACKWARD . |
Returns | |
---|---|
AccessibilityNodeInfo | The node info for the view that can take accessibility focus. |
getActionList
public List<AccessibilityNodeInfo.AccessibilityAction> getActionList ()
Gets the actions that can be performed on the node.
Returns | |
---|---|
List<AccessibilityNodeInfo.AccessibilityAction> |
getActions
public int getActions ()
This method was deprecated in API level 21.
Use getActionList()
.
Gets the actions that can be performed on the node.
Returns | |
---|---|
int | The bit mask of with actions. |
See also:
ACTION_FOCUS
ACTION_CLEAR_FOCUS
ACTION_SELECT
ACTION_CLEAR_SELECTION
ACTION_ACCESSIBILITY_FOCUS
ACTION_CLEAR_ACCESSIBILITY_FOCUS
ACTION_CLICK
ACTION_LONG_CLICK
ACTION_NEXT_AT_MOVEMENT_GRANULARITY
ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
ACTION_NEXT_HTML_ELEMENT
ACTION_PREVIOUS_HTML_ELEMENT
ACTION_SCROLL_FORWARD
ACTION_SCROLL_BACKWARD
getAvailableExtraData
public List<String> getAvailableExtraData ()
Get the extra data available for this node.
Some data that is useful for some accessibility services is expensive to compute, and would place undue overhead on apps to compute all the time. That data can be requested with refreshWithExtraData(java.lang.String, android.os.Bundle)
.
Returns | |
---|---|
List<String> | An unmodifiable list of keys corresponding to extra data that can be requested. |
getBoundsInParent
public void getBoundsInParent (Rect outBounds)
This method was deprecated in API level 29.
Use getBoundsInScreen(android.graphics.Rect)
instead.
Gets the node bounds in the viewParent's coordinates. getParent()
does not represent the source's viewParent. Instead it represents the result of View.getParentForAccessibility()
, which returns the closest ancestor where View.isImportantForAccessibility()
is true. So this method is not reliable.
When magnification is enabled, the bounds in parent are also scaled up by magnification scale. For example, it returns Rect(20, 20, 200, 200) for original bounds Rect(10, 10, 100, 100), when the magnification scale is 2.
Parameters | |
---|---|
outBounds | Rect : The output node bounds. |
getBoundsInScreen
public void getBoundsInScreen (Rect outBounds)
Gets the node bounds in screen coordinates.
When magnification is enabled, the bounds in screen are scaled up by magnification scale and the positions are also adjusted according to the offset of magnification viewport. For example, it returns Rect(-180, -180, 0, 0) for original bounds Rect(10, 10, 100, 100), when the magnification scale is 2 and offsets for X and Y are both 200.
Parameters | |
---|---|
outBounds | Rect : The output node bounds. |
getBoundsInWindow
public void getBoundsInWindow (Rect outBounds)
Gets the node bounds in window coordinates.
The node bounds returned are not scaled by magnification.
Parameters | |
---|---|
outBounds | Rect : The output node bounds. This value cannot be null . |
getChecked
public int getChecked ()
Gets the checked state of this node. This is only meaningful when isCheckable()
returns true
.
Returns | |
---|---|
int | The checked state, one of: Value is CHECKED_STATE_FALSE , CHECKED_STATE_TRUE , or CHECKED_STATE_PARTIAL |
getChild
public AccessibilityNodeInfo getChild (int index)
Get the child at given index.
Parameters | |
---|---|
index | int : The child index. |
Returns | |
---|---|
AccessibilityNodeInfo | The child node. |
Throws | |
---|---|
IllegalStateException | If called outside of an AccessibilityService and before calling setQueryFromAppProcessEnabled(View, boolean) . |
getChild
public AccessibilityNodeInfo getChild (int index, int prefetchingStrategy)
Get the child at given index.
See getParent(int)
for a description of prefetching.
Parameters | |
---|---|
index | int : The child index. |
prefetchingStrategy | int : the prefetching strategy. Value is either 0 or a combination of FLAG_PREFETCH_ANCESTORS , FLAG_PREFETCH_SIBLINGS , FLAG_PREFETCH_DESCENDANTS_HYBRID , FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST , FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST , and FLAG_PREFETCH_UNINTERRUPTIBLE |
Returns | |
---|---|
AccessibilityNodeInfo | The child node. This value may be null . |
Throws | |
---|---|
IllegalStateException | If called outside of an AccessibilityService and before calling setQueryFromAppProcessEnabled(View, boolean) . |
getChildCount
public int getChildCount ()
Gets the number of children.
Returns | |
---|---|
int | The child count. |
getClassName
public CharSequence getClassName ()
Gets the class this node comes from.
Returns | |
---|---|
CharSequence | The class name. |
getCollectionInfo
public AccessibilityNodeInfo.CollectionInfo getCollectionInfo ()
Gets the collection info if the node is a collection. A collection child is always a collection item.
Returns | |
---|---|
AccessibilityNodeInfo.CollectionInfo | The collection info. |
getCollectionItemInfo
public AccessibilityNodeInfo.CollectionItemInfo getCollectionItemInfo ()
Gets the collection item info if the node is a collection item. A collection item is always a child of a collection.
Returns | |
---|---|
AccessibilityNodeInfo.CollectionItemInfo | The collection item info. |
getContainerTitle
public CharSequence getContainerTitle ()
Returns the container title.
Returns | |
---|---|
CharSequence | This value may be null . |
See also:
getContentDescription
public CharSequence getContentDescription ()
Gets the content description of this node.
Returns | |
---|---|
CharSequence | The content description. |
getDrawingOrder
public int getDrawingOrder ()
Get the drawing order of the view corresponding it this node.
Drawing order is determined only within the node's parent, so this index is only relative to its siblings.
In some cases, the drawing order is essentially simultaneous, so it is possible for two siblings to return the same value. It is also possible that values will be skipped.
Returns | |
---|---|
int | The drawing position of the view corresponding to this node relative to its siblings. |
getError
public CharSequence getError ()
Gets the error text of this node.
Returns | |
---|---|
CharSequence | The error text. |
getExpandedState
public int getExpandedState ()
Gets the expanded state for this node.
Returns | |
---|---|
int | The expanded state, one of: Value is EXPANDED_STATE_UNDEFINED , EXPANDED_STATE_COLLAPSED , EXPANDED_STATE_PARTIAL , or EXPANDED_STATE_FULL |
getExtraRenderingInfo
public AccessibilityNodeInfo.ExtraRenderingInfo getExtraRenderingInfo ()
Gets the extra rendering info
if the node is meant to be refreshed with extra data to examine rendering related accessibility issues.
Returns | |
---|---|
AccessibilityNodeInfo.ExtraRenderingInfo | The extra rendering info . This value may be null . |
getExtras
public Bundle getExtras ()
Gets an optional bundle with extra data. The bundle is lazily created and never null
.
Note: It is recommended to use the package name of your application as a prefix for the keys to avoid collisions which may confuse an accessibility service if the same key has different meaning when emitted from different applications.
Returns | |
---|---|
Bundle | The bundle. |
getHintText
public CharSequence getHintText ()
Gets the hint text of this node. Only applies to nodes where text can be entered.
Returns | |
---|---|
CharSequence | The hint text. |
getInputType
public int getInputType ()
Gets the input type of the source as defined by InputType
.
Returns | |
---|---|
int | The input type. |
getLabelFor
public AccessibilityNodeInfo getLabelFor ()
This method was deprecated in API level 36.
Use getLabeledByList()
on the labeled node instead, since calling addLabeledBy(android.view.View)
or addLabeledBy(android.view.View, int)
on the labeled node do not automatically provide that node from this method.
Gets the node info for which the view represented by this info serves as a label for accessibility purposes.
Returns | |
---|---|
AccessibilityNodeInfo | The labeled info. |
getLabeledBy
public AccessibilityNodeInfo getLabeledBy ()
This method was deprecated in API level 36.
Use getLabeledByList()
instead.
Gets the node info which serves as the label of the view represented by this info for accessibility purposes.
Returns | |
---|---|
AccessibilityNodeInfo | The label. |
getLabeledByList
public List<AccessibilityNodeInfo> getLabeledByList ()
Gets the list of node infos which serve as the labels of the view represented by this info for accessibility purposes.
Returns | |
---|---|
List<AccessibilityNodeInfo> | The list of labels in the order that they were added. This value cannot be null . |
getLiveRegion
public int getLiveRegion ()
Gets the node's live region mode.
A live region is a node that contains information that is important for the user and when it changes the user should be notified. For example, a Snackbar that displays a confirmation notification should be marked as a live region with mode View.ACCESSIBILITY_LIVE_REGION_POLITE
.
It is the responsibility of the accessibility service to monitor AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
events indicating changes to live region nodes and their children.
Returns | |
---|---|
int | The live region mode, or View.ACCESSIBILITY_LIVE_REGION_NONE if the view is not a live region. |
See also:
getMaxTextLength
public int getMaxTextLength ()
Returns the maximum text length for this node.
Returns | |
---|---|
int | The maximum text length, or -1 for no limit. |
See also:
getMinDurationBetweenContentChanges
public Duration getMinDurationBetweenContentChanges ()
Gets the minimum time duration between two content change events.
Returns | |
---|---|
Duration | This value cannot be null . |
getMovementGranularities
public int getMovementGranularities ()
Gets the movement granularities for traversing the text of this node.
Returns | |
---|---|
int | The bit mask with granularities. |
getPackageName
public CharSequence getPackageName ()
Gets the package this node comes from.
Returns | |
---|---|
CharSequence | The package name. |
getPaneTitle
public CharSequence getPaneTitle ()
Get the title of the pane represented by this node.
Returns | |
---|---|
CharSequence | The title of the pane represented by this node, or null if this node does not represent a pane. |
getParent
public AccessibilityNodeInfo getParent ()
Gets the parent.
Returns | |
---|---|
AccessibilityNodeInfo | The parent. |
Throws | |
---|---|
IllegalStateException | If called outside of an AccessibilityService and before calling setQueryFromAppProcessEnabled(View, boolean) . |
getParent
public AccessibilityNodeInfo getParent (int prefetchingStrategy)
Gets the parent.
Use prefetchingStrategy
to determine the types of nodes prefetched from the app if the requested node is not in the cache and must be retrieved by the app. The default strategy for getParent()
is a combination of ancestor and sibling strategies. The app will prefetch until all nodes fulfilling the strategies are fetched, another node request is sent, or the maximum prefetch batch size of MAX_NUMBER_OF_PREFETCHED_NODES
nodes is reached. To prevent interruption by another request and to force prefetching of the max batch size, use AccessibilityNodeInfo.FLAG_PREFETCH_UNINTERRUPTIBLE
.
Parameters | |
---|---|
prefetchingStrategy | int : the prefetching strategy. Value is either 0 or a combination of FLAG_PREFETCH_ANCESTORS , FLAG_PREFETCH_SIBLINGS , FLAG_PREFETCH_DESCENDANTS_HYBRID , FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST , FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST , and FLAG_PREFETCH_UNINTERRUPTIBLE |
Returns | |
---|---|
AccessibilityNodeInfo | The parent. This value may be null . |
Throws | |
---|---|
IllegalStateException | If called outside of an AccessibilityService and before calling setQueryFromAppProcessEnabled(View, boolean) . |
getRangeInfo
public AccessibilityNodeInfo.RangeInfo getRangeInfo ()
Gets the range info if this node is a range.
Returns | |
---|---|
AccessibilityNodeInfo.RangeInfo | The range. |
getSelection
public AccessibilityNodeInfo.Selection getSelection ()
Gets the extended selection, which is a representation of selection that spans multiple nodes that exist within the subtree of the node defining selection.
Note: Nodes that are candidates to contain a selection should return true
from isFocusable()
and isFocused()
. The start and end SelectionPosition
s of this Selection
should exist within this
node or its descendants.
Returns | |
---|---|
AccessibilityNodeInfo.Selection | The extended selection within the node's subtree, or null if no selection exists. |
getStateDescription
public CharSequence getStateDescription ()
Get the state description of this node.
Returns | |
---|---|
CharSequence | the state description This value may be null . |
getSupplementalDescription
public CharSequence getSupplementalDescription ()
Gets the supplemental description of this node. A supplemental description provides brief supplemental information for this node, such as the purpose of the node when that purpose is not conveyed within its textual representation. For example, if a dropdown select has a purpose of setting font family, the supplemental description could be "font family". If this node has children, its supplemental description serves as additional information and is not intended to replace any existing information in the subtree. This is different from the getContentDescription()
in that this description is purely supplemental while a content description may be used to replace a description for a node or its subtree that an assistive technology would otherwise compute based on other properties of the node and its descendants.
Returns | |
---|---|
CharSequence | The supplemental description. This value may be null . |
getText
public CharSequence getText ()
Gets the text of this node.
Note: If the text contains ClickableSpan
s or URLSpan
s, these spans will have been replaced with ones whose ClickableSpan.onClick(View)
can be called from an AccessibilityService
. When called from a service, the View
argument is ignored and the corresponding span will be found on the view that this AccessibilityNodeInfo
represents and called with that view as its argument.
This treatment of ClickableSpan
s means that the text returned from this method may different slightly one passed to setText(java.lang.CharSequence)
, although they will be equivalent according to TextUtils.equals(CharSequence, CharSequence)
. The ClickableSpan.onClick(View)
of any spans, however, will generally not work outside of an accessibility service.
Returns | |
---|---|
CharSequence | The text. |
getTextSelectionEnd
public int getTextSelectionEnd ()
Gets the text selection end if text is selected.
If no text is selected, both this method and AccessibilityNodeInfo.getTextSelectionStart()
return the same value: the current location of the cursor.
Returns | |
---|---|
int | The text selection end, the cursor location if there is no selection, or -1 if there is no text selection and no cursor. |
getTextSelectionStart
public int getTextSelectionStart ()
Gets the text selection start or the cursor position.
If no text is selected, both this method and AccessibilityNodeInfo.getTextSelectionEnd()
return the same value: the current location of the cursor.
Returns | |
---|---|
int | The text selection start, the cursor location if there is no selection, or -1 if there is no text selection and no cursor. |
getTooltipText
public CharSequence getTooltipText ()
Gets the tooltip text of this node.
Returns | |
---|---|
CharSequence | The tooltip text. This value may be null . |
getTouchDelegateInfo
public AccessibilityNodeInfo.TouchDelegateInfo getTouchDelegateInfo ()
Get the TouchDelegateInfo
for touch delegate behavior with the represented view. It is possible for the same node to be pointed to by several regions. Use TouchDelegateInfo.getRegionAt(int)
to get touch delegate target Region
, and TouchDelegateInfo.getTargetForRegion(Region)
for AccessibilityNodeInfo
from the given region.
Returns | |
---|---|
AccessibilityNodeInfo.TouchDelegateInfo | TouchDelegateInfo or null if there are no touch delegates. |
getTraversalAfter
public AccessibilityNodeInfo getTraversalAfter ()
Gets the node after which this one is visited in accessibility traversal. A screen-reader must visit the content of the other node before the content of this one.
Returns | |
---|---|
AccessibilityNodeInfo | The succeeding node if such or null . |
getTraversalBefore
public AccessibilityNodeInfo getTraversalBefore ()
Gets the node before which this one is visited during traversal. A screen-reader must visit the content of this node before the content of the one it precedes.
Returns | |
---|---|
AccessibilityNodeInfo | The succeeding node if such or null . |
getUniqueId
public String getUniqueId ()
Gets the unique id of the node.
Returns | |
---|---|
String | The unique id This value may be null . |
getViewIdResourceName
public String getViewIdResourceName ()
Gets the fully qualified resource name of the source view's id.
Note: The primary usage of this API is for UI test automation and in order to report the source view id of an AccessibilityNodeInfo
the client has to set the AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS
flag when configuring the AccessibilityService
.
Returns | |
---|---|
String | The id resource name. |
getWindow
public AccessibilityWindowInfo getWindow ()
Gets the window to which this node belongs.
Returns | |
---|---|
AccessibilityWindowInfo | The window. |
See also:
getWindowId
public int getWindowId ()
Gets the id of the window from which the info comes from.
Returns | |
---|---|
int | The window id. |
hasRequestInitialAccessibilityFocus
public boolean hasRequestInitialAccessibilityFocus ()
Gets whether the node has setRequestInitialAccessibilityFocus(boolean)
.
Returns | |
---|---|
boolean | True if the node has requested initial accessibility focus. |
hashCode
public int hashCode ()
Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap
.
The general contract of hashCode
is:
- Whenever it is invoked on the same object more than once during an execution of a Java application, the
hashCode
method must consistently return the same integer, provided no information used inequals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. - If two objects are equal according to the
equals
method, then calling thehashCode
method on each of the two objects must produce the same integer result. - It is not required that if two objects are unequal according to the
equals
method, then calling thehashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns | |
---|---|
int | a hash code value for this object. |
isAccessibilityDataSensitive
public boolean isAccessibilityDataSensitive ()
Gets if the node's accessibility data is considered sensitive.
Returns | |
---|---|
boolean | True if the node's data is considered sensitive, false otherwise. |
See also:
isAccessibilityFocused
public boolean isAccessibilityFocused ()
Gets whether this node is accessibility focused.
This is distinct from isFocused()
, which is used to track system focus. See ACTION_ACCESSIBILITY_FOCUS
for details.
Returns | |
---|---|
boolean | True if the node is accessibility focused. |
isCheckable
public boolean isCheckable ()
Gets whether this node is checkable.
Returns | |
---|---|
boolean | True if the node is checkable. |
isChecked
public boolean isChecked ()
This method was deprecated in API level 36.
Use getChecked()
instead.
Gets whether this node is checked. This is only meaningful when isCheckable()
returns true
.
Returns | |
---|---|
boolean | True if the node is checked. |
isClickable
public boolean isClickable ()
Gets whether this node is clickable.
Returns | |
---|---|
boolean | True if the node is clickable. |
isContentInvalid
public boolean isContentInvalid ()
Gets if the content of this node is invalid. For example, a date is not well-formed.
Returns | |
---|---|
boolean | If the node content is invalid. |
isContextClickable
public boolean isContextClickable ()
Gets whether this node is context clickable.
Returns | |
---|---|
boolean | True if the node is context clickable. |
isDismissable
public boolean isDismissable ()
Gets if the node can be dismissed.
Returns | |
---|---|
boolean | If the node can be dismissed. |
isEditable
public boolean isEditable ()
Gets if the node is editable.
Returns | |
---|---|
boolean | True if the node is editable, false otherwise. |
isEnabled
public boolean isEnabled ()
Gets whether this node is enabled.
Returns | |
---|---|
boolean | True if the node is enabled. |
isFieldRequired
public boolean isFieldRequired ()
Gets whether a node representing a form field requires input or selection.
Returns | |
---|---|
boolean | true if this node represents a form field that requires input or selection, false otherwise. |
isFocusable
public boolean isFocusable ()
Gets whether this node is focusable.
In the View system, this typically maps to View.isFocusable()
.
Returns | |
---|---|
boolean | True if the node is focusable. |
isFocused
public boolean isFocused ()
Gets whether this node is focused.
This is distinct from isAccessibilityFocused()
, which is used by screen readers. See AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS
for details.
Returns | |
---|---|
boolean | True if the node is focused. |
isGranularScrollingSupported
public boolean isGranularScrollingSupported ()
Gets if the node supports granular scrolling.
Returns | |
---|---|
boolean | True if all scroll actions that could support ACTION_ARGUMENT_SCROLL_AMOUNT_FLOAT have done so, false otherwise. |
isHeading
public boolean isHeading ()
Returns whether node represents a heading.
Note: Returns true
if either setHeading(boolean)
marks this node as a heading or if the node has a CollectionItemInfo
that marks it as such, to accomodate apps that use the now-deprecated API.
Returns | |
---|---|
boolean | true if the node is a heading, false otherwise. |
isImportantForAccessibility
public boolean isImportantForAccessibility ()
Returns whether the node originates from a view considered important for accessibility.
Returns | |
---|---|
boolean | true if the node originates from a view considered important for accessibility, false otherwise |
See also:
isLongClickable
public boolean isLongClickable ()
Gets whether this node is long clickable.
Returns | |
---|---|
boolean | True if the node is long clickable. |
isMultiLine
public boolean isMultiLine ()
Gets if the node is a multi line editable text.
Returns | |
---|---|
boolean | True if the node is multi line. |
isPassword
public boolean isPassword ()
Gets whether this node is a password.
Returns | |
---|---|
boolean | True if the node is a password. |
isScreenReaderFocusable
public boolean isScreenReaderFocusable ()
Returns whether the node is explicitly marked as a focusable unit by a screen reader. Note that false
indicates that it is not explicitly marked, not that the node is not a focusable unit. Screen readers should generally use other signals, such as isFocusable()
, or the presence of text in a node, to determine what should receive focus.
Returns | |
---|---|
boolean | true if the node is specifically marked as a focusable unit for screen readers, false otherwise. |
See also:
isScrollable
public boolean isScrollable ()
Gets if the node is scrollable.
Returns | |
---|---|
boolean | True if the node is scrollable, false otherwise. |
isSelected
public boolean isSelected ()
Gets whether this node is selected.
Returns | |
---|---|
boolean | True if the node is selected. |
isShowingHintText
public boolean isShowingHintText ()
Returns whether the node's text represents a hint for the user to enter text. It should only be true
if the node has editable text.
Returns | |
---|---|
boolean | true if the text in the node represents a hint to the user, false otherwise. |
isTextEntryKey
public boolean isTextEntryKey ()
Returns whether node represents a text entry key that is part of a keyboard or keypad.
Returns | |
---|---|
boolean | true if the node is a text entry key., false otherwise. |
isTextSelectable
public boolean isTextSelectable ()
Gets if the node has selectable text.
Services should use ACTION_SET_SELECTION
for selection. Editable text nodes must also be selectable. But not all UIs will populate this field, so services should consider 'isTextSelectable | isEditable' to ensure they don't miss nodes with selectable text.
Returns | |
---|---|
boolean | True if the node has selectable text. |
See also:
isVisibleToUser
public boolean isVisibleToUser ()
Gets whether this node is visible to the user.
Between API 16
and API 29
, this method may incorrectly return false when magnification is enabled. On other versions, a node is considered visible even if it is not on the screen because magnification is active.
Returns | |
---|---|
boolean | Whether the node is visible to the user. |
obtain
public static AccessibilityNodeInfo obtain (View root, int virtualDescendantId)
This method was deprecated in API level 33.
Object pooling has been discontinued. Create a new instance using the constructor AccessibilityNodeInfo(android.view.View, int)
instead.
Returns a cached instance if such is available otherwise a new one and sets the source.
Parameters | |
---|---|
root | View : The root of the virtual subtree. |
virtualDescendantId | int : The id of the virtual descendant. |
Returns | |
---|---|
AccessibilityNodeInfo | An instance. |
See also:
obtain
public static AccessibilityNodeInfo obtain (AccessibilityNodeInfo info)
This method was deprecated in API level 33.
Object pooling has been discontinued. Create a new instance using the constructor AccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo)
instead.
Instantiates a new AccessibilityNodeInfo initialized from the given info
.
Parameters | |
---|---|
info | AccessibilityNodeInfo : The other info. |
Returns | |
---|---|
AccessibilityNodeInfo | An instance. |
obtain
public static AccessibilityNodeInfo obtain ()
This method was deprecated in API level 33.
Object pooling has been discontinued. Create a new instance using the constructor AccessibilityNodeInfo()
instead.
Instantiates a new AccessibilityNodeInfo.
Returns | |
---|---|
AccessibilityNodeInfo | An instance. |
obtain
public static AccessibilityNodeInfo obtain (View source)
This method was deprecated in API level 33.
Object pooling has been discontinued. Create a new instance using the constructor AccessibilityNodeInfo(android.view.View)
instead.
Returns a cached instance if such is available otherwise a new one and sets the source.
Parameters | |
---|---|
source | View : The source view. |
Returns | |
---|---|
AccessibilityNodeInfo | An instance. |
See also:
performAction
public boolean performAction (int action, Bundle arguments)
Performs an action on the node.
Note: An action can be performed only if the request is made from an AccessibilityService
.
Parameters | |
---|---|
action | int : The action to perform. |
arguments | Bundle : A bundle with additional arguments. |
Returns | |
---|---|
boolean | True if the action was performed. |
Throws | |
---|---|
IllegalStateException | If called outside of an AccessibilityService. |
performAction
public boolean performAction (int action)
Performs an action on the node.
Note: An action can be performed only if the request is made from an AccessibilityService
.
Parameters | |
---|---|
action | int : The action to perform. |
Returns | |
---|---|
boolean | True if the action was performed. |
Throws | |
---|---|
IllegalStateException | If called outside of an AccessibilityService. |
recycle
public void recycle ()
This method was deprecated in API level 33.
Object pooling has been discontinued. Calling this function now will have no effect.
Would previously return an instance back to be reused.
refresh
public boolean refresh ()
Refreshes this info with the latest state of the view it represents.
Returns | |
---|---|
boolean | true if the refresh succeeded. false if the View represented by this node is no longer in the view tree (and thus this node is obsolete). |
refreshWithExtraData
public boolean refreshWithExtraData (String extraDataKey, Bundle args)
Refreshes this info with the latest state of the view it represents, and request new data be added by the View.
Parameters | |
---|---|
extraDataKey | String : The extra data requested. Data that must be requested with this mechanism is generally expensive to retrieve, so should only be requested when needed. See EXTRA_DATA_RENDERING_INFO_KEY , EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY , getAvailableExtraData() and getExtraRenderingInfo() . |
args | Bundle : A bundle of arguments for the request. These depend on the particular request. |
Returns | |
---|---|
boolean | true if the refresh succeeded. false if the View represented by this node is no longer in the view tree (and thus this node is obsolete). |
removeAction
public boolean removeAction (AccessibilityNodeInfo.AccessibilityAction action)
Removes an action that can be performed on the node. If the action was not already added to the node, calling this method has no effect.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
action | AccessibilityNodeInfo.AccessibilityAction : The action to be removed. |
Returns | |
---|---|
boolean | The action removed from the list of actions. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
removeAction
public void removeAction (int action)
This method was deprecated in API level 21.
Use removeAction(android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction)
Removes an action that can be performed on the node. If the action was not already added to the node, calling this method has no effect.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
action | int : The action to be removed. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
removeChild
public boolean removeChild (View root, int virtualDescendantId)
Removes a virtual child which is a descendant of the given root
. If the child was not previously added to the node, calling this method has no effect.
Parameters | |
---|---|
root | View : The root of the virtual subtree. |
virtualDescendantId | int : The id of the virtual child. |
Returns | |
---|---|
boolean | true if the child was present |
See also:
removeChild
public boolean removeChild (View child)
Removes a child. If the child was not previously added to the node, calling this method has no effect.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
child | View : The child. |
Returns | |
---|---|
boolean | true if the child was present |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
removeLabeledBy
public boolean removeLabeledBy (View root, int virtualDescendantId)
Removes a label which is a virtual descendant of the given root
. If virtualDescendantId
is View.NO_ID
the root is set as the label. If the label was not previously added to the node, calling this method has no effect.
Parameters | |
---|---|
root | View : The root of the virtual subtree. This value cannot be null . |
virtualDescendantId | int : The id of the virtual node which serves as this node's label. |
Returns | |
---|---|
boolean | true if the label was present |
See also:
removeLabeledBy
public boolean removeLabeledBy (View label)
Removes a label. If the label was not previously added to the node, calling this method has no effect.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
label | View : The node which serves as this node's label. This value cannot be null . |
Returns | |
---|---|
boolean | true if the label was present |
See also:
setAccessibilityDataSensitive
public void setAccessibilityDataSensitive (boolean accessibilityDataSensitive)
Sets whether this node's accessibility data is considered sensitive.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
accessibilityDataSensitive | boolean : True if the node's accessibility data is considered sensitive. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
See also:
setAccessibilityFocused
public void setAccessibilityFocused (boolean focused)
Sets whether this node is accessibility focused.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
The UI element updating this property should send an event of AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED
or AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED
if its accessibility-focused state changes.
Parameters | |
---|---|
focused | boolean : True if the node is accessibility focused. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setAvailableExtraData
public void setAvailableExtraData (List<String> extraDataKeys)
Set the extra data available for this node.
Note: When a View
passes in a non-empty list, it promises that it will populate the node's extras with corresponding pieces of information in View.addExtraDataToAccessibilityNodeInfo(AccessibilityNodeInfo, String, Bundle)
.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
extraDataKeys | List : A list of types of extra data that are available. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
See also:
setBoundsInParent
public void setBoundsInParent (Rect bounds)
This method was deprecated in API level 29.
Accessibility services should not care about these bounds.
Sets the node bounds in the viewParent's coordinates. getParent()
does not represent the source's viewParent. Instead it represents the result of View.getParentForAccessibility()
, which returns the closest ancestor where View.isImportantForAccessibility()
is true. So this method is not reliable.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
bounds | Rect : The node bounds. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setBoundsInScreen
public void setBoundsInScreen (Rect bounds)
Sets the node bounds in screen coordinates.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
bounds | Rect : The node bounds. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setBoundsInWindow
public void setBoundsInWindow (Rect bounds)
Sets the node bounds in window coordinates.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
bounds | Rect : The node bounds. This value cannot be null . |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setCanOpenPopup
public void setCanOpenPopup (boolean opensPopup)
Sets if this node opens a popup or a dialog.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
opensPopup | boolean : If the the node opens a popup. |
setCheckable
public void setCheckable (boolean checkable)
Sets whether this node is checkable.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
checkable | boolean : True if the node is checkable. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setChecked
public void setChecked (boolean checked)
This method was deprecated in API level 36.
Use setChecked(int)
instead.
Sets whether this node is checked. This is only meaningful when isCheckable()
returns true
.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
checked | boolean : True if the node is checked. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setChecked
public void setChecked (int checked)
Sets the checked state of this node. This is only meaningful when isCheckable()
returns true
.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
checked | int : The checked state. One of Value is CHECKED_STATE_FALSE , CHECKED_STATE_TRUE , or CHECKED_STATE_PARTIAL |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
IllegalArgumentException | if checked is not one of CHECKED_STATE_FALSE , CHECKED_STATE_TRUE , or CHECKED_STATE_PARTIAL . |
setClassName
public void setClassName (CharSequence className)
Sets the class this node comes from.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
className | CharSequence : The class name. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setClickable
public void setClickable (boolean clickable)
Sets whether this node is clickable.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
clickable | boolean : True if the node is clickable. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setCollectionInfo
public void setCollectionInfo (AccessibilityNodeInfo.CollectionInfo collectionInfo)
Sets the collection info if the node is a collection. A collection child is always a collection item.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
collectionInfo | AccessibilityNodeInfo.CollectionInfo : The collection info. |
setCollectionItemInfo
public void setCollectionItemInfo (AccessibilityNodeInfo.CollectionItemInfo collectionItemInfo)
Sets the collection item info if the node is a collection item. A collection item is always a child of a collection.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
collectionItemInfo | AccessibilityNodeInfo.CollectionItemInfo |
setContainerTitle
public void setContainerTitle (CharSequence containerTitle)
Sets the container title for app-developer-defined container which can be any type of ViewGroup or layout. Container title will be used to group together related controls, similar to HTML fieldset. Or container title may identify a large piece of the UI that is visibly grouped together, such as a toolbar or a card, etc.
Container title helps to assist in navigation across containers and other groups. For example, a screen reader may use this to determine where to put accessibility focus.
Container title is different from pane titlesetPaneTitle(CharSequence)
which indicates that the node represents a window or activity.
Example: An app can set container titles on several non-modal menus, containing TextViews or ImageButtons that have content descriptions, text, etc. Screen readers can quickly switch accessibility focus among menus instead of child views. Other accessibility-services can easily find the menu.
Parameters | |
---|---|
containerTitle | CharSequence : The container title that is associated with a ViewGroup/Layout on the screen. This value may be null . |
setContentDescription
public void setContentDescription (CharSequence contentDescription)
Sets the content description of this node.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
contentDescription | CharSequence : The content description. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setContentInvalid
public void setContentInvalid (boolean contentInvalid)
Sets if the content of this node is invalid. For example, a date is not well-formed.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
contentInvalid | boolean : If the node content is invalid. |
setContextClickable
public void setContextClickable (boolean contextClickable)
Sets whether this node is context clickable.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
contextClickable | boolean : True if the node is context clickable. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setDismissable
public void setDismissable (boolean dismissable)
Sets if the node can be dismissed.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
dismissable | boolean : If the node can be dismissed. |
setDrawingOrder
public void setDrawingOrder (int drawingOrderInParent)
Set the drawing order of the view corresponding it this node.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setEditable
public void setEditable (boolean editable)
Sets whether this node is editable.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
editable | boolean : True if the node is editable. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setEnabled
public void setEnabled (boolean enabled)
Sets whether this node is enabled.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
enabled | boolean : True if the node is enabled. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setError
public void setError (CharSequence error)
Sets the error text of this node.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
error | CharSequence : The error text. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setExpandedState
public void setExpandedState (int state)
Sets the expanded state of the node.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService
.
Parameters | |
---|---|
state | int : new expanded state of this node. Value is EXPANDED_STATE_UNDEFINED , EXPANDED_STATE_COLLAPSED , EXPANDED_STATE_PARTIAL , or EXPANDED_STATE_FULL |
Throws | |
---|---|
IllegalArgumentException | If state is not one of: |
IllegalStateException | If called from an AccessibilityService |
setFieldRequired
public void setFieldRequired (boolean required)
Sets whether this
node represents a form field that requires input or selection.
Note: Cannot be called from an AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
required | boolean : true if input or selection of this node should be required, false otherwise. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService |
setFocusable
public void setFocusable (boolean focusable)
Sets whether this node is focusable.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
To mark a node as explicitly focusable for a screen reader, consider using setScreenReaderFocusable(boolean)
instead.
Parameters | |
---|---|
focusable | boolean : True if the node is focusable. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setFocused
public void setFocused (boolean focused)
Sets whether this node is focused.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
focused | boolean : True if the node is focused. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setGranularScrollingSupported
public void setGranularScrollingSupported (boolean granularScrollingSupported)
Sets if the node supports granular scrolling. This should be set to true if all scroll actions which could support ACTION_ARGUMENT_SCROLL_AMOUNT_FLOAT
have done so.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
granularScrollingSupported | boolean : True if the node supports granular scrolling, false otherwise. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setHeading
public void setHeading (boolean isHeading)
Sets whether the node represents a heading.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
isHeading | boolean : true if the node is a heading, false otherwise. |
setHintText
public void setHintText (CharSequence hintText)
Sets the hint text of this node. Only applies to nodes where text can be entered.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
hintText | CharSequence : The hint text for this mode. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setImportantForAccessibility
public void setImportantForAccessibility (boolean important)
Sets whether the node is considered important for accessibility.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
important | boolean : true if the node is considered important for accessibility, false otherwise |
setInputType
public void setInputType (int inputType)
Sets the input type of the source as defined by InputType
.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
inputType | int : The input type. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setLabelFor
public void setLabelFor (View root, int virtualDescendantId)
This method was deprecated in API level 36.
Use addLabeledBy(android.view.View)
on the labeled node instead, since getLabeledByList()
and getLabeledBy()
on the labeled node are not automatically populated when this method is used.
Sets the view for which the view represented by this info serves as a label for accessibility purposes. If virtualDescendantId
is View.NO_ID
the root is set as the labeled.
A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report themselves as a tree of virtual views, thus conveying their logical structure.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
root | View : The root whose virtual descendant serves as a label. |
virtualDescendantId | int : The id of the virtual descendant. |
setLabelFor
public void setLabelFor (View labeled)
This method was deprecated in API level 36.
Use addLabeledBy(android.view.View)
on the labeled node instead, since getLabeledByList()
and getLabeledBy()
on the labeled node are not automatically populated when this method is used.
Sets the view for which the view represented by this info serves as a label for accessibility purposes.
Parameters | |
---|---|
labeled | View : The view for which this info serves as a label. |
setLabeledBy
public void setLabeledBy (View label)
This method was deprecated in API level 36.
Use addLabeledBy(android.view.View)
or removeLabeledBy(android.view.View)
instead.
Sets the view which serves as the label of the view represented by this info for accessibility purposes.
Parameters | |
---|---|
label | View : The view that labels this node's source. |
setLabeledBy
public void setLabeledBy (View root, int virtualDescendantId)
This method was deprecated in API level 36.
Use addLabeledBy(android.view.View, int)
or removeLabeledBy(android.view.View, int)
instead.
Sets the view which serves as the label of the view represented by this info for accessibility purposes. If virtualDescendantId
is View.NO_ID
the root is set as the label.
A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report themselves as a tree of virtual views, thus conveying their logical structure.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
root | View : The root whose virtual descendant labels this node's source. |
virtualDescendantId | int : The id of the virtual descendant. |
setLiveRegion
public void setLiveRegion (int mode)
Sets the node's live region mode.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
mode | int : The live region mode, or View.ACCESSIBILITY_LIVE_REGION_NONE if the view is not a live region. |
See also:
setLongClickable
public void setLongClickable (boolean longClickable)
Sets whether this node is long clickable.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
longClickable | boolean : True if the node is long clickable. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setMaxTextLength
public void setMaxTextLength (int max)
Sets the maximum text length, or -1 for no limit.
Typically used to indicate that an editable text field has a limit on the number of characters entered.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
max | int : The maximum text length. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
See also:
setMinDurationBetweenContentChanges
public void setMinDurationBetweenContentChanges (Duration duration)
Sets the minimum time duration between two content change events, which is used in throttling content change events in accessibility services.
Example: An app can set MinMillisBetweenContentChanges as 1 min for a view which sends content change events to accessibility services one event per second. Accessibility service will throttle those content change events and only handle one event per minute for that view.
Example UI elements that frequently update and may benefit from a duration are progress bars, timers, and stopwatches.
Parameters | |
---|---|
duration | Duration : the minimum duration between content change events. Negative duration would be treated as zero. This value cannot be null . |
setMovementGranularities
public void setMovementGranularities (int granularities)
Sets the movement granularities for traversing the text of this node.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
granularities | int : The bit mask with granularities. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setMultiLine
public void setMultiLine (boolean multiLine)
Sets if the node is a multi line editable text.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
multiLine | boolean : True if the node is multi line. |
setPackageName
public void setPackageName (CharSequence packageName)
Sets the package this node comes from.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
packageName | CharSequence : The package name. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setPaneTitle
public void setPaneTitle (CharSequence paneTitle)
If this node represents a visually distinct region of the screen that may update separately from the rest of the window, it is considered a pane. Set the pane title to indicate that the node is a pane, and to provide a title for it.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
paneTitle | CharSequence : The title of the pane represented by this node. This value may be null . |
setParent
public void setParent (View root, int virtualDescendantId)
Sets the parent to be a virtual descendant of the given root
. If virtualDescendantId
equals to View.NO_ID
the root is set as the parent.
A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report them selves as a tree of virtual views, thus conveying their logical structure.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
root | View : The root of the virtual subtree. |
virtualDescendantId | int : The id of the virtual descendant. |
setParent
public void setParent (View parent)
Sets the parent.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
parent | View : The parent. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setPassword
public void setPassword (boolean password)
Sets whether this node is a password.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
password | boolean : True if the node is a password. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setQueryFromAppProcessEnabled
public void setQueryFromAppProcessEnabled (View view, boolean enabled)
Connects this node to the View's root so that operations on this node can query the entire AccessibilityNodeInfo
tree and perform accessibility actions on nodes.
Testing or debugging tools should create this AccessibilityNodeInfo
node using View.createAccessibilityNodeInfo()
or AccessibilityNodeProvider
and call this method, then navigate and interact with the node tree by calling methods on the node. Calling this method more than once on the same node is a no-op. After calling this method, all nodes linked to this node (children, ancestors, etc.) are also queryable.
Here "query" refers to the following node operations:
isScrollable()
)getChild(int)
)getParent()
)findFocus(int)
, focusSearch(int)
)findAccessibilityNodeInfosByText(java.lang.String)
, findAccessibilityNodeInfosByViewId(java.lang.String)
)performAction(int)
) This is intended for short-lived inspections from testing or debugging tools in the app process, as operations on this node tree will only succeed as long as the associated view hierarchy remains attached to a window. AccessibilityNodeInfo
objects can quickly become out of sync with their corresponding View
objects; if you wish to inspect a changed or different view hierarchy then create a new node from any view in that hierarchy and call this method on that new node, instead of disabling & re-enabling the connection on the previous node.
Parameters | |
---|---|
view | View : The view that generated this node, or any view in the same view-root hierarchy. This value cannot be null . |
enabled | boolean : Whether to enable (true) or disable (false) querying from the app process. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService , or if provided a View that is not attached to a window. |
setRangeInfo
public void setRangeInfo (AccessibilityNodeInfo.RangeInfo rangeInfo)
Sets the range info if this node is a range.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
rangeInfo | AccessibilityNodeInfo.RangeInfo : The range info. |
setRequestInitialAccessibilityFocus
public void setRequestInitialAccessibilityFocus (boolean requestInitialAccessibilityFocus)
Sets whether the node has requested initial accessibility focus.
If the node hasRequestInitialAccessibilityFocus()
, this node would be one of candidates to be accessibility focused when the window appears.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
requestInitialAccessibilityFocus | boolean : True if the node requests to receive initial accessibility focus. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setScreenReaderFocusable
public void setScreenReaderFocusable (boolean screenReaderFocusable)
Sets whether the node should be considered a focusable unit by a screen reader.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
This can be used to group related content.
Parameters | |
---|---|
screenReaderFocusable | boolean : true if the node is a focusable unit for screen readers, false otherwise. |
setScrollable
public void setScrollable (boolean scrollable)
Sets if the node is scrollable.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
scrollable | boolean : True if the node is scrollable, false otherwise. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setSelected
public void setSelected (boolean selected)
Sets whether this node is selected.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
selected | boolean : True if the node is selected. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setSelection
public void setSelection (AccessibilityNodeInfo.Selection selection)
Sets the extended selection, which is a representation of selection that spans multiple nodes that exist within the subtree of the node defining selection.
Note: The start and end SelectionPosition
of the provided Selection
should be constructed with this
node or a descendant of it.
Note: AccessibilityNodeInfo.setFocusable
and AccessibilityNodeInfo.setFocused
should both be called with true
before setting the selection in order to make this
node a candidate to contain a selection.
Note: Cannot be called from an AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
selection | AccessibilityNodeInfo.Selection : The extended selection within the node's subtree, or null if no selection exists. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService |
setShowingHintText
public void setShowingHintText (boolean showingHintText)
Sets whether the node's text represents a hint for the user to enter text. It should only be true
if the node has editable text.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
showingHintText | boolean : true if the text in the node represents a hint to the user, false otherwise. |
setSource
public void setSource (View source)
Sets the source.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
source | View : The info source. |
setSource
public void setSource (View root, int virtualDescendantId)
Sets the source to be a virtual descendant of the given root
. If virtualDescendantId
is View.NO_ID
the root is set as the source.
A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report themselves as a tree of virtual views, thus conveying their logical structure.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
root | View : The root of the virtual subtree. |
virtualDescendantId | int : The id of the virtual descendant. |
setStateDescription
public void setStateDescription (CharSequence stateDescription)
Sets the state description of this node.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
stateDescription | CharSequence : the state description of this node. This value may be null . |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setSupplementalDescription
public void setSupplementalDescription (CharSequence supplementalDescription)
Sets the supplemental description of this node. A supplemental description provides brief supplemental information for this node, such as the purpose of the node when that purpose is not conveyed within its textual representation. For example, if a dropdown select has a purpose of setting font family, the supplemental description could be "font family". If this node has children, its supplemental description serves as additional information and is not intended to replace any existing information in the subtree. This is different from the setContentDescription(java.lang.CharSequence)
in that this description is purely supplemental while a content description may be used to replace a description for a node or its subtree that an assistive technology would otherwise compute based on other properties of the node and its descendants.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
supplementalDescription | CharSequence : The supplemental description. This value may be null . |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setText
public void setText (CharSequence text)
Sets the text of this node.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
text | CharSequence : The text. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setTextEntryKey
public void setTextEntryKey (boolean isTextEntryKey)
Sets whether the node represents a text entry key that is part of a keyboard or keypad.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
isTextEntryKey | boolean : true if the node is a text entry key, false otherwise. |
setTextSelectable
public void setTextSelectable (boolean selectableText)
Sets if the node has selectable text.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
selectableText | boolean : True if the node has selectable text, false otherwise. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setTextSelection
public void setTextSelection (int start, int end)
Sets the text selection start and end.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
start | int : The text selection start. |
end | int : The text selection end. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setTooltipText
public void setTooltipText (CharSequence tooltipText)
Sets the tooltip text of this node.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
tooltipText | CharSequence : The tooltip text. This value may be null . |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setTouchDelegateInfo
public void setTouchDelegateInfo (AccessibilityNodeInfo.TouchDelegateInfo delegatedInfo)
Set touch delegate info if the represented view has a TouchDelegate
.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
delegatedInfo | AccessibilityNodeInfo.TouchDelegateInfo : TouchDelegateInfo returned from TouchDelegate.getTouchDelegateInfo() . This value cannot be null . |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
setTraversalAfter
public void setTraversalAfter (View view)
Sets the view whose node is visited after this one in accessibility traversal. A screen-reader must visit the content of the other node before the content of this one.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
view | View : The previous view. |
See also:
setTraversalAfter
public void setTraversalAfter (View root, int virtualDescendantId)
Sets the node after which this one is visited in accessibility traversal. A screen-reader must visit the content of the other node before the content of this one. If virtualDescendantId
equals to View.NO_ID
the root is set as the predecessor.
A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report them selves as a tree of virtual views, thus conveying their logical structure.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
root | View : The root of the virtual subtree. |
virtualDescendantId | int : The id of the virtual descendant. |
setTraversalBefore
public void setTraversalBefore (View view)
Sets the view before whose node this one should be visited during traversal. A screen-reader must visit the content of this node before the content of the one it precedes.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
view | View : The view providing the preceding node. |
See also:
setTraversalBefore
public void setTraversalBefore (View root, int virtualDescendantId)
Sets the node before which this one is visited during traversal. A screen-reader must visit the content of this node before the content of the one it precedes. The successor is a virtual descendant of the given root
. If virtualDescendantId
equals to View.NO_ID
the root is set as the successor.
A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report them selves as a tree of virtual views, thus conveying their logical structure.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
root | View : The root of the virtual subtree. |
virtualDescendantId | int : The id of the virtual descendant. |
setUniqueId
public void setUniqueId (String uniqueId)
Sets the unique id to act as a key to identify the node. If the node instance is replaced after refreshing the layout, calling this API to assign the same unique id to the new alike node can help accessibility service to identify it.
Parameters | |
---|---|
uniqueId | String : The unique id that is associated with a visible node on the screen This value may be null . |
setViewIdResourceName
public void setViewIdResourceName (String viewIdResName)
Sets the fully qualified resource name of the source view's id.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
viewIdResName | String : The id resource name. |
setVisibleToUser
public void setVisibleToUser (boolean visibleToUser)
Sets whether this node is visible to the user.
Note: Cannot be called from an AccessibilityService
. This class is made immutable before being delivered to an AccessibilityService.
Parameters | |
---|---|
visibleToUser | boolean : Whether the node is visible to the user. |
Throws | |
---|---|
IllegalStateException | If called from an AccessibilityService. |
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String | a string representation of the object. |
writeToParcel
public void writeToParcel (Parcel parcel, int flags)
Flatten this object in to a Parcel.
Note: After the instance is written to a parcel it is recycled. You must not touch the object after calling this function.
Parameters | |
---|---|
parcel | Parcel : The Parcel in which the object should be written. This value cannot be null . |
flags | int : Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE . Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.