<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIAccessibilityTraits",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:@T@UIAccessibilityTraits"
  },
  "title" : "UIAccessibilityTraits"
}
-->

# UIAccessibilityTraits

Constants that describe how an accessibility element behaves.

```
struct UIAccessibilityTraits
```

## Overview

Set these traits to tell an assistive app how an accessibility element behaves or how to treat it.

## Topics

### Constants

[`static let none: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/none)

The accessibility element has no traits.

[`static let button: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/button)

The accessibility element behaves like a button.

[`static let link: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/link)

The accessibility element behaves like a link.

[`static let image: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/image)

The accessibility element behaves like an image.

[`static let searchField: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/searchField)

The accessibility element behaves like a search field.

[`static let toggleButton: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/toggleButton)

The accessibility element behaves like a toggle button.

[`static let keyboardKey: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/keyboardKey)

The accessibility element behaves like a keyboard key.

[`static let staticText: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/staticText)

The accessibility element behaves like static text that can’t change.

[`static let header: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/header)

The accessibility element is a header that divides content into sections, such as the title of a navigation bar.

[`static let tabBar: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/tabBar)

The accessibility element behaves like a tab bar.

[`static let summaryElement: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/summaryElement)

The accessibility element provides summary information when the app starts.

[`static let selected: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/selected)

The accessibility element is currently in a selected state.

[`static let notEnabled: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/notEnabled)

The accessibility element isn’t in an enabled state and doesn’t respond to user interaction.

[`static let adjustable: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/adjustable)

The accessibility element allows continuous adjustment through a range of values.

[`static let allowsDirectInteraction: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/allowsDirectInteraction)

The accessibility element allows direct touch interaction for VoiceOver users.

[`static let updatesFrequently: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/updatesFrequently)

The accessibility element frequently updates its label or value.

[`static let causesPageTurn: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/causesPageTurn)

The accessibility element causes an automatic page turn when VoiceOver finishes reading the text within it.

[`static let playsSound: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/playsSound)

The accessibility element plays its own sound when the user activates it.

[`static let startsMediaSession: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/startsMediaSession)

The accessibility element starts a media session when the user activates it.

[`static let supportsZoom: UIAccessibilityTraits`](/documentation/UIKit/UIAccessibilityTraits/supportsZoom)

The accessibility element supports zooming in and out on its content.

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`OptionSet`](/documentation/Swift/OptionSet)

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

[`ExpressibleByArrayLiteral`](/documentation/Swift/ExpressibleByArrayLiteral)

[`Escapable`](/documentation/Swift/Escapable)

[`SetAlgebra`](/documentation/Swift/SetAlgebra)

[`Equatable`](/documentation/Swift/Equatable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`Copyable`](/documentation/Swift/Copyable)

[`BitwiseCopyable`](/documentation/Swift/BitwiseCopyable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)