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

# NSAccessibilityOutline

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

```
protocol NSAccessibilityOutline : NSAccessibilityTable
```

## Overview

Use this protocol when you want a user interface element to behave like an outline—a view that uses a row-and-column format to display hierarchical data that can expand and collapse—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.

Although the [`NSAccessibilityOutline`](/documentation/AppKit/NSAccessibilityOutline) protocol doesn’t declare any methods, it does conform to the [`NSAccessibilityTable`](/documentation/AppKit/NSAccessibilityTable) protocol. You may need to explicitly implement methods from any of the protocols that [`NSAccessibilityOutline`](/documentation/AppKit/NSAccessibilityOutline) conforms to.

---

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)