<!--
{
  "availability" : [
    "iOS: 3.0.0 -",
    "iPadOS: 3.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIAccessibilityElement",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIAccessibilityElement"
  },
  "title" : "UIAccessibilityElement"
}
-->

# UIAccessibilityElement

An element that should be accessible to users with disabilities, but that isn’t accessible by default.

```
@MainActor class UIAccessibilityElement
```

## Overview

You can use [`UIAccessibilityElement`](/documentation/UIKit/UIAccessibilityElement) to provide information about an icon or text image that isn’t automatically accessible because it doesn’t inherit from [`UIView`](/documentation/UIKit/UIView) (or [`UIControl`](/documentation/UIKit/UIControl)). A view that contains such nonview items creates an instance of [`UIAccessibilityElement`](/documentation/UIKit/UIAccessibilityElement) to represent each item that needs to be accessible.

The properties of an accessibility element provide information about the element, such as location and current value, to an assistive application. You might need to set an element’s property even if you don’t need to create an instance of `UIAccessibilityElement` to represent it. For example, if your app includes a button with a custom icon that means “solve,” the button itself is already represented by an accessibility element because it’s a subclass of [`UIButton`](/documentation/UIKit/UIButton). However, you need to supply information for the label and hint properties because this information is unique to this button. You can do this in Interface Builder or by setting the properties in the <doc://com.apple.documentation/documentation/UIKit/uiaccessibility-protocol> informal protocol.

## Topics

### Creating an accessibility element

[`-  initWithAccessibilityContainer:`](/documentation/UIKit/UIAccessibilityElement/init(accessibilityContainer:))

Creates and initializes an accessibility element to represent an item in the specified container.

### Accessing the containing view

[`accessibilityContainer`](/documentation/UIKit/UIAccessibilityElement/accessibilityContainer)

The view that contains the accessibility element.

### Determining accessibility

[`isAccessibilityElement`](/documentation/UIKit/UIAccessibilityElement/isAccessibilityElement)

A Boolean value indicating whether the item is an accessibility element an assistive application can access.

### Accessing the attributes of an accessibility element

[`accessibilityLabel`](/documentation/UIKit/UIAccessibilityElement/accessibilityLabel)

A string that succinctly identifies the accessibility element.

[`accessibilityHint`](/documentation/UIKit/UIAccessibilityElement/accessibilityHint)

A string that briefly describes the result of performing an action on the accessibility element.

[`accessibilityValue`](/documentation/UIKit/UIAccessibilityElement/accessibilityValue)

A string that represents the current value of the accessibility element.

[`accessibilityFrame`](/documentation/UIKit/UIAccessibilityElement/accessibilityFrame)

The frame of the accessibility element, in screen coordinates.

[`accessibilityFrameInContainerSpace`](/documentation/UIKit/UIAccessibilityElement/accessibilityFrameInContainerSpace)

The frame of the accessibility element, in the coordinate space of its container view.

[`accessibilityTraits`](/documentation/UIKit/UIAccessibilityElement/accessibilityTraits)

The combination of traits that best characterize the accessibility element.

## Relationships

### Conforms To

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`UIAccessibilityIdentification`](/documentation/UIKit/UIAccessibilityIdentification)

[`UIResponderStandardEditActions`](/documentation/UIKit/UIResponderStandardEditActions)

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

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

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

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

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

[`UIUserActivityRestoring`](/documentation/UIKit/UIUserActivityRestoring)

[`NSTouchBarProvider`](/documentation/AppKit/NSTouchBarProvider)

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

[`UIActivityItemsConfigurationProviding`](/documentation/UIKit/UIActivityItemsConfigurationProviding)

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

[`UIPasteConfigurationSupporting`](/documentation/UIKit/UIPasteConfigurationSupporting)

### Inherits From

[`UIResponder`](/documentation/UIKit/UIResponder)

---

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)