<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/AXChartDescriptorRepresentable",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI30AXChartDescriptorRepresentableP"
  },
  "title" : "AXChartDescriptorRepresentable"
}
-->

# AXChartDescriptorRepresentable

A type to generate an `AXChartDescriptor` object that you use to provide
information about a chart and its data for an accessible experience
in VoiceOver or other assistive technologies.

```
protocol AXChartDescriptorRepresentable
```

## Overview

Note that you may use the `@Environment` property wrapper inside the
implementation of your `AXChartDescriptorRepresentable`, in which case you
should implement `updateChartDescriptor`, which will be called when the
`Environment` changes.

For example, to provide accessibility for a view that represents a chart,
you would first declare your chart descriptor representable type:

```
struct MyChartDescriptorRepresentable: AXChartDescriptorRepresentable {
    func makeChartDescriptor() -> AXChartDescriptor {
        // Build and return your `AXChartDescriptor` here.
    }

    func updateChartDescriptor(_ descriptor: AXChartDescriptor) {
        // Update your chart descriptor with any new values.
    }
}
```

Then, provide an instance of your `AXChartDescriptorRepresentable` type to
your view using the `accessibilityChartDescriptor` modifier:

```
var body: some View {
    MyChartView()
        .accessibilityChartDescriptor(MyChartDescriptorRepresentable())
}
```

## Topics

### Managing a descriptor

[`makeChartDescriptor()`](/documentation/SwiftUI/AXChartDescriptorRepresentable/makeChartDescriptor())

Create the `AXChartDescriptor` for this view, and return it.

[`updateChartDescriptor(_:)`](/documentation/SwiftUI/AXChartDescriptorRepresentable/updateChartDescriptor(_:))

Update the existing `AXChartDescriptor` for your view, based on changes
in your view or in the `Environment`.



---

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)