# AccessibilityNodeProviderCompat

# AccessibilityNodeProviderCompat

Artifact:[androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core)  
[View Source](https://cs.android.com/search?q=file:androidx/core/view/accessibility/AccessibilityNodeProviderCompat.java+class:androidx.core.view.accessibility.AccessibilityNodeProviderCompat)  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityNodeProviderCompat "View this page in Java")

<br />

```
class AccessibilityNodeProviderCompat
```

<br />

*** ** * ** ***

Helper for accessing[android.view.accessibility.AccessibilityNodeProvider](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeProvider.html).
Consider using a , a utility extension of AccessibilityNodeProvider, to simplify many aspects of providing information to accessibility services and managing accessibility focus.

## Summary

|                                    ### Constants                                    |
|-------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [HOST_VIEW_ID](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#HOST_VIEW_ID())` = -1` The virtual id for the hosting View. |

|                                                                                                                                                                                                                                    ### Public constructors                                                                                                                                                                                                                                    |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [AccessibilityNodeProviderCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#AccessibilityNodeProviderCompat())`()` Creates a new instance.                                                                                                                                                                                                                                                                              |
| [AccessibilityNodeProviderCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#AccessibilityNodeProviderCompat(java.lang.Object))`(provider: `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?)` Creates a new instance wrapping an[android.view.accessibility.AccessibilityNodeProvider](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeProvider.html). |

|                                                                                                                                                                 ### Public functions                                                                                                                                                                  |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                                                                                                                                                                                                                         | [addExtraDataToAccessibilityNodeInfo](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#addExtraDataToAccessibilityNodeInfo(int,androidx.core.view.accessibility.AccessibilityNodeInfoCompat,java.lang.String,android.os.Bundle))`(` ` virtualViewId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` info: `[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)`,` ` extraDataKey: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`,` ` arguments: `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)`?` `)` Adds extra data to an[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)based on an explicit request for the additional data. |
| [AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)`?`                                                                                                                                                                                                         | [createAccessibilityNodeInfo](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#createAccessibilityNodeInfo(int))`(virtualViewId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Returns an[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)representing a virtual view, i.e. a descendant of the host View, with the given`virtualViewId`or the host View itself if`virtualViewId`equals to[HOST_VIEW_ID](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#HOST_VIEW_ID()).                                                                                                                                                                                                                                                 |
| `(`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)`!>?` | [findAccessibilityNodeInfosByText](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#findAccessibilityNodeInfosByText(java.lang.String,int))`(text: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`, virtualViewId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Finds[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)s by text.                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)`?`                                                                                                                                                                                                         | [findFocus](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#findFocus(int))`(focus: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Find the virtual view, i.e. a descendant of the host View, that has the specified focus type.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| [Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?`                                                                                                                                                                                                                                                                        | [getProvider](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#getProvider())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                                                                                                                                                                                                                                                   | [performAction](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#performAction(int,int,android.os.Bundle))`(virtualViewId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`, action: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`, arguments: `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)`?)` Performs an accessibility action on a virtual view, i.e. a descendant of the host View, with the given`virtualViewId`or the host View itself if`virtualViewId`equals to[HOST_VIEW_ID](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#HOST_VIEW_ID()).                                                                                                                                                                                                     |

## Constants

### HOST_VIEW_ID

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)  

```
const val HOST_VIEW_ID = -1: Int
```

The virtual id for the hosting View.  

## Public constructors

### AccessibilityNodeProviderCompat

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)  

```
AccessibilityNodeProviderCompat()
```

Creates a new instance.  

### AccessibilityNodeProviderCompat

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)  

```
AccessibilityNodeProviderCompat(provider: Any?)
```

Creates a new instance wrapping an[android.view.accessibility.AccessibilityNodeProvider](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeProvider.html).  

|                                         Parameters                                         |
|--------------------------------------------------------------------------------------------|---------------|
| `provider: `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?` | The provider. |

## Public functions

### addExtraDataToAccessibilityNodeInfo

Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/core#1.5.0)  

```
fun addExtraDataToAccessibilityNodeInfo(
    virtualViewId: Int,
    info: AccessibilityNodeInfoCompat,
    extraDataKey: String,
    arguments: Bundle?
): Unit
```

Adds extra data to an[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)based on an explicit request for the additional data.

This method only needs to be implemented if a virtual view offers to provide additional data.  

|                                                                     Parameters                                                                     |
|----------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `virtualViewId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                       | The virtual view id used to create the node                                                                                                                                                                                                                                                                                                |
| `info: `[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat) | The info to which to add the extra data                                                                                                                                                                                                                                                                                                    |
| `extraDataKey: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)                                                  | A key specifying the type of extra data to add to the info. The extra data should be added to the[Bundle](https://developer.android.com/reference/android/os/Bundle.html)returned by the info's[getExtras](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat#getExtras())method. |
| `arguments: `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)`?`                                                           | A[Bundle](https://developer.android.com/reference/android/os/Bundle.html)holding any arguments relevant for this request.                                                                                                                                                                                                                  |

|                                                                                       See also                                                                                       |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [setAvailableExtraData](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo.html#setAvailableExtraData(java.util.List&lt;java.lang.String&gt;)) |   |

### createAccessibilityNodeInfo

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)  

```
fun createAccessibilityNodeInfo(virtualViewId: Int): AccessibilityNodeInfoCompat?
```

Returns an[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)representing a virtual view, i.e. a descendant of the host View, with the given`virtualViewId`or the host View itself if`virtualViewId`equals to[HOST_VIEW_ID](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#HOST_VIEW_ID()).

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.

The implementer is responsible for obtaining an accessibility node info from the pool of reusable instances and setting the desired properties of the node info before returning it.  

|                                          Parameters                                          |
|----------------------------------------------------------------------------------------------|-----------------------------------|
| `virtualViewId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | A client defined virtual view id. |

|                                                                    Returns                                                                    |
|-----------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)`?` | A populated[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)for a virtual descendant or the host View. |

