<!--
{
  "availability" : [
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSAccessibilityButton",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(pl)NSAccessibilityButton"
  },
  "title" : "NSAccessibilityButton"
}
-->

# NSAccessibilityButton

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

```
protocol NSAccessibilityButton : NSAccessibilityElementProtocol
```

## 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`](/documentation/AppKit/NSAccessibilityProtocol) protocol declares.

> Explicit Implementation Required:
> 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()`](/documentation/AppKit/NSAccessibilityButton/accessibilityLabel())

Returns a short description of the button.

[`accessibilityPerformPress()`](/documentation/AppKit/NSAccessibilityButton/accessibilityPerformPress())

Simulates clicking the button.



---

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)