<!--
{
  "availability" : [
    "macOS: 10.1.0 - 10.10.0"
  ],
  "documentType" : "symbol",
  "framework" : "ObjectiveC",
  "identifier" : "/documentation/ObjectiveC/NSObject-swift.class/accessibilitySetOverrideValue(_:forAttribute:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Objective-C Runtime",
      "ObjectiveC"
    ],
    "preciseIdentifier" : "c:objc(cs)NSObject(im)accessibilitySetOverrideValue:forAttribute:"
  },
  "title" : "accessibilitySetOverrideValue(_:forAttribute:)"
}
-->

# accessibilitySetOverrideValue(_:forAttribute:)

Overrides the specified attribute in the receiver or adds it if it does not exist, and sets its value to the specified value.

```
func accessibilitySetOverrideValue(_ value: Any?, forAttribute attribute: NSAccessibility.Attribute) -> Bool
```

## Parameters

`value`

The attribute value to be set.

`attribute`

The name of the attribute. See <doc://com.apple.documentation/documentation/AppKit/nsaccessibility> constants for lists of attribute names.

## Return Value

[`YES`](/documentation/ObjectiveC/YES) if the override was successful; otherwise, [`NO`](/documentation/ObjectiveC/NO).

## Discussion

This method is for changing the set of attributes on an instance, as an alternative to subclassing.

This method works only on objects whose class already implements the `NSAccessibility` protocol. If the specified attribute is already supported by the object, the value specified by this method wins.

If the specified attribute does not exist, it is created outside the `NSAccessibility` protocol, so `accessibilityAttributeNames` still returns the old list, which does not contain the new attribute. Likewise, `accessibilityAttributeValue` does not return attributes created by the override process nor does it return their overridden values.

The values of overridden attributes are not settable by accessibility clients.

If you need to undo the effect of using this method, call it again, passing `nil` for the value.

Ensure that you invoke this method on the actual object that represents the user interface element. For example, for `NSButton`, use the underlying `NSButtonCell` object. `NSButton` itself is ignored by accessibility.

This method works only on an object representing a single user interface element. So, for example, you cannot use it when a single object represents multiple user interface elements, as with `NSSegmentedCell`, which has only a single object but provides user interface elements for each segment.

---

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)