|                                                                  See also                                                                  |
|--------------------------------------------------------------------------------------------------------------------------------------------|---|
| [AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat) |   |

### findAccessibilityNodeInfosByText

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)  

```
fun findAccessibilityNodeInfosByText(text: String, virtualViewId: Int): (Mutable)List<AccessibilityNodeInfoCompat!>?
```

Finds[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)s by text. The match is case insensitive containment. The search is relative to the virtual view, i.e. a descendant of the host View, with the given`virtualViewId`or the host View itself`virtualViewId`equals to[HOST_VIEW_ID](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#HOST_VIEW_ID()).  

|                                          Parameters                                          |
|----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
| `text: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)    | The searched text.                                                                                  |
| `virtualViewId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | A client defined virtual view id which defined the root of the tree in which to perform the search. |

|                                                                                                                                                                        Returns                                                                                                                                                                        |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|
| `(`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)`!>?` | A list of node info. |

|                                                                                    See also                                                                                     |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [createAccessibilityNodeInfo](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#createAccessibilityNodeInfo(int)) |   |
| [AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)                                      |   |

### findFocus

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)  

```
fun findFocus(focus: Int): AccessibilityNodeInfoCompat?
```

Find the virtual view, i.e. a descendant of the host View, that has the specified focus type.  

|                                      Parameters                                      |
|--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `focus: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | The focus to find. One of[FOCUS_INPUT](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat#FOCUS_INPUT())or[FOCUS_ACCESSIBILITY](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat#FOCUS_ACCESSIBILITY()). |

|                                                                    Returns                                                                    |
|-----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------|
| [AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)`?` | The node info of the focused view or null. |

|                                                                         See also                                                                         |
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [FOCUS_INPUT](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat#FOCUS_INPUT())                 |   |
| [FOCUS_ACCESSIBILITY](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat#FOCUS_ACCESSIBILITY()) |   |

### getProvider

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)  

```
fun getProvider(): Any?
```  

|                                    Returns                                     |
|--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?` | The wrapped[android.view.accessibility.AccessibilityNodeProvider](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeProvider.html). |

### performAction

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)  

```
fun performAction(virtualViewId: Int, action: Int, arguments: Bundle?): Boolean
```

Performs an accessibility action on a virtual view, i.e. a descendant of the host View, with the given`virtualViewId`or the host View itself if`virtualViewId`equals to[HOST_VIEW_ID](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#HOST_VIEW_ID()).  

|                                          Parameters                                          |
|----------------------------------------------------------------------------------------------|-----------------------------------|
| `virtualViewId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | A client defined virtual view id. |
| `action: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)        | The action to perform.            |
| `arguments: `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)`?`     | Optional arguments.               |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | True if the action was performed. |

|                                                                                    See also                                                                                     |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [createAccessibilityNodeInfo](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeProviderCompat#createAccessibilityNodeInfo(int)) |   |
| [AccessibilityNodeInfoCompat](https://developer.android.com/reference/kotlin/androidx/core/view/accessibility/AccessibilityNodeInfoCompat)                                      |   |