<!--
{
  "documentType" : "article",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/View-Accessibility",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Accessibility modifiers"
}
-->

# Accessibility modifiers

Make your SwiftUI apps accessible to everyone, including people with
disabilities.

## Overview

Like all Apple UI frameworks, SwiftUI comes with built-in
accessibility support. The framework introspects common elements like
navigation views, lists, text fields, sliders, buttons, and so on, and
provides basic accessibility labels and values by default. You
don’t have to do any extra work to enable these standard accessibility
features.

SwiftUI also provides tools to help you enhance the accessibility
of your app. For example, you can explicitly add accessibility labels
to elements in your UI using the [`accessibilityLabel(_:)`](/documentation/SwiftUI/View/accessibilityLabel(_:))
or the [`accessibilityValue(_:)`](/documentation/SwiftUI/View/accessibilityValue(_:)) view modifier.

To learn more about adding accessibility features to your app, see
[Accessibility fundamentals](/documentation/SwiftUI/Accessibility-fundamentals).

## Topics

### Labels

[`func accessibilityLabel(_:)`](/documentation/SwiftUI/View/accessibilityLabel(_:))

Adds a label to the view that describes its contents.

[`func accessibilityLabel(_:isEnabled:)`](/documentation/SwiftUI/View/accessibilityLabel(_:isEnabled:))

Adds a label to the view that describes its contents.

[`func accessibilityLabel<V>(content: (PlaceholderContentView<Self>) -> V) -> some View`](/documentation/SwiftUI/View/accessibilityLabel(content:))

Adds a label to the view that describes its contents.

[`func accessibilityInputLabels(_:)`](/documentation/SwiftUI/View/accessibilityInputLabels(_:))

Sets alternate input labels with which users identify a view.

[`func accessibilityInputLabels(_:isEnabled:)`](/documentation/SwiftUI/View/accessibilityInputLabels(_:isEnabled:))

Sets alternate input labels with which users identify a view.

[`func accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, in: Namespace.ID) -> some View`](/documentation/SwiftUI/View/accessibilityLabeledPair(role:id:in:))

Pairs an accessibility element representing a label with the element
for the matching content.

### Values

[`func accessibilityValue(_:)`](/documentation/SwiftUI/View/accessibilityValue(_:))

Adds a textual description of the value that the view contains.

[`func accessibilityValue(_:isEnabled:)`](/documentation/SwiftUI/View/accessibilityValue(_:isEnabled:))

Adds a textual description of the value that the view contains.

### Hints

[`func accessibilityHint(_:)`](/documentation/SwiftUI/View/accessibilityHint(_:))

Communicates to the user what happens after performing the view’s
action.

[`func accessibilityHint(_:isEnabled:)`](/documentation/SwiftUI/View/accessibilityHint(_:isEnabled:))

Communicates to the user what happens after performing the view’s
action.

### Actions

[`func accessibilityAction(AccessibilityActionKind, () -> Void) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityAction(_:_:))

Adds an accessibility action to the view. Actions allow assistive technologies,
such as the VoiceOver, to interact with the view by invoking the action.

[`func accessibilityActions<Content>(() -> Content) -> some View`](/documentation/SwiftUI/View/accessibilityActions(_:))

Adds multiple accessibility actions to the view.

[`func accessibilityActions<Content>(category: AccessibilityActionCategory, () -> Content) -> some View`](/documentation/SwiftUI/View/accessibilityActions(category:_:))

Adds multiple accessibility actions to the view with a specific
category. Actions allow assistive technologies, such as VoiceOver,
to interact with the view by invoking the action and are grouped by
their category. When multiple action modifiers with an equal category
are applied to the view, the actions are combined together.

[`func accessibilityAction(named:_:)`](/documentation/SwiftUI/View/accessibilityAction(named:_:))

Adds an accessibility action to the view. Actions allow assistive
technologies, such as the VoiceOver, to interact with the view by
invoking the action.

[`func accessibilityAction<Label>(action: () -> Void, label: () -> Label) -> some View`](/documentation/SwiftUI/View/accessibilityAction(action:label:))

Adds an accessibility action to the view. Actions allow assistive technologies,
such as the VoiceOver, to interact with the view by invoking the action.

[`func accessibilityAction<I, Label>(intent: I, label: () -> Label) -> some View`](/documentation/SwiftUI/View/accessibilityAction(intent:label:))

Adds an accessibility action labeled by the contents of `label` to the view.
Actions allow assistive technologies, such as the VoiceOver, to interact
with the view by invoking the action. When the action is performed, the
`intent` will be invoked.

[`func accessibilityAction<I>(AccessibilityActionKind, intent: I) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityAction(_:intent:))

