Copy
.accessibilityAddTraits(traits: AccessibilityTraits | AccessibilityTraits[]): Component;
Parameters
The accessibility traits to add to this view. Can be a single trait or an array of traits.
Show AccessibilityTraits Values
Show AccessibilityTraits Values
"isButton"- Element behaves like a button"isLink"- Element behaves like a link"isSearchField"- Element is a search field"isImage"- Element is an image"isSelected"- Element is currently selected"playsSound"- Element plays sound when activated"isKeyboardKey"- Element behaves like a keyboard key"isStaticText"- Element contains static text"isSummaryElement"- Element provides summary information"updatesFrequently"- Element updates frequently"startsMediaSession"- Element starts media playback"allowsDirectInteraction"- Element allows direct touch interaction"causesPageTurn"- Element causes page navigation"isModal"- Element is modal"isHeader"- Element is a header
Support
Usage
Custom button
Copy
Rectangle()
.fill(Color("blue"))
.overlay(Text("Custom Button"))
.accessibilityLabel("Custom action")
.accessibilityAddTraits("isButton")
.onTapGesture(() => {
performAction()
})
Search field
Copy
const [searchText, setSearchText] = useState("")
TextField({ placeholder: "Search products...", text: searchText, setText: setSearchText })
.accessibilityAddTraits("isSearchField")
Selected item
Copy
HStack([
Image("checkmark"),
Text("Selected item")
]).accessibilityAddTraits(["isSelected", "isButton"])
.onTapGesture(() => {
toggleSelection()
})
Media player button
Copy
Button("Play", () => {})
.accessibilityAddTraits(["isButton", "startsMediaSession"])
.onTapGesture(() => {
startPlayback()
})
Link behavior
Copy
Text("Learn more")
.foregroundStyle(Color("blue"))
.accessibilityAddTraits("isLink")
.onTapGesture(() => {
openURL("https://example.com")
})
Multiple traits
Copy
VStack([
Image("notification-icon"),
Text("Updates available")
]).accessibilityAddTraits(["isButton", "updatesFrequently"])
.onTapGesture(() => {
checkForUpdates()
})
Header element
Copy
Text("Section Title")
.font(.headline)
.accessibilityAddTraits("isHeader")
Interactive image
Copy
Image("photo.jpg")
.accessibilityLabel("Profile photo")
.accessibilityAddTraits(["isImage", "isButton"])
.onTapGesture(() => {
showFullScreen()
})
