AccessibilityDelegateCompat

Added in 1.1.0

public class AccessibilityDelegateCompat

Known direct subclasses
ExploreByTouchHelper

ExploreByTouchHelper is a utility class for implementing accessibility support in custom Views that represent a collection of View-like logical items.

RecyclerViewAccessibilityDelegate.ItemDelegate

The default implementation of accessibility delegate for the individual items of the RecyclerView.

RecyclerViewAccessibilityDelegate

The AccessibilityDelegate used by RecyclerView.


Helper for accessing AccessibilityDelegate.

Note: On platform versions prior to API 23, delegate methods on views in the android.widget.* package are called before host methods. This prevents certain properties such as class name from being modified by overriding onInitializeAccessibilityNodeInfo, as any changes will be overwritten by the host class.

Starting in API 23, delegate methods are called after host methods, which all properties to be modified without being overwritten by the host class.

Summary

Public constructors

Creates a new instance.

Public methods

boolean

Dispatches an AccessibilityEvent to the host View first and then to its children for adding their text content to the event.

@Nullable AccessibilityNodeProviderCompat

Gets the provider for managing a virtual view hierarchy rooted at this View and reported to AccessibilityServices that explore the window content.

void

Initializes an AccessibilityEvent with information about the the host View which is the event source.

void

Initializes an AccessibilityNodeInfoCompat with information about the host view.

void

Gives a chance to the host View to populate the accessibility event with its text content.

boolean

Called when a child of the host View has requested sending an AccessibilityEvent and gives an opportunity to the parent (the host) to augment the event.

boolean
performAccessibilityAction(
    @NonNull View host,
    int action,
    @Nullable Bundle args
)

Performs the specified accessibility action on the view.

void
sendAccessibilityEvent(@NonNull View host, int eventType)

Sends an accessibility event of the given type.

void

Sends an accessibility event.

Public constructors

AccessibilityDelegateCompat

Added in 1.1.0
public AccessibilityDelegateCompat()

Creates a new instance.

Public methods

dispatchPopulateAccessibilityEvent

Added in 1.1.0
public boolean dispatchPopulateAccessibilityEvent(
    @NonNull View host,
    @NonNull AccessibilityEvent event
)

Dispatches an AccessibilityEvent to the host View first and then to its children for adding their text content to the event.

The default implementation behaves as View#dispatchPopulateAccessibilityEvent(AccessibilityEvent) for the case of no accessibility delegate been set.

Parameters
@NonNull View host

The View hosting the delegate.

@NonNull AccessibilityEvent event

The event.

Returns
boolean

True if the event population was completed.

See also
dispatchPopulateAccessibilityEvent

View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)

getAccessibilityNodeProvider

Added in 1.1.0
public @Nullable AccessibilityNodeProviderCompat getAccessibilityNodeProvider(@NonNull View host)

Gets the provider for managing a virtual view hierarchy rooted at this View and reported to AccessibilityServices that explore the window content.

The default implementation behaves as ViewCompat#getAccessibilityNodeProvider(View) for the case of no accessibility delegate been set.

Returns
@Nullable AccessibilityNodeProviderCompat

The provider.

onInitializeAccessibilityEvent

Added in 1.1.0
public void onInitializeAccessibilityEvent(
    @NonNull View host,
    @NonNull AccessibilityEvent event
)

Initializes an AccessibilityEvent with information about the the host View which is the event source.

The default implementation behaves as ViewCompat#onInitalizeAccessibilityEvent(View v, AccessibilityEvent event) for the case of no accessibility delegate been set.

Parameters
@NonNull View host

The View hosting the delegate.

@NonNull AccessibilityEvent event

The event to initialize.

See also
onInitializeAccessibilityEvent

ViewCompat#onInitializeAccessibilityEvent(View, AccessibilityEvent)

onInitializeAccessibilityNodeInfo

Added in 1.1.0
public void onInitializeAccessibilityNodeInfo(
    @NonNull View host,
    @NonNull AccessibilityNodeInfoCompat info
)

Initializes an AccessibilityNodeInfoCompat with information about the host view.

The default implementation behaves as ViewCompat#onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfoCompat) for the case of no accessibility delegate been set.

Parameters
@NonNull View host

The View hosting the delegate.

@NonNull AccessibilityNodeInfoCompat info

The instance to initialize.

See also
onInitializeAccessibilityNodeInfo

ViewCompat#onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfoCompat)

onPopulateAccessibilityEvent

Added in 1.1.0
public void onPopulateAccessibilityEvent(
    @NonNull View host,
    @NonNull AccessibilityEvent event
)

Gives a chance to the host View to populate the accessibility event with its text content.

The default implementation behaves as ViewCompat#onPopulateAccessibilityEvent(AccessibilityEvent) for the case of no accessibility delegate been set.

Parameters
@NonNull View host

The View hosting the delegate.

@NonNull AccessibilityEvent event

The accessibility event which to populate.

See also
onPopulateAccessibilityEvent

ViewCompat#onPopulateAccessibilityEvent(View, AccessibilityEvent)

onRequestSendAccessibilityEvent

Added in 1.1.0
public boolean onRequestSendAccessibilityEvent(
    @NonNull ViewGroup host,
    @NonNull View child,
    @NonNull AccessibilityEvent event
)

Called when a child of the host View has requested sending an AccessibilityEvent and gives an opportunity to the parent (the host) to augment the event.

The default implementation behaves as ViewGroupCompat#onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent) for the case of no accessibility delegate been set.

Parameters
@NonNull ViewGroup host

The View hosting the delegate.

@NonNull View child

The child which requests sending the event.

@NonNull AccessibilityEvent event

The event to be sent.

Returns
boolean

True if the event should be sent

See also
onRequestSendAccessibilityEvent

ViewGroupCompat#onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent)

performAccessibilityAction

Added in 1.1.0
public boolean performAccessibilityAction(
    @NonNull View host,
    int action,
    @Nullable Bundle args
)

Performs the specified accessibility action on the view. For possible accessibility actions look at AccessibilityNodeInfoCompat.

The default implementation behaves as View#performAccessibilityAction(int, Bundle) for the case of no accessibility delegate been set.

Parameters
@NonNull View host

View on which to perform the action.

int action

The action to perform.

@Nullable Bundle args

Optional action arguments.

Returns
boolean

Whether the action was performed.

See also
performAccessibilityAction

View#performAccessibilityAction(int, Bundle)

sendAccessibilityEvent

Added in 1.1.0
public void sendAccessibilityEvent(@NonNull View host, int eventType)

Sends an accessibility event of the given type. If accessibility is not enabled this method has no effect.

The default implementation behaves as View#sendAccessibilityEvent(int) for the case of no accessibility delegate been set.

Parameters
@NonNull View host

The View hosting the delegate.

int eventType

The type of the event to send.

See also
sendAccessibilityEvent

View#sendAccessibilityEvent(int)

sendAccessibilityEventUnchecked

Added in 1.1.0
public void sendAccessibilityEventUnchecked(
    @NonNull View host,
    @NonNull AccessibilityEvent event
)

Sends an accessibility event. This method behaves exactly as sendAccessibilityEvent but takes as an argument an empty AccessibilityEvent and does not perform a check whether accessibility is enabled.

The default implementation behaves as View#sendAccessibilityEventUnchecked(AccessibilityEvent) for the case of no accessibility delegate been set.

Parameters
@NonNull View host

The View hosting the delegate.

@NonNull AccessibilityEvent event

The event to send.

See also
sendAccessibilityEventUnchecked

View#sendAccessibilityEventUnchecked(AccessibilityEvent)