---
title: "Role"
description: "The type of user interface element. Accessibility services might use this to describe the element
or do customizations. Most roles can be automatically resolved by the semantics properties of
this element. But some elements with subtle differences need an exact role. If an exact role is
not listed, [SemanticsPropertyReceiver.role] should not be set and the framework will
automatically resolve it."
type: "class"
---

<div class='type'>Class</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
value class Role private constructor(@Suppress("unused") private val value: Int)
```


The type of user interface element. Accessibility services might use this to describe the element
or do customizations. Most roles can be automatically resolved by the semantics properties of
this element. But some elements with subtle differences need an exact role. If an exact role is
not listed, `SemanticsPropertyReceiver.role` should not be set and the framework will
automatically resolve it.


## Companion Object

#### Properties

<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Button = Role(0)
```


This element is a button control. Associated semantics properties for accessibility:
`SemanticsProperties.Disabled`, `SemanticsActions.OnClick`



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Checkbox = Role(1)
```


This element is a Checkbox which is a component that represents two states (checked /
unchecked). Associated semantics properties for accessibility:
`SemanticsProperties.Disabled`, `SemanticsProperties.StateDescription`,
`SemanticsActions.OnClick`



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Switch = Role(2)
```


This element is a Switch which is a two state toggleable component that provides on/off
like options. Associated semantics properties for accessibility:
`SemanticsProperties.Disabled`, `SemanticsProperties.StateDescription`,
`SemanticsActions.OnClick`



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val RadioButton = Role(3)
```


This element is a RadioButton which is a component to represent two states, selected and
not selected. Associated semantics properties for accessibility:
`SemanticsProperties.Disabled`, `SemanticsProperties.StateDescription`,
`SemanticsActions.OnClick`



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Tab = Role(4)
```


This element is a Tab which represents a single page of content using a text label and/or
icon. A Tab also has two states: selected and not selected. Associated semantics
properties for accessibility: `SemanticsProperties.Disabled`,
`SemanticsProperties.StateDescription`, `SemanticsActions.OnClick`



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Image = Role(5)
```


This element is an image. Associated semantics properties for accessibility:
`SemanticsProperties.ContentDescription`



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val DropdownList = Role(6)
```


This element is associated with a drop down menu. Associated semantics properties for
accessibility: `SemanticsActions.OnClick`



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val ValuePicker = Role(7)
```


This element is a value picker. It should support the following accessibility actions to
enable selection of the next and previous values:

`android.view.accessibility.AccessibilityNodeInfo.ACTION_SCROLL_FORWARD`: Select the next
value.

`android.view.accessibility.AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD`: Select the
previous value.

These actions allow accessibility services to interact with this node programmatically on
behalf of users, facilitating navigation within sets of selectable values.



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Carousel = Role(8)
```


This element is a Carousel. This means that even if Pager actions are added, this element
will behave like a regular List collection.

Associated semantics properties for Pager accessibility actions:
`SemanticsActions.PageUp`,`SemanticsActions.PageDown`,`SemanticsActions.PageLeft`,
`SemanticsActions.PageRight`