Adds an accessibility action representing `actionKind` to the view.
Actions allow assistive technologies, such as the VoiceOver, to interact
with the view by invoking the action. When the action is performed,
the `intent` will be invoked.

[`func accessibilityAction(named:intent:)`](/documentation/SwiftUI/View/accessibilityAction(named:intent:))

Adds an accessibility action labeled `name` to the view. Actions allow
assistive technologies, such as the VoiceOver, to interact with the view
by invoking the action. When the action is performed, the `intent` will
be invoked.

[`func accessibilityAdjustableAction((AccessibilityAdjustmentDirection) -> Void) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityAdjustableAction(_:))

Adds an accessibility adjustable action to the view. Actions allow
assistive technologies, such as the VoiceOver, to interact with the
view by invoking the action.

[`func accessibilityScrollAction((Edge) -> Void) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityScrollAction(_:))

Adds an accessibility scroll action to the view. Actions allow
assistive technologies, such as the VoiceOver, to interact with the
view by invoking the action.

[`func accessibilityScrollStatus(_:isEnabled:)`](/documentation/SwiftUI/View/accessibilityScrollStatus(_:isEnabled:))

Changes the announcement provided by accessibility technologies
when a user scrolls a scroll view within this view.

### Gestures

[`func accessibilityActivationPoint(_:)`](/documentation/SwiftUI/View/accessibilityActivationPoint(_:))

The activation point for an element is the location
assistive technologies use to initiate gestures.

[`func accessibilityActivationPoint(_:isEnabled:)`](/documentation/SwiftUI/View/accessibilityActivationPoint(_:isEnabled:))

The activation point for an element is the location
assistive technologies use to initiate gestures.

[`func accessibilityDragPoint(_:description:)`](/documentation/SwiftUI/View/accessibilityDragPoint(_:description:))

The point an assistive technology should use to begin a drag interaction.

[`func accessibilityDragPoint(_:description:isEnabled:)`](/documentation/SwiftUI/View/accessibilityDragPoint(_:description:isEnabled:))

The point an assistive technology should use to begin a drag interaction.

[`func accessibilityDropPoint(_:description:)`](/documentation/SwiftUI/View/accessibilityDropPoint(_:description:))

The point an assistive technology should use to end a drag interaction.

[`func accessibilityDropPoint(_:description:isEnabled:)`](/documentation/SwiftUI/View/accessibilityDropPoint(_:description:isEnabled:))

The point an assistive technology should use to end a drag interaction.

[`func accessibilityDirectTouch(Bool, options: AccessibilityDirectTouchOptions) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityDirectTouch(_:options:))

Explicitly set whether this accessibility element is a direct touch
area. Direct touch areas passthrough touch events to the app rather
than being handled through an assistive technology, such as VoiceOver.
The modifier accepts an optional `AccessibilityDirectTouchOptions`
option set to customize the functionality of the direct touch area.

[`func accessibilityZoomAction((AccessibilityZoomGestureAction) -> Void) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityZoomAction(_:))

Adds an accessibility zoom action to the view. Actions allow
assistive technologies, such as VoiceOver, to interact with the
view by invoking the action.

### Elements

[`func accessibilityElement(children: AccessibilityChildBehavior) -> some View`](/documentation/SwiftUI/View/accessibilityElement(children:))

