<!--
{
  "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

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

Adds a label to the view that describes its contents.

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

Adds a label to the view that describes its contents.

[`accessibilityLabel(content:)`](/documentation/SwiftUI/View/accessibilityLabel(content:))

Adds a label to the view that describes its contents.

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

Sets alternate input labels with which users identify a view.

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

Sets alternate input labels with which users identify a view.

[`accessibilityLabeledPair(role:id:in:)`](/documentation/SwiftUI/View/accessibilityLabeledPair(role:id:in:))

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

### Values

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

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

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

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

### Hints

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

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

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

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

### Actions

[`accessibilityAction(_:_:)`](/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.

[`accessibilityActions(_:)`](/documentation/SwiftUI/View/accessibilityActions(_:))

Adds multiple accessibility actions to the view.

[`accessibilityActions(category:_:)`](/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.

[`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.

[`accessibilityAction(action:label:)`](/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.

[`accessibilityAction(intent:label:)`](/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.

[`accessibilityAction(_:intent:)`](/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.

[`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.

[`accessibilityAdjustableAction(_:)`](/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.

[`accessibilityScrollAction(_:)`](/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.

[`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

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

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

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

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

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

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

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

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

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

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

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

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

[`accessibilityDirectTouch(_:options:)`](/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.

[`accessibilityZoomAction(_:)`](/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

[`accessibilityElement(children:)`](/documentation/SwiftUI/View/accessibilityElement(children:))

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

[`accessibilityChildren(children:)`](/documentation/SwiftUI/View/accessibilityChildren(children:))

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

[`accessibilityHidden(_:)`](/documentation/SwiftUI/View/accessibilityHidden(_:))

Specifies whether to hide this view from system accessibility features.

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

Specifies whether to hide this view from system accessibility features.

### Custom controls

[`accessibilityRepresentation(representation:)`](/documentation/SwiftUI/View/accessibilityRepresentation(representation:))

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

[`accessibilityRespondsToUserInteraction(_:)`](/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.

[`accessibilityRespondsToUserInteraction(_:isEnabled:)`](/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

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

Add additional accessibility information to the view.

### Working with rotors

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

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

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

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

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

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

[`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

[`accessibilityRotorEntry(id:in:)`](/documentation/SwiftUI/View/accessibilityRotorEntry(id:in:))

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

[`accessibilityLinkedGroup(id:in:)`](/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.

[`accessibilitySortPriority(_:)`](/documentation/SwiftUI/View/accessibilitySortPriority(_:))

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

### Focus

[`accessibilityFocused(_:)`](/documentation/SwiftUI/View/accessibilityFocused(_:))

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

[`accessibilityFocused(_:equals:)`](/documentation/SwiftUI/View/accessibilityFocused(_:equals:))

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

[`accessibilityDefaultFocus(_:_:)`](/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

[`accessibilityAddTraits(_:)`](/documentation/SwiftUI/View/accessibilityAddTraits(_:))

Adds the given traits to the view.

[`accessibilityRemoveTraits(_:)`](/documentation/SwiftUI/View/accessibilityRemoveTraits(_:))

Removes the given traits from this view.

### Identity

[`accessibilityIdentifier(_:)`](/documentation/SwiftUI/View/accessibilityIdentifier(_:))

Uses the string you specify to identify the view.

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

Uses the string you specify to identify the view.

### Color inversion

[`accessibilityIgnoresInvertColors(_:)`](/documentation/SwiftUI/View/accessibilityIgnoresInvertColors(_:))

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

### Content descriptions

[`accessibilityTextContentType(_:)`](/documentation/SwiftUI/View/accessibilityTextContentType(_:))

Sets an accessibility text content type.

[`accessibilityHeading(_:)`](/documentation/SwiftUI/View/accessibilityHeading(_:))

Sets the accessibility level of this heading.

### VoiceOver

[`speechAdjustedPitch(_:)`](/documentation/SwiftUI/View/speechAdjustedPitch(_:))

Raises or lowers the pitch of spoken text.

[`speechAlwaysIncludesPunctuation(_:)`](/documentation/SwiftUI/View/speechAlwaysIncludesPunctuation(_:))

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

[`speechAnnouncementsQueued(_:)`](/documentation/SwiftUI/View/speechAnnouncementsQueued(_:))

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

[`speechSpellsOutCharacters(_:)`](/documentation/SwiftUI/View/speechSpellsOutCharacters(_:))

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

### Charts

[`accessibilityChartDescriptor(_:)`](/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

[`accessibilityShowsLargeContentViewer()`](/documentation/SwiftUI/View/accessibilityShowsLargeContentViewer())

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

[`accessibilityShowsLargeContentViewer(_:)`](/documentation/SwiftUI/View/accessibilityShowsLargeContentViewer(_:))

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

### Quick actions

[`accessibilityQuickAction(style:content:)`](/documentation/SwiftUI/View/accessibilityQuickAction(style:content:))

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

[`accessibilityQuickAction(style:isActive:content:)`](/documentation/SwiftUI/View/accessibilityQuickAction(style:isActive:content:))

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

### Using assistive access

[`assistiveAccessNavigationIcon(_:)`](/documentation/SwiftUI/View/assistiveAccessNavigationIcon(_:))

Configures the view’s icon for purposes of navigation.

[`assistiveAccessNavigationIcon(systemImage:)`](/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)