Mac Developer Library

Developer

AXAttributeConstants.h Reference

Options
Deployment Target:

On This Page
Language:

AXAttributeConstants.h Reference

Inheritance


Not Applicable

Conforms To


Not Applicable

Import Statement


Swift

import ApplicationServices

Objective-C

@import ApplicationServices;

Each UIElement has a set of attributes that assistive applications use to get information about the UIElement. The list of attributes vary depending on the type of UIElement. The value of some attributes can be changed, while others cannot. For example, changing the "value" attribute of a slider changes the slider's setting.

Attribute values are stored as Core Foundation types, CFTypeRefs, and are reference counted (CFRetain/CFRelease). Some attributes have a particular type associated with them. For example, the "title" attribute, if defined, always has a string value, regardless of the type of UIElement from which it is obtained. A UIElement's "value" attribute, however, varies with the UIElement. For example, a text field's value is a string whereas a checkbox's value is a boolean. You need to explictly test the returned objects, using the CFGetTypeID function, for what type they really are.

Finally, some attribute values hold simple structures, such as CGPoint and CGRect, instead of regular CFTypes. These are still passed between the target and assistive application as CFTypeRefs, but they merely wrap an encoded version of the structure. You need to use the functions AXValueCreate and AXValueGetValue to convert between the structures and CFTypeRefs. Each supported structure has an AXValueType associated with it. The AXValueGetType function returns the AXValueType of the structure contained within a CFTypeRef.

Constants

