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

```kotlin
/*@VisibleForTesting*/
object SemanticsProperties
```

General semantics properties, mainly used for accessibility and testing.

Each of these is intended to be set by the respective SemanticsPropertyReceiver extension instead
of used directly.

## Properties

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

```kotlin
val ContentDescription =
    AccessibilityKey<List<String>>(
        name = "ContentDescription",
        mergePolicy = { parentValue, childValue ->
            parentValue?.toMutableList()?.also { it.addAll(childValue) } ?: childValue
        },
    )
```

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

```kotlin
val StateDescription = AccessibilityKey<String>("StateDescription")
```

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

```kotlin
val ProgressBarRangeInfo = AccessibilityKey<ProgressBarRangeInfo>("ProgressBarRangeInfo")
```

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

```kotlin
val PaneTitle =
    AccessibilityKey<String>(
        name = "PaneTitle",
        mergePolicy = { _, _ ->
            throw IllegalStateException(
                "merge function called on unmergeable property PaneTitle."
            )
        },
    )
```

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

```kotlin
val SelectableGroup = AccessibilityKey<Unit>("SelectableGroup")
```

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

```kotlin
val CollectionInfo = AccessibilityKey<CollectionInfo>("CollectionInfo")
```

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

```kotlin
val CollectionItemInfo = AccessibilityKey<CollectionItemInfo>("CollectionItemInfo")
```

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

```kotlin
val Heading = AccessibilityKey<Unit>("Heading")
```

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

```kotlin
val TextEntryKey = AccessibilityKey<Unit>("TextEntryKey")
```

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

```kotlin
val Disabled = AccessibilityKey<Unit>("Disabled")
```

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

```kotlin
val LiveRegion = AccessibilityKey<LiveRegionMode>("LiveRegion")
```

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

```kotlin
val Focused = AccessibilityKey<Boolean>("Focused")
```

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

> **Deprecated** Use `isTraversalGroup` instead.

```kotlin
val IsContainer = AccessibilityKey<Boolean>("IsContainer")
```

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

```kotlin
val IsTraversalGroup = SemanticsPropertyKey<Boolean>("IsTraversalGroup")
```

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

```kotlin
val IsSensitiveData = SemanticsPropertyKey<Boolean>("IsSensitiveData")
```

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

> **Deprecated** Use `hideFromAccessibility` instead.

```kotlin
val InvisibleToUser =
    SemanticsPropertyKey<Unit>(
        name = "InvisibleToUser",
        mergePolicy = { parentValue, _ -> parentValue },
    )
```

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

```kotlin
val HideFromAccessibility =
    SemanticsPropertyKey<Unit>(
        name = "HideFromAccessibility",
        mergePolicy = { parentValue, _ -> parentValue },
    )
```

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

```kotlin
val ContentType =
    SemanticsPropertyKey<ContentType>(
        name = "ContentType",
        mergePolicy = { parentValue, _ ->
            parentValue
        },
    )
```

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

```kotlin
val ContentDataType =
    SemanticsPropertyKey<ContentDataType>(
        name = "ContentDataType",
        mergePolicy = { parentValue, _ ->
            parentValue
        },
    )
```

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

```kotlin
val FillableData =
    SemanticsPropertyKey<FillableData>(
        name = "FillableData",
        mergePolicy = { parentValue, _ ->
            parentValue
        },
    )
```

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

```kotlin
val TraversalIndex =
    SemanticsPropertyKey<Float>(
        name = "TraversalIndex",
        mergePolicy = { parentValue, _ ->
            parentValue
        },
    )
```

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

```kotlin
val HorizontalScrollAxisRange = AccessibilityKey<ScrollAxisRange>("HorizontalScrollAxisRange")
```

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

```kotlin
val VerticalScrollAxisRange = AccessibilityKey<ScrollAxisRange>("VerticalScrollAxisRange")
```

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

```kotlin
val IsPopup =
    AccessibilityKey<Unit>(
        name = "IsPopup",
        mergePolicy = { _, _ ->
            throw IllegalStateException(
                "merge function called on unmergeable property IsPopup. " +
                    "A popup should not be a child of a clickable/focusable node."
            )
        },
    )
```

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

```kotlin
val IsDialog =
    AccessibilityKey<Unit>(
        name = "IsDialog",
        mergePolicy = { _, _ ->
            throw IllegalStateException(
                "merge function called on unmergeable property IsDialog. " +
                    "A dialog should not be a child of a clickable/focusable node."
            )
        },
    )
```

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

```kotlin
val Role = AccessibilityKey<Role>("Role") { parentValue, _ -> parentValue }
```

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 in [Role](/jetpack-compose/androidx.compose.ui/ui/classes/Role), this property should not be set and the framework will
automatically resolve it.

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

```kotlin
val TestTag =
    SemanticsPropertyKey<String>(
        name = "TestTag",
        isImportantForAccessibility = false,
        mergePolicy = { parentValue, _ ->
            parentValue
        },
    )
```

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

```kotlin
val LinkTestMarker =
    SemanticsPropertyKey<Unit>(
        name = "LinkTestMarker",
        isImportantForAccessibility = false,
        mergePolicy = { parentValue, _ -> parentValue },
    )
```

Marks a link within a text node (a link is represented by a
[androidx.compose.ui.text.LinkAnnotation](/jetpack-compose/androidx.compose.ui/ui-text/classes/LinkAnnotation)) for identification during automated testing. This
property is for internal use only and not intended for general use by developers.

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

```kotlin
val Text =
    AccessibilityKey<List<AnnotatedString>>(
        name = "Text",
        mergePolicy = { parentValue, childValue ->
            parentValue?.toMutableList()?.also { it.addAll(childValue) } ?: childValue
        },
    )
```

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

```kotlin
val TextSubstitution = SemanticsPropertyKey<AnnotatedString>(name = "TextSubstitution")
```

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

```kotlin
val IsShowingTextSubstitution = SemanticsPropertyKey<Boolean>("IsShowingTextSubstitution")
```

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

```kotlin
val InputText = AccessibilityKey<AnnotatedString>(name = "InputText")
```

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

```kotlin
val EditableText = AccessibilityKey<AnnotatedString>(name = "EditableText")
```

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

```kotlin
val TextSelectionRange = AccessibilityKey<TextRange>("TextSelectionRange")
```

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

```kotlin
val TextCompositionRange = AccessibilityKey<TextRange?>("TextCompositionRange")
```

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

```kotlin
val ImeAction = AccessibilityKey<ImeAction>("ImeAction")
```

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

```kotlin
val Selected = AccessibilityKey<Boolean>("Selected")
```

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

```kotlin
val ToggleableState = AccessibilityKey<ToggleableState>("ToggleableState")
```

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

```kotlin
val InputTextSuggestionState =
    AccessibilityKey<InputTextSuggestionState>("InputTextSuggestionState")
```

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

```kotlin
val Password = AccessibilityKey<Unit>("Password")
```

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

```kotlin
val Error = AccessibilityKey<String>("Error")
```

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

```kotlin
val IndexForKey = SemanticsPropertyKey<(Any) -> Int>("IndexForKey")
```

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

```kotlin
val IsEditable = SemanticsPropertyKey<Boolean>("IsEditable")
```

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

```kotlin
val MaxTextLength = SemanticsPropertyKey<Int>("MaxTextLength")
```

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

```kotlin
val Shape =
    SemanticsPropertyKey<Shape>(
        name = "Shape",
        isImportantForAccessibility = false,
        mergePolicy = { parentValue, _ ->
            parentValue
        },
    )
```