Overrides the specified attribute in the receiver or adds it if it does not exist, and sets its value to the specified value.
Deprecated
This method is deprecated. Use the new method-based API instead. For more information, see Accessibility Programming Guide for OS X or NSAccessibility
.
SDK
- macOS 10.1–10.10Deprecated
Framework
- App
Kit
Declaration
- (BOOL)accessibilitySetOverrideValue:(id)value forAttribute:(NSAccessibility Attribute Name)attribute;
Parameters
value
The attribute value to be set.
attribute
The name of the attribute. See Constants for lists of attribute names.
Return Value
YES
if the override was successful; otherwise, 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 accessibility
still returns the old list, which does not contain the new attribute. Likewise, accessibility
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 NSButton
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 NSSegmented
, which has only a single object but provides user interface elements for each segment.