See the Overview section above for header-level documentation.

  • Declaration

    Swift

    var kAXAllowedValuesAttribute: String { get } var kAXAMPMFieldAttribute: String { get } var kAXCancelButtonAttribute: String { get } var kAXChildrenAttribute: String { get } var kAXCloseButtonAttribute: String { get } var kAXColumnTitleAttribute: String { get } var kAXContentsAttribute: String { get } var kAXDayFieldAttribute: String { get } var kAXDefaultButtonAttribute: String { get } var kAXDescriptionAttribute: String { get } var kAXEnabledAttribute: String { get } var kAXFocusedAttribute: String { get } var kAXGrowAreaAttribute: String { get } var kAXHeaderAttribute: String { get } var kAXHelpAttribute: String { get } var kAXHourFieldAttribute: String { get } var kAXIncrementorAttribute: String { get } var kAXInsertionPointLineNumberAttribute: String { get } var kAXMainAttribute: String { get } var kAXMaxValueAttribute: String { get } var kAXMinimizeButtonAttribute: String { get } var kAXMinimizedAttribute: String { get } var kAXMinuteFieldAttribute: String { get } var kAXMinValueAttribute: String { get } var kAXModalAttribute: String { get } var kAXMonthFieldAttribute: String { get } var kAXNumberOfCharactersAttribute: String { get } var kAXOrientationAttribute: String { get } var kAXParentAttribute: String { get } var kAXPositionAttribute: String { get } var kAXProxyAttribute: String { get } var kAXRoleAttribute: String { get } var kAXRoleDescriptionAttribute: String { get } var kAXSecondFieldAttribute: String { get } var kAXSelectedChildrenAttribute: String { get } var kAXSelectedTextAttribute: String { get } var kAXSelectedTextRangeAttribute: String { get } var kAXSelectedTextRangesAttribute: String { get } var kAXSharedCharacterRangeAttribute: String { get } var kAXSharedTextUIElementsAttribute: String { get } var kAXSizeAttribute: String { get } var kAXSubroleAttribute: String { get } var kAXTitleAttribute: String { get } var kAXToolbarButtonAttribute: String { get } var kAXTopLevelUIElementAttribute: String { get } var kAXURLAttribute: String { get } var kAXValueAttribute: String { get } var kAXValueDescriptionAttribute: String { get } var kAXValueIncrementAttribute: String { get } var kAXVisibleCharacterRangeAttribute: String { get } var kAXVisibleChildrenAttribute: String { get } var kAXVisibleColumnsAttribute: String { get } var kAXWindowAttribute: String { get } var kAXYearFieldAttribute: String { get } var kAXZoomButtonAttribute: String { get }

    Objective-C

    #define kAXAllowedValuesAttribute CFSTR("AXAllowedValues") #define kAXAMPMFieldAttribute CFSTR("AXAMPMField") #define kAXCancelButtonAttribute CFSTR("AXCancelButton") #define kAXChildrenAttribute CFSTR("AXChildren") #define kAXCloseButtonAttribute CFSTR("AXCloseButton") #define kAXColumnTitleAttribute CFSTR("AXColumnTitles") #define kAXContentsAttribute CFSTR("AXContents") #define kAXDayFieldAttribute CFSTR("AXDayField") #define kAXDefaultButtonAttribute CFSTR("AXDefaultButton") #define kAXDescriptionAttribute CFSTR("AXDescription") #define kAXEnabledAttribute CFSTR("AXEnabled") #define kAXFocusedAttribute CFSTR("AXFocused") #define kAXGrowAreaAttribute CFSTR("AXGrowArea") #define kAXHeaderAttribute CFSTR("AXHeader") #define kAXHelpAttribute CFSTR("AXHelp") #define kAXHourFieldAttribute CFSTR("AXHourField") #define kAXIncrementorAttribute CFSTR("AXIncrementor") #define kAXInsertionPointLineNumberAttribute CFSTR("AXInsertionPointLineNumber") #define kAXMainAttribute CFSTR("AXMain") #define kAXMaxValueAttribute CFSTR("AXMaxValue") #define kAXMinimizeButtonAttribute CFSTR("AXMinimizeButton") #define kAXMinimizedAttribute CFSTR("AXMinimized") #define kAXMinuteFieldAttribute CFSTR("AXMinuteField") #define kAXMinValueAttribute CFSTR("AXMinValue") #define kAXModalAttribute CFSTR("AXModal") #define kAXMonthFieldAttribute CFSTR("AXMonthField") #define kAXNumberOfCharactersAttribute CFSTR("AXNumberOfCharacters") #define kAXOrientationAttribute CFSTR("AXOrientation") #define kAXParentAttribute CFSTR("AXParent") #define kAXPositionAttribute CFSTR("AXPosition") #define kAXProxyAttribute CFSTR("AXProxy") #define kAXRoleAttribute CFSTR("AXRole") #define kAXRoleDescriptionAttribute CFSTR("AXRoleDescription") #define kAXSecondFieldAttribute CFSTR("AXSecondField") #define kAXSelectedChildrenAttribute CFSTR("AXSelectedChildren") #define kAXSelectedTextAttribute CFSTR("AXSelectedText") #define kAXSelectedTextRangeAttribute CFSTR("AXSelectedTextRange") #define kAXSelectedTextRangesAttribute CFSTR("AXSelectedTextRanges") #define kAXSharedCharacterRangeAttribute CFSTR("AXSharedCharacterRange") #define kAXSharedTextUIElementsAttribute CFSTR("AXSharedTextUIElements") #define kAXSizeAttribute CFSTR("AXSize") #define kAXSubroleAttribute CFSTR("AXSubrole") #define kAXTitleAttribute CFSTR("AXTitle") #define kAXToolbarButtonAttribute CFSTR("AXToolbarButton") #define kAXTopLevelUIElementAttribute CFSTR("AXTopLevelUIElement") #define kAXURLAttribute CFSTR("AXURL") #define kAXValueAttribute CFSTR("AXValue") #define kAXValueDescriptionAttribute CFSTR("AXValueDescription") #define kAXValueIncrementAttribute CFSTR("AXValueIncrement") #define kAXVisibleCharacterRangeAttribute CFSTR("AXVisibleCharacterRange") #define kAXVisibleChildrenAttribute CFSTR("AXVisibleChildren") #define kAXVisibleColumnsAttribute CFSTR("AXVisibleColumns") #define kAXWindowAttribute CFSTR("AXWindow") #define kAXYearFieldAttribute CFSTR("AXYearField") #define kAXZoomButtonAttribute CFSTR("AXZoomButton")

    Constants

    • kAXAllowedValuesAttribute

      kAXAllowedValuesAttribute

      An array of the allowed values for a slider or other widget that displays a large value range, but which can only be set to a small subset of values within that range.

      Value: A CFArrayRef of whatever type the element uses for its kAXValueAttribute.

      Writable? No.

      Recommended for sliders or other elements that can only be set to a small set of values.

      Available in OS X v10.4 and later.

    • kAXAMPMFieldAttribute

      kAXAMPMFieldAttribute

      Convenience attribute that yields the AM/PM field of a time field element.

      Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the AM/PM setting in a time field element.

      Writable? No.

      Required for time field elements that displays an AM/PM setting.

      Available in OS X v10.3 and later.

    • kAXCancelButtonAttribute

      kAXCancelButtonAttribute

      A convenience attribute so assistive apps can quickly access a window's cancel button element, if any.

      Value: An AXUIElementRef of the window's cancel button element.

      Writable? No.

      Required for all window elements that have a cancel button.

      Available in OS X v10.3 and later.

    • kAXChildrenAttribute

      kAXChildrenAttribute

      Indicates the sub elements of a given element in the visual element hierarchy. A tab group's kAXChildrenAttribute is an array of tab radio button elements. A window's kAXChildrenAttribute is an array of the first-order views elements within the window. A menu's kAXChildrenAttribute is an array of the menu item elements.

      A given element may only be in the child array of one other element. If an element is in the child array of some other element, the element's kAXParentAttribute must be the other element.

      Value: A CFArrayRef of AXUIElementRefs.

      Writable? No.

      Required for elements that contain sub elements.

      Available in OS X v10.2 and later.

    • kAXCloseButtonAttribute

      kAXCloseButtonAttribute

      A convenience attribute so assistive apps can quickly access a window's close button element.

      Value: An AXUIElementRef of the window's close button element.

      Writable? No.

      Required for all window elements that have a close button.

      Available in OS X v10.2 and later.

    • kAXColumnTitleAttribute

      kAXColumnTitleAttribute

      Available in OS X v10.4 and later.

    • kAXContentsAttribute

      kAXContentsAttribute

      A convenience attribute so assistive apps can find interesting child elements of a given element, while at the same time avoiding non-interesting child elements. For example, the contents of a scroll area are the children that get scrolled, and not the horizontal and/or vertical scroll bars. The contents of a tab group does not include the tabs themselves.

      Value: A CFArrayRef of AXUIElementRefs.

      Writable? No.

      Recommended for elements that have children that act upon or are separate from other children.

      Available in OS X v10.2 and later.

    • kAXDayFieldAttribute

      kAXDayFieldAttribute

      Convenience attribute that yields the day field of a date field element.

      Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the day in a date field element.

      Writable? No.

      Required for date field elements that display days.

      Available in OS X v10.3 and later.

    • kAXDefaultButtonAttribute

      kAXDefaultButtonAttribute

      A convenience attribute so assistive apps can quickly access a window's default button element, if any.

      Value: An AXUIElementRef of the window's default button element.

      Writable? No.

      Required for all window elements that have a default button.

      Available in OS X v10.3 and later.

    • kAXDescriptionAttribute

      kAXDescriptionAttribute

      A localized, human-readable string that indicates an element's purpose in a way that is slightly more specific than the kAXRoleDescriptionAttribute, but which is less wordy than the kAXHelpAttribute. Typically, the description should be an adjective or short phrase that describes the element's usage. For example, the description of a slider in a font panel might be "font size". The string should be all lower-case and contain no punctuation.

      Value: A localized, human-readable CFStringRef.

      Writable? No.

      Recommended for all elements because it gives the user a concise indication of an element's purpose.

      Available in OS X v10.4 and later.

    • kAXEnabledAttribute

      kAXEnabledAttribute

      Indicates whether the element can be interacted with by the user. For example, a disabled push button's kAXEnabledAttribute will be false.

      Value: A CFBooleanRef. True means enabled, false means disabled.

      Writable? No.

      Required for all views, menus, and menu items. Not required for windows.

      Available in OS X v10.2 and later.

    • kAXFocusedAttribute

      kAXFocusedAttribute

      Indicates whether the element is the current keyboard focus. It should be writable for any element that can accept keyboard focus, though you can only set the value of kAXFocusedAttribute to true. You cannot unfocus an element by setting the value to false. Only one element in a window's entire accessibility hierarchy should be marked as focused.

      Value: A CFBooleanRef. True means focused, false means not focused.

      Writable? Yes, for any focusable element. No in all other cases.

      Required for any focusable element. Not required for other elements, though it is often offered for non-focusable elements in a read-only fashion.

      Available in OS X v10.2 and later.

    • kAXGrowAreaAttribute

      kAXGrowAreaAttribute

      A convenience attribute so assistive apps can quickly access a window's grow area element.

      Value: An AXUIElementRef of the window's grow area element.

      Writable? No.

      Required for all window elements that have a grow area.

      Available in OS X v10.2 and later.

    • kAXHeaderAttribute

      kAXHeaderAttribute

      A convenience attribute whose value is an element that is a header for another element. For example, an outline element has a header attribute whose value is a element of role AXGroup that contains the header buttons for each column. Used for things like tables, outlines, columns, etc.

      Value: An AXUIElementRef whose role varies.

      Writable? No.

      Recommended for elements that have header elements contained within them that an assistive application might want convenient access to.

      Available in OS X v10.2 and later.

    • kAXHelpAttribute

      kAXHelpAttribute

      A localized, human-readable CFStringRef that offers help content for an element.

      This is often the same information that would be provided in a help tag for the element.

      Recommended for any element that has help data available.

      Available in OS X v10.2 and later.

    • kAXHourFieldAttribute

      kAXHourFieldAttribute

      Convenience attribute that yields the hour field of a time field element.

      Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the hours in a time field element.

      Writable? No.

      Required for time field elements that display hours.

      Available in OS X v10.3 and later.

    • kAXIncrementorAttribute

      kAXIncrementorAttribute

      Convenience attribute that yields the incrementor of a time field or date field element.

      Value: A AXUIElementRef of role kAXIncrementorRole.

      Writable? No.

      Required for time field and date field elements that display an incrementor.

      Available in OS X v10.3 and later.

    • kAXInsertionPointLineNumberAttribute

      kAXInsertionPointLineNumberAttribute

      Available in OS X v10.4 and later.

    • kAXMainAttribute

      kAXMainAttribute

      Whether a window is the main document window of an application. For an active app, the main window is the single active document window. For an inactive app, the main window is the single document window which would be active if the app were active. Main does not necessarily imply that the window has key focus.

      Value: A CFBooleanRef. True means the window is main. False means it is not.

      Writable? Yes.

      Required for all window elements.

      Available in OS X v10.2 and later.

    • kAXMaxValueAttribute

      kAXMaxValueAttribute

      Only used in conjunction with kAXValueAttribute and kAXMinValueAttribute, this attribute represents the maximum value that an element can display. This is useful for things like sliders and scroll bars, where the user needs to have an understanding of how much the kAXValueAttribute can vary.

      Value: Same data type as the element's kAXValueAttribute.

      Writable? No.

      Required for many user maniipulatable elements. See kAXValueAttribute for more details.

      Available in OS X v10.2 and later.

    • kAXMinimizeButtonAttribute

      kAXMinimizeButtonAttribute

      A convenience attribute so assistive apps can quickly access a window's minimize button element.

      Value: An AXUIElementRef of the window's minimize button element.

      Writable? No.

      Required for all window elements that have a minimize button.

      Available in OS X v10.2 and later.

    • kAXMinimizedAttribute

      kAXMinimizedAttribute

      Whether a window is currently minimized to the dock. Value: A CFBooleanRef. True means minimized. Writable? Yes. Required for all window elements that can be minimized.

      Available in OS X v10.2 and later.

    • kAXMinuteFieldAttribute

      kAXMinuteFieldAttribute

      Convenience attribute that yields the minute field of a time field element.

      Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the minutes in a time field element.

      Writable? No.

      Required for time field elements that display minutes.

      Available in OS X v10.3 and later.

    • kAXMinValueAttribute

      kAXMinValueAttribute

      Only used in conjunction with kAXValueAttribute and kAXMaxValueAttribute, this attribute represents the minimum value that an element can display. This is useful for things like sliders and scroll bars, where the user needs to have an understanding of how much the kAXValueAttribute can vary.

      Value: Same data type as the element's kAXValueAttribute.

      Writable? No.

      Required for many user maniipulatable elements. See kAXValueAttribute for more details.

      Available in OS X v10.2 and later.

    • kAXModalAttribute

      kAXModalAttribute

      Whether a window is modal. Value: A CFBooleanRef. True means the window is modal. Writable? No. Required for all window elements.

      Available in OS X v10.3 and later.

    • kAXMonthFieldAttribute

      kAXMonthFieldAttribute

      Convenience attribute that yields the month field of a date field element.

      Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the month in a date field element.

      Writable? No.

      Required for date field elements that display months.

      Available in OS X v10.3 and later.

    • kAXNumberOfCharactersAttribute

      kAXNumberOfCharactersAttribute

      The total number of characters (not bytes) in an editable text element. Value: CFNumberRef Writable? No. Required for editable text elements.

      Available in OS X v10.3 and later.

    • kAXOrientationAttribute

      kAXOrientationAttribute

      An indication of whether an element is drawn and/or interacted with in a vertical or horizontal manner. Elements such as scroll bars and sliders offer the kAXOrientationAttribute.

      Value: kAXHorizontalOrientationValue, kAXVerticalOrientationValue, or rarely kAXUnknownOrientationValue.

      Writable? No.

      Required for scroll bars, sliders, or other elements whose semantic or associative meaning changes based on their orientation.

      Available in OS X v10.2 and later.

    • kAXParentAttribute

      kAXParentAttribute

      Indicates the element's container element in the visual element hierarchy. A push button's kAXParentElement might be a window element or a group. A sheet's kAXParentElement will be a window element. A window's kAXParentElement will be the application element. A menu item's kAXParentElement will be a menu element.

      Value: An AXUIElementRef.

      Writable? No.

      Required for every element except the application. Everything else in the visual element hierarchy must have a parent.

      Available in OS X v10.2 and later.

    • kAXPositionAttribute

      kAXPositionAttribute

      The global screen position of the top-left corner of an element.

      Value: An AXValueRef with type kAXValueCGPointType. 0,0 is the top-left corner of the screen that displays the menu bar. The value of the horizontal axis increases to the right. The value of the vertical axis increases downward. Units are pixels.

      Writable? Generally no. However, some elements that can be moved by the user through direct manipulation (like windows) should offer a writable position attribute.

      Required for all elements that are visible on the screen, which is virtually all elements.

      Available in OS X v10.2 and later.

    • kAXProxyAttribute

      kAXProxyAttribute

      A convenience attribute so assistive apps can quickly access a window's document proxy element.

      Value: An AXUIElementRef of the window's document proxy element.

      Writable? No.

      Required for all window elements that have a document proxy.

      Available in OS X v10.2 and later.

    • kAXRoleAttribute

      kAXRoleAttribute

      Identifies the basic type of an element.

      Required for all elements. Even in the worst case scenario where an element cannot figure out what its basic type is, it can still supply the value kAXUnknownRole.

      Available in OS X v10.2 and later.

    • kAXRoleDescriptionAttribute

      kAXRoleDescriptionAttribute

      Required for all elements. Even in the worst case scenario where an element cannot figure out what its basic type is, it can still supply the value "unknown".

      A localized, human-readable string that an assistive application can present to the user as an explanation of an element's basic type or purpose. Examples would be "push button" or "secure text field". The string's language should match the language of the app that the element lives within. The string should be all lower-case and contain no punctuation.

      Two elements with the same kAXRoleAttribute and kAXSubroleAttribute should have the same kAXRoleDescriptionAttribute.

      Available in OS X v10.2 and later.

    • kAXSecondFieldAttribute

      kAXSecondFieldAttribute

      Convenience attribute that yields the seconds field of a time field element.

      Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the seconds in a time field element.

      Writable? No.

      Required for time field elements that display seconds.

      Available in OS X v10.3 and later.

    • kAXSelectedChildrenAttribute

      kAXSelectedChildrenAttribute

      Indicates the selected sub elements of a given element in the visual element hierarchy. This is a the subset of the element's kAXChildrenAttribute that are selected. This is commonly used in lists so an assistive app can know which list item are selected.

      Value: A CFArrayRef of AXUIElementRefs.

      Writable? Only if there is no other way to manipulate the set of selected elements via accessibilty attributes or actions. Even if other ways exist, this attribute can be writable as a convenience to assistive applications and their users. If kAXSelectedChildrenAttribute is writable, a write request with a value of an empty array should deselect all selected children.

      Required for elements that contain selectable sub elements.

      Available in OS X v10.2 and later.

    • kAXSelectedTextAttribute

      kAXSelectedTextAttribute

      The selected text of an editable text element. Value: A CFStringRef with the currently selected text of the element. Writable? No. Required for all editable text elements.

      Available in OS X v10.2 and later.

    • kAXSelectedTextRangeAttribute

      kAXSelectedTextRangeAttribute

      The range of characters (not bytes) that defines the current selection of an editable text element.

      Value: An AXValueRef of type kAXValueCFRange.

      Writable? Yes.

      Required for all editable text elements.

      Available in OS X v10.2 and later.

    • kAXSelectedTextRangesAttribute

      kAXSelectedTextRangesAttribute

      An array of noncontiguous ranges of characters (not bytes) that defines the current selections of an editable text element.

      Value: A CFArrayRef of kAXValueCFRanges.

      Writable? Yes.

      Recommended for text elements that support noncontiguous selections.

      Available in OS X v10.5 and later.

    • kAXSharedCharacterRangeAttribute

      kAXSharedCharacterRangeAttribute

      Value: AXValueRef of type kAXValueCFRangeType Writable? No. Optional?

      Available in OS X v10.4 and later.

    • kAXSharedTextUIElementsAttribute

      kAXSharedTextUIElementsAttribute

      Value: CFArrayRef of AXUIElementRefs Writable? No. Optional?

      Available in OS X v10.4 and later.

    • kAXSizeAttribute

      kAXSizeAttribute

      The vertical and horizontal dimensions of the element.

      Value: An AXValueRef with type kAXValueCGSizeType. Units are pixels.

      Writable? Generally no. However, some elements that can be resized by the user through direct manipulation (like windows) should offer a writable size attribute.

      Required for all elements that are visible on the screen, which is virtually all elements.

      Available in OS X v10.2 and later.

    • kAXSubroleAttribute

      kAXSubroleAttribute

      More specifically identifies the type of an element beyond the basic type provided by kAXRoleAttribute.

      Required only when an element's kAXRoleAttribute alone doesn't provide an assistive application with enough information to convey the meaning of this element to the user.

      An example element that offers the kAXSubroleAttribute is a window's close box. Its kAXRoleAttribute value is kAXButtonRole and its kAXSubroleAttribute is kAXCloseButtonSubrole. It is of role kAXButtonRole because it offers no additional actions or attributes above and beyond what other kAXButtonRole elements provide; it was given a subrole in order to allow an assistive app to communicate the close box's semantic difference to the user.

      Available in OS X v10.2 and later.

    • kAXTitleAttribute

      kAXTitleAttribute

      The localized, human-readable string that is displayed as part of the element's normal visual interface. For example, an OK button's kAXTitleElement is the string "OK", and a menu item's kAXTitleElement is the text of the menu item.

      Required if the element draws a string as part of its normal visual interface.

      Available in OS X v10.2 and later.

    • kAXToolbarButtonAttribute

      kAXToolbarButtonAttribute

      A convenience attribute so assistive apps can quickly access a window's toolbar button element.

      Value: An AXUIElementRef of the window's toolbar button element.

      Writable? No.

      Required for all window elements that have a toolbar button.

      Available in OS X v10.2 and later.

    • kAXTopLevelUIElementAttribute

      kAXTopLevelUIElementAttribute

      This is very much like the kAXWindowAttribute, except that the value of this attribute can be an element with role kAXSheetRole or kAXDrawerRole. It is a short cut for traversing an element's parent hierarchy until an element of role kAXWindowRole, kAXSheetRole, or kAXDrawerRole is found.

      Value: An AXUIElementRef of role kAXWindowRole, kAXSheetRole, or kAXDrawerRole.

      Writable? No.

      Required for any element that has an appropriate element somewhere in its parent chain.

      Available in OS X v10.4 and later.

    • kAXURLAttribute

      kAXURLAttribute

      Value: A CFURLRef. Writable? No. Required for elements that represent a disk or network item.

      Available in OS X v10.3 and later.

    • kAXValueAttribute

      kAXValueAttribute

      A catch-all attribute that represents a user modifiable setting of an element. For example, the contents of an editable text field, the position of a scroll bar thumb, and whether a check box is checked are all communicated by the kAXValueAttribute of their respective elements.

      Required for many user manipulatable elements, or those whose value state conveys important information.

      Available in OS X v10.2 and later.

    • kAXValueDescriptionAttribute

      kAXValueDescriptionAttribute

      Used to supplement kAXValueAttribute. This attribute returns a string description that best describes the current value stored in kAXValueAttribute. This is useful for things like slider where the numeric value in kAXValueAttribute does not always convey enough information about the adjustment made on the slider. As an example, a color slider that adjusts thru various colors cannot be well-described by the numeric value in existing AXValueAttribute. This is where the kAXValueDescriptionAttribute comes in handy. In this example, the developer can provide the color information using this attribute.

      Value: A localized, human-readable CFStringRef.

      Writable? No.

      Recommended for elements that support kAXValueAttribute.

      Available in OS X v10.5 and later.

    • kAXValueIncrementAttribute

      kAXValueIncrementAttribute

      Only used in conjunction with kAXValueAttribute, this attribute represents the amount a value will change in one action on the given element. In particular, it is used on elements of role kAXIncrementorRole in order to give the user an idea of how much its value will change with a single click on the up or down arrow.

      Value: Same data type as the element's kAXValueAttribute.

      Writable? No.

      Recommended for kAXIncrementorRole and other similar elements.

      Available in OS X v10.2 and later.

    • kAXVisibleCharacterRangeAttribute

      kAXVisibleCharacterRangeAttribute

      The range of characters (not bytes) that are scrolled into view in the editable text element.

      Value: An AXValueRef of type kAXValueCFRange.

      Writable? No.

      Required for elements of role kAXTextAreaRole. Not required for any other elements, including those of role kAXTextFieldRole.

      Available in OS X v10.3 and later.

    • kAXVisibleChildrenAttribute

      kAXVisibleChildrenAttribute

      Indicates the visible sub elements of a given element in the visual element hierarchy. This is a the subset of the element's kAXChildrenAttribute that a sighted user can see on the screen. In a list element, kAXVisibleChildrenAttribute would be an array of child elements that are currently scrolled into view.

      Value: A CFArrayRef of AXUIElementRefs.

      Writable? No.

      Recommended for elements whose child elements can be occluded or scrolled out of view.

      Available in OS X v10.2 and later.

    • kAXVisibleColumnsAttribute

      kAXVisibleColumnsAttribute

      Indicates the visible column sub-elements of a kAXBrowserRole element. This is the subset of a browser's kAXColumnsAttribute where each column in the array is one that is currently scrolled into view within the browser. It does not include any columns that are currently scrolled out of view.

      Value: A CFArrayRef of AXUIElementRefs representing the columns of a browser. The columns will be grandchild elements of the browser, and will generally be of role kAXScrollArea.

      Writable? No.

      Required for all browser elements.

      Available in OS X v10.2 and later.

    • kAXWindowAttribute

      kAXWindowAttribute

      A short cut for traversing an element's parent hierarchy until an element of role kAXWindowRole is found. Note that the value for kAXWindowAttribute should not be an element of role kAXSheetRole or kAXDrawerRole; instead, the value should be the element of kAXWindowRole that the sheet or drawer is attached to.

      Value: an AXUIElementRef of role kAXWindowRole.

      Writable? No.

      Required for any element that has an element of role kAXWindowRole somewhere in its parent chain.

      Available in OS X v10.2 and later.

    • kAXYearFieldAttribute

      kAXYearFieldAttribute

      Convenience attribute that yields the year field of a date field element.

      Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the year in a date field element.

      Writable? No.

      Required for date field elements that display years.

      Available in OS X v10.3 and later.

    • kAXZoomButtonAttribute

      kAXZoomButtonAttribute

      A convenience attribute so assistive apps can quickly access a window's zoom button element.

      Value: An AXUIElementRef of the window's zoom button element.

      Writable? No.

      Required for all window elements that have a zoom button.

      Available in OS X v10.2 and later.

  • Values that indicate the keyboard shortcut modifiers for a menu item (used with the kAXMenuItemCmdModifiersAttribute attribute).

    Declaration

    Swift

    typealias AXMenuItemModifiers = UInt32

    Objective-C

    enum { kAXMenuItemModifierNone = 0, /* Mask for no modifiers other than the command key (which is used by default ) */ kAXMenuItemModifierShift = ( 1 << 0), /* Mask for shift key modifier */ kAXMenuItemModifierOption = ( 1 << 1), /* Mask for option key modifier */ kAXMenuItemModifierControl = ( 1 << 2), /* Mask for control key modifier */ kAXMenuItemModifierNoCommand = ( 1 << 3) /* Mask for no modifiers at all, not even the command key */ }; typedef UInt32 AXMenuItemModifiers;

    Import Statement

    Objective-C

    @import ApplicationServices;

    Swift

    import ApplicationServices

    Availability

    Available in OS X v10.9 and later.