Creates a new accessibility element, or modifies the
[`AccessibilityChildBehavior`](/documentation/SwiftUI/AccessibilityChildBehavior) of the existing accessibility element.

[`func accessibilityChildren<V>(children: () -> V) -> some View`](/documentation/SwiftUI/View/accessibilityChildren(children:))

Replaces the existing accessibility element’s children with one or
more new synthetic accessibility elements.

[`func accessibilityHidden(Bool) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityHidden(_:))

Specifies whether to hide this view from system accessibility features.

[`func accessibilityHidden(Bool, isEnabled: Bool) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityHidden(_:isEnabled:))

Specifies whether to hide this view from system accessibility features.

### Custom controls

[`func accessibilityRepresentation<V>(representation: () -> V) -> some View`](/documentation/SwiftUI/View/accessibilityRepresentation(representation:))

Replaces one or more accessibility elements for this view with new
accessibility elements.

[`func accessibilityRespondsToUserInteraction(Bool) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityRespondsToUserInteraction(_:))

Explicitly set whether this Accessibility element responds to user
interaction and would thus be interacted with by technologies such as
Switch Control, Voice Control or Full Keyboard Access.

[`func accessibilityRespondsToUserInteraction(Bool, isEnabled: Bool) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityRespondsToUserInteraction(_:isEnabled:))

Explicitly set whether this Accessibility element responds to user
interaction and would thus be interacted with by technologies such as
Switch Control, Voice Control or Full Keyboard Access.

### Custom content

[`func accessibilityCustomContent(_:_:importance:)`](/documentation/SwiftUI/View/accessibilityCustomContent(_:_:importance:))

Add additional accessibility information to the view.

### Working with rotors

[`func accessibilityRotor(_:entries:)`](/documentation/SwiftUI/View/accessibilityRotor(_:entries:))

Create an Accessibility Rotor with the specified user-visible label,
and entries generated from the content closure.

[`func accessibilityRotor(_:entries:entryID:entryLabel:)`](/documentation/SwiftUI/View/accessibilityRotor(_:entries:entryID:entryLabel:))

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

[`func accessibilityRotor(_:entries:entryLabel:)`](/documentation/SwiftUI/View/accessibilityRotor(_:entries:entryLabel:))

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

[`func accessibilityRotor(_:textRanges:)`](/documentation/SwiftUI/View/accessibilityRotor(_:textRanges:))

Create an Accessibility Rotor with the specified user-visible label
and entries for each of the specified ranges. The Rotor will be attached
to the current Accessibility element, and each entry will go the
specified range of that element.

### Configuring rotors

[`func accessibilityRotorEntry<ID>(id: ID, in: Namespace.ID) -> some View`](/documentation/SwiftUI/View/accessibilityRotorEntry(id:in:))

Defines an explicit identifier tying an Accessibility element for this
view to an entry in an Accessibility Rotor.

[`func accessibilityLinkedGroup<ID>(id: ID, in: Namespace.ID) -> some View`](/documentation/SwiftUI/View/accessibilityLinkedGroup(id:in:))

Links multiple accessibility elements so that the user can quickly
navigate from one element to another, even when the elements are not near
each other in the accessibility hierarchy.

[`func accessibilitySortPriority(Double) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilitySortPriority(_:))

Sets the sort priority order for this view’s accessibility element,
relative to other elements at the same level.

### Focus

[`func accessibilityFocused(AccessibilityFocusState<Bool>.Binding) -> some View`](/documentation/SwiftUI/View/accessibilityFocused(_:))

Modifies this view by binding its accessibility element’s focus state
to the given boolean state value.

[`func accessibilityFocused<Value>(AccessibilityFocusState<Value>.Binding, equals: Value) -> some View`](/documentation/SwiftUI/View/accessibilityFocused(_:equals:))

Modifies this view by binding its accessibility element’s focus state to
the given state value.

[`func accessibilityDefaultFocus<Value>(AccessibilityFocusState<Value>.Binding, Value) -> some View`](/documentation/SwiftUI/View/accessibilityDefaultFocus(_:_:))

Defines a region in which default accessibility focus is evaluated by
assigning a value to a given accessibility focus state binding.

### Traits

[`func accessibilityAddTraits(AccessibilityTraits) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityAddTraits(_:))

