AXAttributeConstants.pas 41 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460
  1. {
  2. * AXAttributeConstants.h
  3. * HIServices
  4. *
  5. * Created by John Louch on Wed Feb 25 2004.
  6. * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
  7. *
  8. }
  9. { Pascal Translation: Gale R Paeper, <[email protected]>, 2006 }
  10. {
  11. Modified for use with Free Pascal
  12. Version 200
  13. Please report any bugs to <[email protected]>
  14. }
  15. {$mode macpas}
  16. {$packenum 1}
  17. {$macro on}
  18. {$inline on}
  19. {$CALLING MWPASCAL}
  20. unit AXAttributeConstants;
  21. interface
  22. {$setc UNIVERSAL_INTERFACES_VERSION := $0342}
  23. {$setc GAP_INTERFACES_VERSION := $0200}
  24. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  25. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  26. {$endc}
  27. {$ifc defined CPUPOWERPC and defined CPUI386}
  28. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  29. {$endc}
  30. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  31. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  32. {$endc}
  33. {$ifc not defined __ppc__ and defined CPUPOWERPC}
  34. {$setc __ppc__ := 1}
  35. {$elsec}
  36. {$setc __ppc__ := 0}
  37. {$endc}
  38. {$ifc not defined __i386__ and defined CPUI386}
  39. {$setc __i386__ := 1}
  40. {$elsec}
  41. {$setc __i386__ := 0}
  42. {$endc}
  43. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  44. {$error Conflicting definitions for __ppc__ and __i386__}
  45. {$endc}
  46. {$ifc defined __ppc__ and __ppc__}
  47. {$setc TARGET_CPU_PPC := TRUE}
  48. {$setc TARGET_CPU_X86 := FALSE}
  49. {$elifc defined __i386__ and __i386__}
  50. {$setc TARGET_CPU_PPC := FALSE}
  51. {$setc TARGET_CPU_X86 := TRUE}
  52. {$elsec}
  53. {$error Neither __ppc__ nor __i386__ is defined.}
  54. {$endc}
  55. {$setc TARGET_CPU_PPC_64 := FALSE}
  56. {$ifc defined FPC_BIG_ENDIAN}
  57. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  58. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  59. {$elifc defined FPC_LITTLE_ENDIAN}
  60. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  61. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  62. {$elsec}
  63. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  64. {$endc}
  65. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  66. {$setc CALL_NOT_IN_CARBON := FALSE}
  67. {$setc OLDROUTINENAMES := FALSE}
  68. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  69. {$setc OPAQUE_UPP_TYPES := TRUE}
  70. {$setc OTCARBONAPPLICATION := TRUE}
  71. {$setc OTKERNEL := FALSE}
  72. {$setc PM_USE_SESSION_APIS := TRUE}
  73. {$setc TARGET_API_MAC_CARBON := TRUE}
  74. {$setc TARGET_API_MAC_OS8 := FALSE}
  75. {$setc TARGET_API_MAC_OSX := TRUE}
  76. {$setc TARGET_CARBON := TRUE}
  77. {$setc TARGET_CPU_68K := FALSE}
  78. {$setc TARGET_CPU_MIPS := FALSE}
  79. {$setc TARGET_CPU_SPARC := FALSE}
  80. {$setc TARGET_OS_MAC := TRUE}
  81. {$setc TARGET_OS_UNIX := FALSE}
  82. {$setc TARGET_OS_WIN32 := FALSE}
  83. {$setc TARGET_RT_MAC_68881 := FALSE}
  84. {$setc TARGET_RT_MAC_CFM := FALSE}
  85. {$setc TARGET_RT_MAC_MACHO := TRUE}
  86. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  87. {$setc TYPE_BOOL := FALSE}
  88. {$setc TYPE_EXTENDED := FALSE}
  89. {$setc TYPE_LONGLONG := TRUE}
  90. uses MacTypes;
  91. {$ALIGN POWER}
  92. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  93. { Attributes }
  94. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  95. {
  96. Quick reference:
  97. // informational attributes
  98. kAXRoleAttribute
  99. kAXSubroleAttribute
  100. kAXRoleDescriptionAttribute
  101. kAXTitleAttribute
  102. kAXDescriptionAttribute
  103. kAXHelpAttribute
  104. // hierarchy or relationship attributes
  105. kAXParentAttribute
  106. kAXChildrenAttribute
  107. kAXSelectedChildrenAttribute
  108. kAXVisibleChildrenAttribute
  109. kAXWindowAttribute
  110. kAXTopLevelUIElementAttribute
  111. kAXTitleUIElementAttribute
  112. kAXServesAsTitleForUIElementsAttribute
  113. kAXLinkedUIElementsAttribute
  114. // visual state attributes
  115. kAXEnabledAttribute
  116. kAXFocusedAttribute
  117. kAXPositionAttribute
  118. kAXSizeAttribute
  119. // value attributes
  120. kAXValueAttribute
  121. kAXMinValueAttribute
  122. kAXMaxValueAttribute
  123. kAXValueIncrementAttribute
  124. kAXValueWrapsAttribute
  125. kAXAllowedValuesAttribute
  126. // text-specific attributes
  127. kAXSelectedTextAttribute
  128. kAXSelectedTextRangeAttribute
  129. kAXVisibleCharacterRangeAttribute
  130. kAXNumberOfCharactersAttribute
  131. kAXSharedTextUIElementsAttribute
  132. kAXSharedCharacterRangeAttribute
  133. // window, sheet, or drawer-specific attributes
  134. kAXMainAttribute
  135. kAXMinimizedAttribute
  136. kAXCloseButtonAttribute
  137. kAXZoomButtonAttribute
  138. kAXMinimizeButtonAttribute
  139. kAXToolbarButtonAttribute
  140. kAXProxyAttribute
  141. kAXGrowAreaAttribute
  142. kAXModalAttribute
  143. kAXDefaultButtonAttribute
  144. kAXCancelButtonAttribute
  145. // menu or menu item-specific attributes
  146. kAXMenuItemCmdCharAttribute
  147. kAXMenuItemCmdVirtualKeyAttribute
  148. kAXMenuItemCmdGlyphAttribute
  149. kAXMenuItemCmdModifiersAttribute
  150. kAXMenuItemMarkCharAttribute
  151. kAXMenuItemPrimaryUIElementAttribute
  152. // application element-specific attributes
  153. kAXMenuBarAttribute
  154. kAXWindowsAttribute
  155. kAXFrontmostAttribute
  156. kAXHiddenAttribute
  157. kAXMainWindowAttribute
  158. kAXFocusedWindowAttribute
  159. kAXFocusedUIElementAttribute
  160. // date/time-specific attributes
  161. kAXHourFieldAttribute
  162. kAXMinuteFieldAttribute
  163. kAXSecondFieldAttribute
  164. kAXAMPMFieldAttribute
  165. kAXDayFieldAttribute
  166. kAXMonthFieldAttribute
  167. kAXYearFieldAttribute
  168. // table, outline, or browser-specific attributes
  169. kAXRowsAttribute
  170. kAXVisibleRowsAttribute
  171. kAXSelectedRowsAttribute
  172. kAXColumnsAttribute
  173. kAXVisibleColumnsAttribute
  174. kAXSelectedColumnsAttribute
  175. kAXSortDirectionAttribute
  176. kAXColumnHeaderUIElementsAttribute
  177. kAXIndexAttribute
  178. kAXDisclosingAttribute
  179. kAXDisclosedRowsAttribute
  180. kAXDisclosedByRowAttribute
  181. // matte-specific attributes
  182. kAXMatteHoleAttribute
  183. kAXMatteContentUIElementAttribute
  184. // ruler-specific attributes
  185. kAXMarkerUIElementsAttribute
  186. kAXUnitsAttribute
  187. kAXUnitDescriptionAttribute
  188. kAXMarkerTypeAttribute
  189. kAXMarkerTypeDescriptionAttribute
  190. // miscellaneous or role-specific attributes
  191. kAXHorizontalScrollBarAttribute
  192. kAXVerticalScrollBarAttribute
  193. kAXOrientationAttribute
  194. kAXHeaderAttribute
  195. kAXEditedAttribute
  196. kAXTabsAttribute
  197. kAXOverflowButtonAttribute
  198. kAXFilenameAttribute
  199. kAXExpandedAttribute
  200. kAXSelectedAttribute
  201. kAXSplittersAttribute
  202. kAXContentsAttribute
  203. kAXNextContentsAttribute
  204. kAXPreviousContentsAttribute
  205. kAXDocumentAttribute
  206. kAXIncrementorAttribute
  207. kAXDecrementButtonAttribute
  208. kAXIncrementButtonAttribute
  209. kAXColumnTitleAttribute
  210. kAXURLAttribute
  211. kAXLabelUIElementsAttribute
  212. kAXLabelValueAttribute
  213. kAXShownMenuUIElementAttribute
  214. kAXIsApplicationRunningAttribute
  215. kAXFocusedApplicationAttribute
  216. }
  217. {
  218. kAXRoleAttribute
  219. Identifies the basic type of an element.
  220. Value: A CFStringRef of one of the role strings defined in this header, or a new
  221. role string of your own invention. The string should not be localized, and it does
  222. not need to be human-readable. Instead of inventing new role strings, see if a
  223. custom element can be identified by an existing role string and a new subrole. See
  224. kAXSubroleAttribute.
  225. Writable? No.
  226. Required for all elements. Even in the worst case scenario where an element cannot
  227. figure out what its basic type is, it can still supply the value kAXUnknownRole.
  228. Carbon Accessorization Notes: If your HIObjectClass or Carbon Event handler provides
  229. the kAXRoleAttribute, it must also provide the kAXRoleDescriptionAttribute.
  230. }
  231. {$ifc USE_CFSTR_CONSTANT_MACROS}
  232. {$definec kAXRoleAttribute CFSTRP('AXRole')}
  233. {$endc}
  234. {
  235. kAXSubroleAttribute
  236. More specifically identifies the type of an element beyond the basic type provided
  237. by kAXRoleAttribute.
  238. Value: A CFStringRef of one of the subrole strings defined in this header, or a new
  239. subrole string of your own invention. The string should not be localized, and it does
  240. not need to be human-readable.
  241. Writable? No.
  242. Required only when an element's kAXRoleAttribute alone doesn't provide an assistive
  243. application with enough information to convey the meaning of this element to the user.
  244. An example element that offers the kAXSubroleAttribute is a window's close box. Its
  245. kAXRoleAttribute value is kAXButtonRole and its kAXSubroleAttribute is
  246. kAXCloseButtonSubrole. It is of role kAXButtonRole because it offers no additional
  247. actions or attributes above and beyond what other kAXButtonRole elements provide; it
  248. was given a subrole in order to allow an assistive app to communicate the close box's
  249. semantic difference to the user.
  250. Carbon Accessorization Notes: If your HIObjectClass or Carbon Event handler provides
  251. the kAXSubroleAttribute, it must also provide the kAXRoleDescriptionAttribute.
  252. }
  253. {$ifc USE_CFSTR_CONSTANT_MACROS}
  254. {$definec kAXSubroleAttribute CFSTRP('AXSubrole')}
  255. {$endc}
  256. {
  257. kAXRoleDescriptionAttribute
  258. A localized, human-readable string that an assistive application can present to the user
  259. as an explanation of an element's basic type or purpose. Examples would be "push button"
  260. or "secure text field". The string's language should match the language of the app that
  261. the element lives within. The string should be all lower-case and contain no punctuation.
  262. Two elements with the same kAXRoleAttribute and kAXSubroleAttribute should have the
  263. same kAXRoleDescriptionAttribute.
  264. Value: A localized, human-readable CFStringRef.
  265. Writable? No.
  266. Required for all elements. Even in the worst case scenario where an element cannot
  267. figure out what its basic type is, it can still supply the value "unknown".
  268. Carbon Accessorization Notes: The HIObjectClass or Carbon Event handler that provides
  269. the AXRole and/or AXSubrole for an element is the one that must also handle the
  270. AXRoleDescription attribute. If an HIObjectClass or Carbon Event handler does not
  271. provide either the AXRole or AXSubrole, it must not provide the AXRoleDescription.
  272. }
  273. {$ifc USE_CFSTR_CONSTANT_MACROS}
  274. {$definec kAXRoleDescriptionAttribute CFSTRP('AXRoleDescription')}
  275. {$endc}
  276. {
  277. kAXHelpAttribute
  278. A localized, human-readable CFStringRef that offers help content for an element.
  279. This is often the same information that would be provided in a help tag for the element.
  280. Value: A localized, human-readable CFStringRef.
  281. Writable? No.
  282. Recommended for any element that has help data available.
  283. }
  284. {$ifc USE_CFSTR_CONSTANT_MACROS}
  285. {$definec kAXHelpAttribute CFSTRP('AXHelp')}
  286. {$endc}
  287. {
  288. kAXTitleAttribute
  289. The localized, human-readable string that is displayed as part of the element's
  290. normal visual interface. For example, a OK button's kAXTitleElement is the string
  291. "OK", and a menu item's kAXTitleElement is the text of the menu item.
  292. Value: A localized, human-readable CFStringRef.
  293. Writable? No.
  294. Required if the element draws a string as part of its normal visual interface.
  295. }
  296. {$ifc USE_CFSTR_CONSTANT_MACROS}
  297. {$definec kAXTitleAttribute CFSTRP('AXTitle')}
  298. {$endc}
  299. {
  300. kAXValueAttribute
  301. A catch-all attribute that represents a user modifiable setting of an element. For
  302. example, the contents of an editable text field, the position of a scroll bar thumb,
  303. and whether a check box is checked are all communicated by the kAXValueAttribute of
  304. their respective elements.
  305. Value: Varies, but will always be the same type for a given kind of element. Each
  306. role that offers kAXValueAttribute will specify the type of data that will be used
  307. for its value.
  308. Writable? Generally yes. However, it does not need to be writable if some other form
  309. of direct manipulation is more appropriate for causing a value change. For example,
  310. a kAXScrollBar's kAXValueAttribute is writable because it allows an efficient way
  311. for the user to get to a specific position in the element being scrolled. By
  312. contrast, a kAXCheckBox's kAXValueAttribute is not settable because underlying
  313. functionality of the check box widget relies on it being clicked on; therefore, it
  314. changes its own kAXValueAttribute appropriately in response to the kAXPressAction.
  315. Required for many user manipulatable elements, or those whose value state conveys
  316. important information.
  317. }
  318. {$ifc USE_CFSTR_CONSTANT_MACROS}
  319. {$definec kAXValueAttribute CFSTRP('AXValue')}
  320. {$endc}
  321. {
  322. kAXMinValueAttribute
  323. Only used in conjunction with kAXValueAttribute and kAXMaxValueAttribute, this
  324. attribute represents the minimum value that an element can display. This is useful
  325. for things like sliders and scroll bars, where the user needs to have an understanding
  326. of how much the kAXValueAttribute can vary.
  327. Value: Same data type as the element's kAXValueAttribute.
  328. Writable? No.
  329. Required for many user maniipulatable elements. See kAXValueAttribute for more
  330. details.
  331. }
  332. {$ifc USE_CFSTR_CONSTANT_MACROS}
  333. {$definec kAXMinValueAttribute CFSTRP('AXMinValue')}
  334. {$endc}
  335. {
  336. kAXMaxValueAttribute
  337. Only used in conjunction with kAXValueAttribute and kAXMinValueAttribute, this
  338. attribute represents the maximum value that an element can display. This is useful
  339. for things like sliders and scroll bars, where the user needs to have an understanding
  340. of how much the kAXValueAttribute can vary.
  341. Value: Same data type as the element's kAXValueAttribute.
  342. Writable? No.
  343. Required for many user maniipulatable elements. See kAXValueAttribute for more
  344. details.
  345. }
  346. {$ifc USE_CFSTR_CONSTANT_MACROS}
  347. {$definec kAXMaxValueAttribute CFSTRP('AXMaxValue')}
  348. {$endc}
  349. {
  350. kAXValueIncrementAttribute
  351. Only used in conjunction with kAXValueAttribute, this attribute represents the amount
  352. a value will change in one action on the given element. In particular, it is used on
  353. elements of role kAXIncrementorRole in order to give the user an idea of how much its
  354. value will change with a single click on the up or down arrow.
  355. Value: Same data type as the element's kAXValueAttribute.
  356. Writable? No.
  357. Recommended for kAXIncrementorRole and other similar elements.
  358. }
  359. {$ifc USE_CFSTR_CONSTANT_MACROS}
  360. {$definec kAXValueIncrementAttribute CFSTRP('AXValueIncrement')}
  361. {$endc}
  362. {
  363. kAXAllowedValuesAttribute
  364. An array of the allowed values for a slider or other widget that displays
  365. a large value range, but which can only be set to a small subset of values
  366. within that range.
  367. Value: A CFArrayRef of whatever type the element uses for its kAXValueAttribute.
  368. Writable? No.
  369. Recommended for sliders or other elements that can only be set to a small
  370. set of values.
  371. }
  372. {$ifc USE_CFSTR_CONSTANT_MACROS}
  373. {$definec kAXAllowedValuesAttribute CFSTRP('AXAllowedValues')}
  374. {$endc}
  375. {
  376. kAXEnabledAttribute
  377. Indicates whether the element can be interacted with by the user. For example,
  378. a disabled push button's kAXEnabledAttribute will be false.
  379. Value: A CFBooleanRef. True means enabled, false means disabled.
  380. Writable? No.
  381. Required for all views, menus, and menu items. Not required for windows.
  382. }
  383. {$ifc USE_CFSTR_CONSTANT_MACROS}
  384. {$definec kAXEnabledAttribute CFSTRP('AXEnabled')}
  385. {$endc}
  386. {
  387. kAXFocusedAttribute
  388. Indicates whether the element is the current keyboard focus. It should be writable
  389. for any element that can accept keyboard focus, though you can only set the value
  390. of kAXFocusedAttribute to true. You cannot unfocus an element by setting the value
  391. to false. Only one element in a window's entire accessibility hierarchy should be
  392. marked as focused.
  393. Value: A CFBooleanRef. True means focused, false means not focused.
  394. Writable? Yes, for any focusable element. No in all other cases.
  395. Required for any focusable element. Not required for other elements, though it is
  396. often offered for non-focusable elements in a read-only fashion.
  397. }
  398. {$ifc USE_CFSTR_CONSTANT_MACROS}
  399. {$definec kAXFocusedAttribute CFSTRP('AXFocused')}
  400. {$endc}
  401. {
  402. kAXParentAttribute
  403. Indicates the element's container element in the visual element hierarchy. A push
  404. button's kAXParentElement might be a window element or a group. A sheet's
  405. kAXParentElement will be a window element. A window's kAXParentElement will be the
  406. application element. A menu item's kAXParentElement will be a menu element.
  407. Value: An AXUIElementRef.
  408. Writable? No.
  409. Required for every element except the application. Everything else in the visual
  410. element hierarchy must have a parent.
  411. }
  412. {$ifc USE_CFSTR_CONSTANT_MACROS}
  413. {$definec kAXParentAttribute CFSTRP('AXParent')}
  414. {$endc}
  415. {
  416. kAXChildrenAttribute
  417. Indicates the sub elements of a given element in the visual element hierarchy. A tab
  418. group's kAXChildrenAttribute is an array of tab radio button elements. A window's
  419. kAXChildrenAttribute is an array of the first-order views elements within the window.
  420. A menu's kAXChildrenAttribute is an array of the menu item elements.
  421. A given element may only be in the child array of one other element. If an element is
  422. in the child array of some other element, the element's kAXParentAttribute must be
  423. the other element.
  424. Value: A CFArrayRef of AXUIElementRefs.
  425. Writable? No.
  426. Required for elements that contain sub elements.
  427. }
  428. {$ifc USE_CFSTR_CONSTANT_MACROS}
  429. {$definec kAXChildrenAttribute CFSTRP('AXChildren')}
  430. {$endc}
  431. {
  432. kAXSelectedChildrenAttribute
  433. Indicates the selected sub elements of a given element in the visual element hierarchy.
  434. This is a the subset of the element's kAXChildrenAttribute that are selected. This is
  435. commonly used in lists so an assistive app can know which list item are selected.
  436. Value: A CFArrayRef of AXUIElementRefs.
  437. Writable? Only if there is no other way to manipulate the set of selected elements via
  438. accessibilty attributes or actions. Even if other ways exist, this attribute can be
  439. writable as a convenience to assistive applications and their users. If
  440. kAXSelectedChildrenAttribute is writable, a write request with a value of an empty
  441. array should deselect all selected children.
  442. Required for elements that contain selectable sub elements.
  443. }
  444. {$ifc USE_CFSTR_CONSTANT_MACROS}
  445. {$definec kAXSelectedChildrenAttribute CFSTRP('AXSelectedChildren')}
  446. {$endc}
  447. {
  448. kAXVisibleChildrenAttribute
  449. Indicates the visible sub elements of a given element in the visual element hierarchy.
  450. This is a the subset of the element's kAXChildrenAttribute that a sighted user can
  451. see on the screen. In a list element, kAXVisibleChildrenAttribute would be an array
  452. of child elements that are currently scrolled into view.
  453. Value: A CFArrayRef of AXUIElementRefs.
  454. Writable? No.
  455. Recommended for elements whose child elements can be occluded or scrolled out of view.
  456. }
  457. {$ifc USE_CFSTR_CONSTANT_MACROS}
  458. {$definec kAXVisibleChildrenAttribute CFSTRP('AXVisibleChildren')}
  459. {$endc}
  460. {
  461. kAXWindowAttribute
  462. A short cut for traversing an element's parent hierarchy until an element of role
  463. kAXWindowRole is found. Note that the value for kAXWindowAttribute should not be
  464. an element of role kAXSheetRole or kAXDrawerRole; instead, the value should be the
  465. element of kAXWindowRole that the sheet or drawer is attached to.
  466. Value: an AXUIElementRef of role kAXWindowRole.
  467. Writable? No.
  468. Required for any element that has an element of role kAXWindowRole somewhere
  469. in its parent chain.
  470. }
  471. {$ifc USE_CFSTR_CONSTANT_MACROS}
  472. {$definec kAXWindowAttribute CFSTRP('AXWindow')}
  473. {$endc}
  474. {
  475. kAXTopLevelUIElementAttribute
  476. This is very much like the kAXWindowAttribute, except that the value of this
  477. attribute can be an element with role kAXSheetRole or kAXDrawerRole. It is
  478. a short cut for traversing an element's parent hierarchy until an element of
  479. role kAXWindowRole, kAXSheetRole, or kAXDrawerRole is found.
  480. Value: An AXUIElementRef of role kAXWindowRole, kAXSheetRole, or kAXDrawerRole.
  481. Writable? No.
  482. Required for any element that has an appropriate element somewhere in its
  483. parent chain.
  484. }
  485. {$ifc USE_CFSTR_CONSTANT_MACROS}
  486. {$definec kAXTopLevelUIElementAttribute CFSTRP('AXTopLevelUIElement')}
  487. {$endc}
  488. {
  489. kAXPositionAttribute
  490. The global screen position of the top-left corner of an element.
  491. Value: An AXValueRef with type kAXValueCGPointType. 0,0 is the top-left
  492. corner of the screen that displays the menu bar. The value of the horizontal
  493. axis increases to the right. The value of the vertical axis increases
  494. downward. Units are pixels.
  495. Writable? Generally no. However, some elements that can be moved by the user
  496. through direct manipulation (like windows) should offer a writable position
  497. attribute.
  498. Required for all elements that are visible on the screen, which is virtually
  499. all elements.
  500. }
  501. {$ifc USE_CFSTR_CONSTANT_MACROS}
  502. {$definec kAXPositionAttribute CFSTRP('AXPosition')}
  503. {$endc}
  504. {
  505. kAXSizeAttribute
  506. The vertical and horizontal dimensions of the element.
  507. Value: An AXValueRef with type kAXValueCGSizeType. Units are pixels.
  508. Writable? Generally no. However, some elements that can be resized by the user
  509. through direct manipulation (like windows) should offer a writable size attribute.
  510. Required for all elements that are visible on the screen, which is virtually
  511. all elements.
  512. }
  513. {$ifc USE_CFSTR_CONSTANT_MACROS}
  514. {$definec kAXSizeAttribute CFSTRP('AXSize')}
  515. {$endc}
  516. {
  517. kAXOrientationAttribute
  518. An indiciation of whether an element is drawn and/or interacted with in a
  519. vertical or horizontal manner. Elements such as scroll bars and sliders offer
  520. the kAXOrientationAttribute.
  521. Value: kAXHorizontalOrientationValue, kAXVerticalOrientationValue, or rarely
  522. kAXUnknownOrientationValue.
  523. Writable? No.
  524. Required for scroll bars, sliders, or other elements whose semantic or
  525. associative meaning changes based on their orientation.
  526. }
  527. {$ifc USE_CFSTR_CONSTANT_MACROS}
  528. {$definec kAXOrientationAttribute CFSTRP('AXOrientation')}
  529. {$endc}
  530. {
  531. kAXDescriptionAttribute
  532. An indication of an element's purpose, in a way that is slightly more specific
  533. than the kAXRoleDescriptionAttribute, but which is less wordy than the
  534. kAXHelpAttribute. In English, the description should typically be a concatenation
  535. of a usage adjective with the element's role description. For example, the
  536. description of a slider in a font panel might be "font size slider". The string
  537. should be all lower-case and contain no punctuation.
  538. Value: A localized, human-readable CFStringRef.
  539. Writable? No.
  540. Recommended for all elements because it gives the user a concise indication of
  541. an element's purpose.
  542. }
  543. {$ifc USE_CFSTR_CONSTANT_MACROS}
  544. {$definec kAXDescriptionAttribute CFSTRP('AXDescription')}
  545. {$endc}
  546. // old name
  547. {$ifc USE_CFSTR_CONSTANT_MACROS}
  548. {$definec kAXDescription CFSTRP('AXDescription')}
  549. {$endc}
  550. {
  551. kAXSelectedTextAttribute
  552. The selected text of an editable text element.
  553. Value: A CFStringRef with the currently selected text of the element.
  554. Writable? No.
  555. Required for all editable text elements.
  556. }
  557. {$ifc USE_CFSTR_CONSTANT_MACROS}
  558. {$definec kAXSelectedTextAttribute CFSTRP('AXSelectedText')}
  559. {$endc}
  560. {
  561. kAXSelectedTextRangeAttribute
  562. The range of characters (not bytes) that defines the current selection of an
  563. editable text element.
  564. Value: An AXValueRef of type kAXValueCFRange.
  565. Writable? Yes.
  566. Required for all editable text elements.
  567. }
  568. {$ifc USE_CFSTR_CONSTANT_MACROS}
  569. {$definec kAXSelectedTextRangeAttribute CFSTRP('AXSelectedTextRange')}
  570. {$endc}
  571. {
  572. kAXVisibleCharacterRangeAttribute
  573. The range of characters (not bytes) that are scrolled into view in the editable
  574. text element.
  575. Value: An AXValueRef of type kAXValueCFRange.
  576. Writable? No.
  577. Required for elements of role kAXTextAreaRole. Not required for any other
  578. elements, including those of role kAXTextFieldRole.
  579. }
  580. {$ifc USE_CFSTR_CONSTANT_MACROS}
  581. {$definec kAXVisibleCharacterRangeAttribute CFSTRP('AXVisibleCharacterRange')}
  582. {$endc}
  583. {
  584. kAXNumberOfCharactersAttribute
  585. The total number of characters (not bytes) in an editable text element.
  586. Value: CFNumberRef
  587. Writable? No.
  588. Required for editable text elements.
  589. }
  590. {$ifc USE_CFSTR_CONSTANT_MACROS}
  591. {$definec kAXNumberOfCharactersAttribute CFSTRP('AXNumberOfCharacters')}
  592. {$endc}
  593. {
  594. kAXSharedTextUIElementsAttribute
  595. Value: CFArrayRef of AXUIElementRefs
  596. Writable? No.
  597. Optional?
  598. }
  599. {$ifc USE_CFSTR_CONSTANT_MACROS}
  600. {$definec kAXSharedTextUIElementsAttribute CFSTRP('AXSharedTextUIElements')}
  601. {$endc}
  602. {
  603. kAXSharedCharacterRangeAttribute
  604. Value: AXValueRef of type kAXValueCFRangeType
  605. Writable? No.
  606. Optional?
  607. }
  608. {$ifc USE_CFSTR_CONSTANT_MACROS}
  609. {$definec kAXSharedCharacterRangeAttribute CFSTRP('AXSharedCharacterRange')}
  610. {$endc}
  611. {$ifc USE_CFSTR_CONSTANT_MACROS}
  612. {$definec kAXInsertionPointLineNumberAttribute CFSTRP('AXInsertionPointLineNumber')}
  613. {$endc}
  614. {
  615. kAXMainAttribute
  616. Whether a window is the main document window of an application. For an active
  617. app, the main window is the single active document window. For an inactive app,
  618. the main window is the single document window which would be active if the app
  619. were active. Main does not necessarily imply that the window has key focus.
  620. Value: A CFBooleanRef. True means the window is main. False means it is not.
  621. Writable? Yes.
  622. Required for all window elements.
  623. }
  624. {$ifc USE_CFSTR_CONSTANT_MACROS}
  625. {$definec kAXMainAttribute CFSTRP('AXMain')}
  626. {$endc}
  627. {
  628. kAXMinimizedAttribute
  629. Whether a window is currently minimized to the dock.
  630. Value: A CFBooleanRef. True means minimized.
  631. Writable? Yes.
  632. Required for all window elements that can be minimized.
  633. }
  634. {$ifc USE_CFSTR_CONSTANT_MACROS}
  635. {$definec kAXMinimizedAttribute CFSTRP('AXMinimized')}
  636. {$endc}
  637. {
  638. kAXCloseButtonAttribute
  639. A convenience attribute so assistive apps can quickly access a window's close
  640. button element.
  641. Value: An AXUIElementRef of the window's close button element.
  642. Writable? No.
  643. Required for all window elements that have a close button.
  644. }
  645. {$ifc USE_CFSTR_CONSTANT_MACROS}
  646. {$definec kAXCloseButtonAttribute CFSTRP('AXCloseButton')}
  647. {$endc}
  648. {
  649. kAXZoomButtonAttribute
  650. A convenience attribute so assistive apps can quickly access a window's zoom
  651. button element.
  652. Value: An AXUIElementRef of the window's zoom button element.
  653. Writable? No.
  654. Required for all window elements that have a zoom button.
  655. }
  656. {$ifc USE_CFSTR_CONSTANT_MACROS}
  657. {$definec kAXZoomButtonAttribute CFSTRP('AXZoomButton')}
  658. {$endc}
  659. {
  660. kAXMinimizeButtonAttribute
  661. A convenience attribute so assistive apps can quickly access a window's minimize
  662. button element.
  663. Value: An AXUIElementRef of the window's minimize button element.
  664. Writable? No.
  665. Required for all window elements that have a minimize button.
  666. }
  667. {$ifc USE_CFSTR_CONSTANT_MACROS}
  668. {$definec kAXMinimizeButtonAttribute CFSTRP('AXMinimizeButton')}
  669. {$endc}
  670. {
  671. kAXToolbarButtonAttribute
  672. A convenience attribute so assistive apps can quickly access a window's toolbar
  673. button element.
  674. Value: An AXUIElementRef of the window's toolbar button element.
  675. Writable? No.
  676. Required for all window elements that have a toolbar button.
  677. }
  678. {$ifc USE_CFSTR_CONSTANT_MACROS}
  679. {$definec kAXToolbarButtonAttribute CFSTRP('AXToolbarButton')}
  680. {$endc}
  681. {
  682. kAXProxyAttribute
  683. A convenience attribute so assistive apps can quickly access a window's document
  684. proxy element.
  685. Value: An AXUIElementRef of the window's document proxy element.
  686. Writable? No.
  687. Required for all window elements that have a document proxy.
  688. }
  689. {$ifc USE_CFSTR_CONSTANT_MACROS}
  690. {$definec kAXProxyAttribute CFSTRP('AXProxy')}
  691. {$endc}
  692. {
  693. kAXGrowAreaAttribute
  694. A convenience attribute so assistive apps can quickly access a window's grow
  695. area element.
  696. Value: An AXUIElementRef of the window's grow area element.
  697. Writable? No.
  698. Required for all window elements that have a grow area.
  699. }
  700. {$ifc USE_CFSTR_CONSTANT_MACROS}
  701. {$definec kAXGrowAreaAttribute CFSTRP('AXGrowArea')}
  702. {$endc}
  703. {
  704. kAXModalAttribute
  705. Whether a window is modal.
  706. Value: A CFBooleanRef. True means the window is modal.
  707. Writable? No.
  708. Required for all window elements.
  709. }
  710. {$ifc USE_CFSTR_CONSTANT_MACROS}
  711. {$definec kAXModalAttribute CFSTRP('AXModal')}
  712. {$endc}
  713. {
  714. kAXDefaultButtonAttribute
  715. A convenience attribute so assistive apps can quickly access a window's default
  716. button element, if any.
  717. Value: An AXUIElementRef of the window's default button element.
  718. Writable? No.
  719. Required for all window elements that have a default button.
  720. }
  721. {$ifc USE_CFSTR_CONSTANT_MACROS}
  722. {$definec kAXDefaultButtonAttribute CFSTRP('AXDefaultButton')}
  723. {$endc}
  724. {
  725. kAXCancelButtonAttribute
  726. A convenience attribute so assistive apps can quickly access a window's cancel
  727. button element, if any.
  728. Value: An AXUIElementRef of the window's cancel button element.
  729. Writable? No.
  730. Required for all window elements that have a cancel button.
  731. }
  732. {$ifc USE_CFSTR_CONSTANT_MACROS}
  733. {$definec kAXCancelButtonAttribute CFSTRP('AXCancelButton')}
  734. {$endc}
  735. // menu-specific attributes
  736. {$ifc USE_CFSTR_CONSTANT_MACROS}
  737. {$definec kAXMenuItemCmdCharAttribute CFSTRP('AXMenuItemCmdChar')}
  738. {$endc}
  739. {$ifc USE_CFSTR_CONSTANT_MACROS}
  740. {$definec kAXMenuItemCmdVirtualKeyAttribute CFSTRP('AXMenuItemCmdVirtualKey')}
  741. {$endc}
  742. {$ifc USE_CFSTR_CONSTANT_MACROS}
  743. {$definec kAXMenuItemCmdGlyphAttribute CFSTRP('AXMenuItemCmdGlyph')}
  744. {$endc}
  745. {$ifc USE_CFSTR_CONSTANT_MACROS}
  746. {$definec kAXMenuItemCmdModifiersAttribute CFSTRP('AXMenuItemCmdModifiers')}
  747. {$endc}
  748. {$ifc USE_CFSTR_CONSTANT_MACROS}
  749. {$definec kAXMenuItemMarkCharAttribute CFSTRP('AXMenuItemMarkChar')}
  750. {$endc}
  751. {$ifc USE_CFSTR_CONSTANT_MACROS}
  752. {$definec kAXMenuItemPrimaryUIElementAttribute CFSTRP('AXMenuItemPrimaryUIElement')}
  753. {$endc}
  754. // application-specific attributes
  755. {$ifc USE_CFSTR_CONSTANT_MACROS}
  756. {$definec kAXMenuBarAttribute CFSTRP('AXMenuBar')}
  757. {$endc}
  758. {$ifc USE_CFSTR_CONSTANT_MACROS}
  759. {$definec kAXWindowsAttribute CFSTRP('AXWindows')}
  760. {$endc}
  761. {$ifc USE_CFSTR_CONSTANT_MACROS}
  762. {$definec kAXFrontmostAttribute CFSTRP('AXFrontmost')}
  763. {$endc}
  764. {$ifc USE_CFSTR_CONSTANT_MACROS}
  765. {$definec kAXHiddenAttribute CFSTRP('AXHidden')}
  766. {$endc}
  767. {$ifc USE_CFSTR_CONSTANT_MACROS}
  768. {$definec kAXMainWindowAttribute CFSTRP('AXMainWindow')}
  769. {$endc}
  770. {$ifc USE_CFSTR_CONSTANT_MACROS}
  771. {$definec kAXFocusedWindowAttribute CFSTRP('AXFocusedWindow')}
  772. {$endc}
  773. {$ifc USE_CFSTR_CONSTANT_MACROS}
  774. {$definec kAXFocusedUIElementAttribute CFSTRP('AXFocusedUIElement')}
  775. {$endc}
  776. {
  777. kAXHeaderAttribute
  778. A convenience attribute whose value is an element that is a header for another
  779. element. For example, an outline element has a header attribute whose value is
  780. a element of role AXGroup that contains the header buttons for each column.
  781. Used for things like tables, outlines, columns, etc.
  782. Value: An AXUIElementRef whose role varies.
  783. Writable? No.
  784. Recommended for elements that have header elements contained within them that an
  785. assistive application might want convenient access to.
  786. }
  787. {$ifc USE_CFSTR_CONSTANT_MACROS}
  788. {$definec kAXHeaderAttribute CFSTRP('AXHeader')}
  789. {$endc}
  790. {$ifc USE_CFSTR_CONSTANT_MACROS}
  791. {$definec kAXEditedAttribute CFSTRP('AXEdited')}
  792. {$endc}
  793. {$ifc USE_CFSTR_CONSTANT_MACROS}
  794. {$definec kAXValueWrapsAttribute CFSTRP('AXValueWraps')}
  795. {$endc}
  796. {$ifc USE_CFSTR_CONSTANT_MACROS}
  797. {$definec kAXTabsAttribute CFSTRP('AXTabs')}
  798. {$endc}
  799. {$ifc USE_CFSTR_CONSTANT_MACROS}
  800. {$definec kAXTitleUIElementAttribute CFSTRP('AXTitleUIElement')}
  801. {$endc}
  802. {$ifc USE_CFSTR_CONSTANT_MACROS}
  803. {$definec kAXHorizontalScrollBarAttribute CFSTRP('AXHorizontalScrollBar')}
  804. {$endc}
  805. {$ifc USE_CFSTR_CONSTANT_MACROS}
  806. {$definec kAXVerticalScrollBarAttribute CFSTRP('AXVerticalScrollBar')}
  807. {$endc}
  808. {$ifc USE_CFSTR_CONSTANT_MACROS}
  809. {$definec kAXOverflowButtonAttribute CFSTRP('AXOverflowButton')}
  810. {$endc}
  811. {$ifc USE_CFSTR_CONSTANT_MACROS}
  812. {$definec kAXFilenameAttribute CFSTRP('AXFilename')}
  813. {$endc}
  814. {$ifc USE_CFSTR_CONSTANT_MACROS}
  815. {$definec kAXExpandedAttribute CFSTRP('AXExpanded')}
  816. {$endc}
  817. {$ifc USE_CFSTR_CONSTANT_MACROS}
  818. {$definec kAXSelectedAttribute CFSTRP('AXSelected')}
  819. {$endc}
  820. {$ifc USE_CFSTR_CONSTANT_MACROS}
  821. {$definec kAXSplittersAttribute CFSTRP('AXSplitters')}
  822. {$endc}
  823. {$ifc USE_CFSTR_CONSTANT_MACROS}
  824. {$definec kAXNextContentsAttribute CFSTRP('AXNextContents')}
  825. {$endc}
  826. {$ifc USE_CFSTR_CONSTANT_MACROS}
  827. {$definec kAXDocumentAttribute CFSTRP('AXDocument')}
  828. {$endc}
  829. {$ifc USE_CFSTR_CONSTANT_MACROS}
  830. {$definec kAXDecrementButtonAttribute CFSTRP('AXDecrementButton')}
  831. {$endc}
  832. {$ifc USE_CFSTR_CONSTANT_MACROS}
  833. {$definec kAXIncrementButtonAttribute CFSTRP('AXIncrementButton')}
  834. {$endc}
  835. {$ifc USE_CFSTR_CONSTANT_MACROS}
  836. {$definec kAXPreviousContentsAttribute CFSTRP('AXPreviousContents')}
  837. {$endc}
  838. {
  839. kAXContentsAttribute
  840. A convenience attribute so assistive apps can find interesting child elements
  841. of a given element, while at the same time avoiding non-interesting child
  842. elements. For example, the contents of a scroll area are the children that get
  843. scrolled, and not the horizontal and/or vertical scroll bars. The contents of
  844. a tab group does not include the tabs themselves.
  845. Value: A CFArrayRef of AXUIElementRefs.
  846. Writable? No.
  847. Recommended for elements that have children that act upon or are separate from
  848. other children.
  849. }
  850. {$ifc USE_CFSTR_CONSTANT_MACROS}
  851. {$definec kAXContentsAttribute CFSTRP('AXContents')}
  852. {$endc}
  853. {
  854. kAXIncrementorAttribute
  855. Convenience attribute that yields the incrementor of a time field or date
  856. field element.
  857. Value: A AXUIElementRef of role kAXIncrementorRole.
  858. Writable? No.
  859. Required for time field and date field elements that display an incrementor.
  860. }
  861. {$ifc USE_CFSTR_CONSTANT_MACROS}
  862. {$definec kAXIncrementorAttribute CFSTRP('AXIncrementor')}
  863. {$endc}
  864. {
  865. kAXHourFieldAttribute
  866. Convenience attribute that yields the hour field of a time field element.
  867. Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the
  868. hours in a time field element.
  869. Writable? No.
  870. Required for time field elements that display hours.
  871. }
  872. {$ifc USE_CFSTR_CONSTANT_MACROS}
  873. {$definec kAXHourFieldAttribute CFSTRP('AXHourField')}
  874. {$endc}
  875. {
  876. kAXMinuteFieldAttribute
  877. Convenience attribute that yields the minute field of a time field element.
  878. Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the
  879. minutes in a time field element.
  880. Writable? No.
  881. Required for time field elements that display minutes.
  882. }
  883. {$ifc USE_CFSTR_CONSTANT_MACROS}
  884. {$definec kAXMinuteFieldAttribute CFSTRP('AXMinuteField')}
  885. {$endc}
  886. {
  887. kAXSecondFieldAttribute
  888. Convenience attribute that yields the seconds field of a time field element.
  889. Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the
  890. seconds in a time field element.
  891. Writable? No.
  892. Required for time field elements that display seconds.
  893. }
  894. {$ifc USE_CFSTR_CONSTANT_MACROS}
  895. {$definec kAXSecondFieldAttribute CFSTRP('AXSecondField')}
  896. {$endc}
  897. {
  898. kAXAMPMFieldAttribute
  899. Convenience attribute that yields the AM/PM field of a time field element.
  900. Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the
  901. AM/PM setting in a time field element.
  902. Writable? No.
  903. Required for time field elements that displays an AM/PM setting.
  904. }
  905. {$ifc USE_CFSTR_CONSTANT_MACROS}
  906. {$definec kAXAMPMFieldAttribute CFSTRP('AXAMPMField')}
  907. {$endc}
  908. {
  909. kAXDayFieldAttribute
  910. Convenience attribute that yields the day field of a date field element.
  911. Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the
  912. day in a date field element.
  913. Writable? No.
  914. Required for date field elements that display days.
  915. }
  916. {$ifc USE_CFSTR_CONSTANT_MACROS}
  917. {$definec kAXDayFieldAttribute CFSTRP('AXDayField')}
  918. {$endc}
  919. {
  920. kAXMonthFieldAttribute
  921. Convenience attribute that yields the month field of a date field element.
  922. Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the
  923. month in a date field element.
  924. Writable? No.
  925. Required for date field elements that display months.
  926. }
  927. {$ifc USE_CFSTR_CONSTANT_MACROS}
  928. {$definec kAXMonthFieldAttribute CFSTRP('AXMonthField')}
  929. {$endc}
  930. {
  931. kAXYearFieldAttribute
  932. Convenience attribute that yields the year field of a date field element.
  933. Value: A AXUIElementRef of role kAXTextFieldRole that is used to edit the
  934. year in a date field element.
  935. Writable? No.
  936. Required for date field elements that display years.
  937. }
  938. {$ifc USE_CFSTR_CONSTANT_MACROS}
  939. {$definec kAXYearFieldAttribute CFSTRP('AXYearField')}
  940. {$endc}
  941. {
  942. kAXColumnTitleAttribute
  943. }
  944. {$ifc USE_CFSTR_CONSTANT_MACROS}
  945. {$definec kAXColumnTitleAttribute CFSTRP('AXColumnTitles')}
  946. {$endc}
  947. {
  948. kAXURLAttribute
  949. Value: A CFURLRef.
  950. Writable? No.
  951. Required for elements that represent a disk or network item.
  952. }
  953. {$ifc USE_CFSTR_CONSTANT_MACROS}
  954. {$definec kAXURLAttribute CFSTRP('AXURL')}
  955. {$endc}
  956. {$ifc USE_CFSTR_CONSTANT_MACROS}
  957. {$definec kAXLabelUIElementsAttribute CFSTRP('AXLabelUIElements')}
  958. {$endc}
  959. {$ifc USE_CFSTR_CONSTANT_MACROS}
  960. {$definec kAXLabelValueAttribute CFSTRP('AXLabelValue')}
  961. {$endc}
  962. {$ifc USE_CFSTR_CONSTANT_MACROS}
  963. {$definec kAXShownMenuUIElementAttribute CFSTRP('AXShownMenuUIElement')}
  964. {$endc}
  965. {$ifc USE_CFSTR_CONSTANT_MACROS}
  966. {$definec kAXServesAsTitleForUIElementsAttribute CFSTRP('AXServesAsTitleForUIElements')}
  967. {$endc}
  968. {$ifc USE_CFSTR_CONSTANT_MACROS}
  969. {$definec kAXLinkedUIElementsAttribute CFSTRP('AXLinkedUIElements')}
  970. {$endc}
  971. // table/outline view attributes
  972. {$ifc USE_CFSTR_CONSTANT_MACROS}
  973. {$definec kAXRowsAttribute CFSTRP('AXRows')}
  974. {$endc}
  975. {$ifc USE_CFSTR_CONSTANT_MACROS}
  976. {$definec kAXVisibleRowsAttribute CFSTRP('AXVisibleRows')}
  977. {$endc}
  978. {$ifc USE_CFSTR_CONSTANT_MACROS}
  979. {$definec kAXSelectedRowsAttribute CFSTRP('AXSelectedRows')}
  980. {$endc}
  981. {$ifc USE_CFSTR_CONSTANT_MACROS}
  982. {$definec kAXColumnsAttribute CFSTRP('AXColumns')}
  983. {$endc}
  984. {
  985. kAXVisibleColumnsAttribute
  986. Indicates the visible column sub-elements of a kAXBrowserRole element.
  987. This is the subset of a browser's kAXColumnsAttribute where each column in the
  988. array is one that is currently scrolled into view within the browser. It does
  989. not include any columns that are currently scrolled out of view.
  990. Value: A CFArrayRef of AXUIElementRefs representing the columns of a browser.
  991. The columns will be grandchild elements of the browser, and will generally be
  992. of role kAXScrollArea.
  993. Writable? No.
  994. Required for all browser elements.
  995. }
  996. {$ifc USE_CFSTR_CONSTANT_MACROS}
  997. {$definec kAXVisibleColumnsAttribute CFSTRP('AXVisibleColumns')}
  998. {$endc}
  999. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1000. {$definec kAXSelectedColumnsAttribute CFSTRP('AXSelectedColumns')}
  1001. {$endc}
  1002. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1003. {$definec kAXSortDirectionAttribute CFSTRP('AXSortDirection')}
  1004. {$endc}
  1005. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1006. {$definec kAXColumnHeaderUIElementsAttribute CFSTRP('AXColumnHeaderUIElements')}
  1007. {$endc}
  1008. // row/column attributes
  1009. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1010. {$definec kAXIndexAttribute CFSTRP('AXIndex')}
  1011. {$endc}
  1012. // outline attributes
  1013. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1014. {$definec kAXDisclosingAttribute CFSTRP('AXDisclosing')}
  1015. {$endc}
  1016. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1017. {$definec kAXDisclosedRowsAttribute CFSTRP('AXDisclosedRows')}
  1018. {$endc}
  1019. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1020. {$definec kAXDisclosedByRowAttribute CFSTRP('AXDisclosedByRow')}
  1021. {$endc}
  1022. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1023. {$definec kAXDisclosureLevelAttribute CFSTRP('AXDisclosureLevel')}
  1024. {$endc}
  1025. // matte attributes
  1026. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1027. {$definec kAXMatteHoleAttribute CFSTRP('AXMatteHole')}
  1028. {$endc}
  1029. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1030. {$definec kAXMatteContentUIElementAttribute CFSTRP('AXMatteContentUIElement')}
  1031. {$endc}
  1032. // ruler attributes
  1033. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1034. {$definec kAXMarkerUIElementsAttribute CFSTRP('AXMarkerUIElements')}
  1035. {$endc}
  1036. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1037. {$definec kAXUnitsAttribute CFSTRP('AXUnits')}
  1038. {$endc}
  1039. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1040. {$definec kAXUnitDescriptionAttribute CFSTRP('AXUnitDescription')}
  1041. {$endc}
  1042. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1043. {$definec kAXMarkerTypeAttribute CFSTRP('AXMarkerType')}
  1044. {$endc}
  1045. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1046. {$definec kAXMarkerTypeDescriptionAttribute CFSTRP('AXMarkerTypeDescription')}
  1047. {$endc}
  1048. // Dock attributes
  1049. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1050. {$definec kAXIsApplicationRunningAttribute CFSTRP('AXIsApplicationRunning')}
  1051. {$endc}
  1052. // search field attributes
  1053. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1054. {$definec kAXSearchButtonAttribute CFSTRP('AXSearchButton')}
  1055. {$endc}
  1056. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1057. {$definec kAXClearButtonAttribute CFSTRP('AXClearButton')}
  1058. {$endc}
  1059. // system-wide attributes
  1060. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1061. {$definec kAXFocusedApplicationAttribute CFSTRP('AXFocusedApplication')}
  1062. {$endc}
  1063. // obsolete/unknown attributes
  1064. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1065. {$definec kAXTextAttribute CFSTRP('AXText')}
  1066. {$endc}
  1067. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1068. {$definec kAXVisibleTextAttribute CFSTRP('AXVisibleText')}
  1069. {$endc}
  1070. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1071. {$definec kAXIsEditableAttribute CFSTRP('AXIsEditable')}
  1072. {$endc}
  1073. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1074. {$definec kAXColumnTitlesAttribute CFSTRP('AXColumnTitles')}
  1075. {$endc}
  1076. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1077. { Parameterized Attributes }
  1078. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1079. // Text Suite Parameterized Attributes
  1080. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1081. {$definec kAXLineForIndexParameterizedAttribute CFSTRP('AXLineForIndex')}
  1082. {$endc}
  1083. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1084. {$definec kAXRangeForLineParameterizedAttribute CFSTRP('AXRangeForLine')}
  1085. {$endc}
  1086. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1087. {$definec kAXStringForRangeParameterizedAttribute CFSTRP('AXStringForRange')}
  1088. {$endc}
  1089. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1090. {$definec kAXRangeForPositionParameterizedAttribute CFSTRP('AXRangeForPosition')}
  1091. {$endc}
  1092. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1093. {$definec kAXRangeForIndexParameterizedAttribute CFSTRP('AXRangeForIndex')}
  1094. {$endc}
  1095. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1096. {$definec kAXBoundsForRangeParameterizedAttribute CFSTRP('AXBoundsForRange')}
  1097. {$endc}
  1098. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1099. {$definec kAXRTFForRangeParameterizedAttribute CFSTRP('AXRTFForRange')}
  1100. {$endc}
  1101. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1102. {$definec kAXAttributedStringForRangeParameterizedAttribute CFSTRP('AXAttributedStringForRange')}
  1103. {$endc}
  1104. {$ifc USE_CFSTR_CONSTANT_MACROS}
  1105. {$definec kAXStyleRangeForIndexParameterizedAttribute CFSTRP('AXStyleRangeForIndex')}
  1106. {$endc}
  1107. end.