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

# NSAccessibilityTable

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

```
protocol NSAccessibilityTable : NSAccessibilityGroup
```

## Overview

Use this protocol when you want a user interface element to behave like a table—a view that uses a row-and-column format to display a set of related records and their attributes—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

[`accessibilityColumnHeaderUIElements()`](/documentation/AppKit/NSAccessibilityTable/accessibilityColumnHeaderUIElements())

Returns the column header accessibility elements for the table.

[`accessibilityColumns()`](/documentation/AppKit/NSAccessibilityTable/accessibilityColumns())

Returns the column accessibility elements for the table.

[`accessibilityLabel()`](/documentation/AppKit/NSAccessibilityTable/accessibilityLabel())

Returns a short description of the table.

[`accessibilityRowHeaderUIElements()`](/documentation/AppKit/NSAccessibilityTable/accessibilityRowHeaderUIElements())

Returns the row header accessibility elements for the table.

[`accessibilityRows()`](/documentation/AppKit/NSAccessibilityTable/accessibilityRows())

Returns the row accessibility elements for the table.

[`accessibilitySelectedCells()`](/documentation/AppKit/NSAccessibilityTable/accessibilitySelectedCells())

The currently selected cells for the table.

[`accessibilitySelectedColumns()`](/documentation/AppKit/NSAccessibilityTable/accessibilitySelectedColumns())

Returns the currently selected columns for the table.

[`accessibilitySelectedRows()`](/documentation/AppKit/NSAccessibilityTable/accessibilitySelectedRows())

Returns the currently selected rows for the table.

[`accessibilityVisibleCells()`](/documentation/AppKit/NSAccessibilityTable/accessibilityVisibleCells())

Returns the visible cells for the table.

[`accessibilityVisibleColumns()`](/documentation/AppKit/NSAccessibilityTable/accessibilityVisibleColumns())

Returns the visible columns for the table.

[`accessibilityVisibleRows()`](/documentation/AppKit/NSAccessibilityTable/accessibilityVisibleRows())

Returns the visible rows for the table.

[`setAccessibilitySelectedRows(_:)`](/documentation/AppKit/NSAccessibilityTable/setAccessibilitySelectedRows(_:))

Sets the table’s currently selected rows.

[`accessibilityHeaderGroup()`](/documentation/AppKit/NSAccessibilityTable/accessibilityHeaderGroup())

Returns the header group for the table.



---

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)