---
title: NSAccessibilityButton
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nsaccessibilitybutton
---

# NSAccessibilityButton

A role-based protocol that declares the minimum interface necessary for an accessibility element to act as a button.

## Declaration

```swift
protocol NSAccessibilityButton : NSAccessibilityElementProtocol
```

## Overview

Overview Use this protocol when you want a user interface element to behave like a button—a control that triggers an action when the user clicks it—in the accessibility hierarchy. You can further enhance the adopting element by implementing any of the information properties or action methods that the NSAccessibilityProtocol protocol declares. note: Any class that adopts this protocol must implement all of its methods, and the required methods of any protocol it inherits from. The compiler may require you to override some methods that your ancestors have already implemented. Simply follow the compiler’s warnings, and reimplement these methods as necessary.

## Topics

### Supporting Accessibility

- [accessibilityLabel()](appkit/nsaccessibilitybutton/accessibilitylabel().md)
- [accessibilityPerformPress()](appkit/nsaccessibilitybutton/accessibilityperformpress().md)

## Relationships

### Inherits From

- [NSAccessibilityElementProtocol](appkit/nsaccessibilityelementprotocol.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Inherited By

- [NSAccessibilityCheckBox](appkit/nsaccessibilitycheckbox.md)
- [NSAccessibilityRadioButton](appkit/nsaccessibilityradiobutton.md)
- [NSAccessibilitySwitch](appkit/nsaccessibilityswitch.md)

### Conforming Types

- [NSButton](appkit/nsbutton.md)
- [NSPopUpButton](appkit/nspopupbutton.md)
- [NSStatusBarButton](appkit/nsstatusbarbutton.md)
- [NSSwitch](appkit/nsswitch.md)

## See Also

### Buttons

- [NSAccessibilityRadioButton](appkit/nsaccessibilityradiobutton.md)
- [NSAccessibilitySwitch](appkit/nsaccessibilityswitch.md)
- [NSAccessibilityCheckBox](appkit/nsaccessibilitycheckbox.md)
