---
title: UIAccessibility
framework: uikit
role: collectionGroup
role_heading: API Collection
path: uikit/uiaccessibility-protocol
---

# UIAccessibility

A set of methods that provides accessibility information about views and controls in an app’s user interface.

## Overview

Overview The UIAccessibility informal protocol provides accessibility information about an app’s user interface elements. Assistive apps, such as VoiceOver, convey this information to users with disabilities to help them use the app. Standard UIKit controls and views implement the UIAccessibility methods and are accessible to assistive apps by default. This means that if your app uses only standard controls and views, such as UIButton, UISegmentedControl, and UITableView, you need only supply app-specific details when the default values are incomplete. You can do this by setting these values in Interface Builder or by setting the properties in this informal protocol. The UIAccessibilityElement class, which represents custom user interface objects, also implements the UIAccessibility informal protocol. If you create a completely custom UIView subclass, you might need to create an instance of UIAccessibilityElement to represent it. In this case, you’d support all the UIAccessibility properties to correctly set and return the accessibility element’s properties.

## Topics

### Supporting basic accessibility

- [isAccessibilityElement](objectivec/nsobject-swift.class/isaccessibilityelement.md)
- [accessibilityLabel](objectivec/nsobject-swift.class/accessibilitylabel.md)
- [accessibilityValue](objectivec/nsobject-swift.class/accessibilityvalue.md)
- [accessibilityHint](objectivec/nsobject-swift.class/accessibilityhint.md)
- [accessibilityTraits](objectivec/nsobject-swift.class/accessibilitytraits.md)
- [UIAccessibilityTraits](uikit/uiaccessibilitytraits.md)

### Defining accessibility text and language

- [Speech attributes for attributed strings](uikit/speech-attributes-for-attributed-strings.md)
- [Text attributes for attributed strings](uikit/text-attributes-for-attributed-strings.md)
- [accessibilityHeaderElements](objectivec/nsobject-swift.class/accessibilityheaderelements.md)
- [accessibilityAttributedHint](objectivec/nsobject-swift.class/accessibilityattributedhint.md)
- [accessibilityAttributedLabel](objectivec/nsobject-swift.class/accessibilityattributedlabel.md)
- [accessibilityLanguage](objectivec/nsobject-swift.class/accessibilitylanguage.md)
- [accessibilityTextualContext](objectivec/nsobject-swift.class/accessibilitytextualcontext.md)
- [accessibilityUserInputLabels](objectivec/nsobject-swift.class/accessibilityuserinputlabels.md)
- [accessibilityAttributedUserInputLabels](objectivec/nsobject-swift.class/accessibilityattributeduserinputlabels.md)
- [accessibilityAttributedValue](objectivec/nsobject-swift.class/accessibilityattributedvalue.md)

### Configuring behavior

- [accessibilityCustomRotors](objectivec/nsobject-swift.class/accessibilitycustomrotors.md)
- [accessibilityElementsHidden](objectivec/nsobject-swift.class/accessibilityelementshidden.md)
- [accessibilityRespondsToUserInteraction](objectivec/nsobject-swift.class/accessibilityrespondstouserinteraction.md)
- [accessibilityViewIsModal](objectivec/nsobject-swift.class/accessibilityviewismodal.md)
- [shouldGroupAccessibilityChildren](objectivec/nsobject-swift.class/shouldgroupaccessibilitychildren.md)
- [accessibilityDirectTouchOptions](objectivec/nsobject-swift.class/accessibilitydirecttouchoptions.md)
- [UIAccessibility.DirectTouchOptions](uikit/uiaccessibility/directtouchoptions.md)

### Handling notifications

- [Notification names](uikit/notification-names.md)
- [Notification dictionary keys](uikit/notification-dictionary-keys.md)
- [UIAccessibility.Notification](uikit/uiaccessibility/notification.md)
- [post(notification:argument:)](uikit/uiaccessibility/post(notification:argument:).md)

### Navigating elements

- [UIAccessibilityContainer](uikit/uiaccessibilitycontainer.md)
- [accessibilityActivationPoint](objectivec/nsobject-swift.class/accessibilityactivationpoint.md)
- [accessibilityFocusedUIElement](objectivec/nsobject-swift.class/accessibilityfocuseduielement.md)
- [accessibilityFrame](objectivec/nsobject-swift.class/accessibilityframe.md)
- [accessibilityHitTest(_:)](objectivec/nsobject-swift.class/accessibilityhittest(_:).md)
- [accessibilityNavigationStyle](objectivec/nsobject-swift.class/accessibilitynavigationstyle.md)
- [UIAccessibilityNavigationStyle](uikit/uiaccessibilitynavigationstyle.md)
- [accessibilityPath](objectivec/nsobject-swift.class/accessibilitypath.md)
- [zoomFocusChanged(zoomType:toFrame:in:)](uikit/uiaccessibility/zoomfocuschanged(zoomtype:toframe:in:).md)
- [UIAccessibility.ZoomType](uikit/uiaccessibility/zoomtype.md)
- [assistiveTouch](uikit/uiguidedaccessaccessibilityfeature/assistivetouch.md)

### Supporting types

- [AXArrayReturnBlock](uikit/axarrayreturnblock.md)
- [AXAttributedStringArrayReturnBlock](uikit/axattributedstringarrayreturnblock.md)
- [AXAttributedStringReturnBlock](uikit/axattributedstringreturnblock.md)
- [AXBoolReturnBlock](uikit/axboolreturnblock.md)
- [AXContainerTypeReturnBlock](uikit/axcontainertypereturnblock.md)
- [AXCustomActionsReturnBlock](uikit/axcustomactionsreturnblock.md)
- [AXCustomRotorsReturnBlock](uikit/axcustomrotorsreturnblock.md)
- [AXNavigationStyleReturnBlock](uikit/axnavigationstylereturnblock.md)
- [AXObjectReturnBlock](uikit/axobjectreturnblock.md)
- [AXPathReturnBlock](uikit/axpathreturnblock.md)
- [AXPointReturnBlock](uikit/axpointreturnblock.md)
- [AXRectReturnBlock](uikit/axrectreturnblock.md)
- [AXStringArrayReturnBlock](uikit/axstringarrayreturnblock.md)
- [AXStringReturnBlock](uikit/axstringreturnblock.md)
- [AXTextualContextReturnBlock](uikit/axtextualcontextreturnblock.md)
- [AXTraitsReturnBlock](uikit/axtraitsreturnblock.md)
- [AXUITextInputReturnBlock](uikit/axuitextinputreturnblock.md)
- [AXVoidReturnBlock](uikit/axvoidreturnblock.md)
- [UIAccessibility](uikit/uiaccessibility.md)

## See Also

### Related Documentation

- [Accessibility](accessibility.md)
- [Accessibility for UIKit](uikit/accessibility-for-uikit.md)

### Essentials

- [UIAccessibilityContainer](uikit/uiaccessibilitycontainer.md)
- [Supporting VoiceOver in your app](uikit/supporting-voiceover-in-your-app.md)