Adds the given traits to the view.

[`func accessibilityRemoveTraits(AccessibilityTraits) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityRemoveTraits(_:))

Removes the given traits from this view.

### Identity

[`func accessibilityIdentifier(String) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityIdentifier(_:))

Uses the string you specify to identify the view.

[`func accessibilityIdentifier(String, isEnabled: Bool) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityIdentifier(_:isEnabled:))

Uses the string you specify to identify the view.

### Color inversion

[`func accessibilityIgnoresInvertColors(Bool) -> some View`](/documentation/SwiftUI/View/accessibilityIgnoresInvertColors(_:))

Sets whether this view should ignore the system Smart Invert setting.

### Content descriptions

[`func accessibilityTextContentType(AccessibilityTextContentType) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityTextContentType(_:))

Sets an accessibility text content type.

[`func accessibilityHeading(AccessibilityHeadingLevel) -> ModifiedContent<Self, AccessibilityAttachmentModifier>`](/documentation/SwiftUI/View/accessibilityHeading(_:))

Sets the accessibility level of this heading.

### VoiceOver

[`func speechAdjustedPitch(Double) -> some View`](/documentation/SwiftUI/View/speechAdjustedPitch(_:))

Raises or lowers the pitch of spoken text.

[`func speechAlwaysIncludesPunctuation(Bool) -> some View`](/documentation/SwiftUI/View/speechAlwaysIncludesPunctuation(_:))

Sets whether VoiceOver should always speak all punctuation in the text
view.

[`func speechAnnouncementsQueued(Bool) -> some View`](/documentation/SwiftUI/View/speechAnnouncementsQueued(_:))

Controls whether to queue pending announcements behind existing speech
rather than interrupting speech in progress.

[`func speechSpellsOutCharacters(Bool) -> some View`](/documentation/SwiftUI/View/speechSpellsOutCharacters(_:))

Sets whether VoiceOver should speak the contents of the text view
character by character.

### Charts

[`func accessibilityChartDescriptor<R>(R) -> some View`](/documentation/SwiftUI/View/accessibilityChartDescriptor(_:))

Adds a descriptor to a View that represents a chart to make
the chart’s contents accessible to all users.

### Large content

[`func accessibilityShowsLargeContentViewer() -> some View`](/documentation/SwiftUI/View/accessibilityShowsLargeContentViewer())

Adds a default large content view to be shown by
the large content viewer.

[`func accessibilityShowsLargeContentViewer<V>(() -> V) -> some View`](/documentation/SwiftUI/View/accessibilityShowsLargeContentViewer(_:))

Adds a custom large content view to be shown by
the large content viewer.

### Quick actions

[`func accessibilityQuickAction<Style, Content>(style: Style, content: () -> Content) -> some View`](/documentation/SwiftUI/View/accessibilityQuickAction(style:content:))

Adds a quick action to be shown by the system when active.

[`func accessibilityQuickAction<Style, Content>(style: Style, isActive: Binding<Bool>, content: () -> Content) -> some View`](/documentation/SwiftUI/View/accessibilityQuickAction(style:isActive:content:))

Adds a quick action to be shown by the system when active.

### Using assistive access

[`func assistiveAccessNavigationIcon(Image) -> some View`](/documentation/SwiftUI/View/assistiveAccessNavigationIcon(_:))

Configures the view’s icon for purposes of navigation.

[`func assistiveAccessNavigationIcon(systemImage: String) -> some View`](/documentation/SwiftUI/View/assistiveAccessNavigationIcon(systemImage:))

Configures the view’s icon for purposes of navigation.



---

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)