<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/View/accessibilityRotor(_:entries:entryLabel:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI4ViewPAAE18accessibilityRotor_7entries10entryLabelQr10Foundation23LocalizedStringResourceV_Sayqd__Gs7KeyPathCyqd__SSGts12IdentifiableRd__lF::OverloadGroup"
  },
  "title" : "accessibilityRotor(_:entries:entryLabel:)"
}
-->

# accessibilityRotor(_:entries:entryLabel:)

Create an Accessibility Rotor with the specified user-visible label
and entries.

```
@export(implementation) nonisolated func accessibilityRotor<EntryModel>(_ rotorLabelResource: LocalizedStringResource, entries: [EntryModel], entryLabel: KeyPath<EntryModel, String>) -> some View where EntryModel : Identifiable
```

## Parameters

`rotorLabelResource`

Localized label identifying this Rotor to the
user.

`entries`

An array of identifiable values that will be
used to generate the entries of the Rotor. The identifiers
of the `Identifiable` values must match up with identifiers in a
`ForEach` or explicit `id` calls within the `ScrollView`.
When the user navigates to entries from this Rotor, SwiftUI will
automatically scroll them into place as needed.

`entryLabel`

Key path on the `Identifiable` type that can be
used to get a user-visible label for every Rotor entry. This is used
on macOS when the user opens the list of entries for the Rotor.

## Discussion

An Accessibility Rotor is a shortcut for Accessibility users to
quickly navigate to specific elements of the user interface,
and optionally specific ranges of text within those elements.

Using this modifier requires
that the Rotor be attached to a `ScrollView`, or an Accessibility
Element directly within a `ScrollView`, such as a `ForEach`.

In the following example, a Message application creates a Rotor
allowing users to navigate to specifically the messages originating from
VIPs.

```
// `messages` is a list of `Identifiable` `Message`s that have a
// `subject`.
// `vipMessages` is a filtered version of that list containing only
// messages from VIPs.

ScrollView {
    LazyVStack {
        ForEach(messages) { message in
            MessageView(message)
        }
    }
}
.accessibilityElement(children: .contain)
.accessibilityRotor("VIPs", entries: vipMessages,
    entryLabel: \.subject)
```

---

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)