ax_enums.mojom 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. // Must also be kept in sync with extensions/common/api/automation.idl.
  5. module ax.mojom;
  6. // For new entries to the following four enums, also add to
  7. // extensions/common/api/automation.idl. This is enforced
  8. // by a PRESUBMIT check.
  9. //
  10. // Explanation of in-lined comments next to some enum values/attributes:
  11. //
  12. // Web: this attribute is only used in web content.
  13. //
  14. // Native: this attribute is only used in native UI.
  15. //
  16. // Implicit: for events, it would be cleaner if we just updated the AX node and
  17. // each platform fired the appropriate events to indicate which
  18. // platform-specific attributes changed.
  19. //
  20. // if Native / [Platform1, ...] is specified, the attribute is only used
  21. // on those platforms.
  22. //
  23. // If unspecified, the attribute is used across web and native on multiple
  24. // platforms.
  25. // Keep these values in sync with AXEventType in
  26. // tools/metrics/histograms/enums.xml.
  27. // Next version: 1
  28. // Next value: 59
  29. [Extensible, Stable, Uuid="686e661e-f8c7-4214-8713-1f66d95d3ffa"]
  30. enum Event {
  31. [Default]kNone = 0,
  32. kActiveDescendantChanged = 1,
  33. kAlert = 2,
  34. kAriaAttributeChanged = 3, // Implicit
  35. kAutocorrectionOccured = 4, // Unknown: http://crbug.com/392498
  36. kBlur = 5, // Remove: http://crbug.com/392502
  37. kCheckedStateChanged = 6, // Implicit
  38. kChildrenChanged = 7,
  39. kClicked = 8,
  40. kControlsChanged = 9,
  41. kDocumentSelectionChanged = 10,
  42. kDocumentTitleChanged = 11,
  43. kEndOfTest = 12, // Sentinel value indicating the end of a test
  44. kExpandedChanged = 13, // Web
  45. kFocus = 14,
  46. kFocusAfterMenuClose = 15,
  47. // Contextual focus event that must delay the next focus event.
  48. kFocusContext = 16,
  49. kHide = 17, // Remove: http://crbug.com/392502
  50. kHitTestResult = 18,
  51. kHover = 19,
  52. kImageFrameUpdated = 20, // Web
  53. kLayoutComplete = 21, // Web
  54. kLiveRegionCreated = 22, // Implicit
  55. kLiveRegionChanged = 23, // Web
  56. kLoadComplete = 24, // Web
  57. kLoadStart = 25, // Web / AuraLinux
  58. kLocationChanged = 26, // Web
  59. kMediaStartedPlaying = 27, // Native / Automation
  60. kMediaStoppedPlaying = 28, // Native / Automation
  61. kMenuEnd = 29, // Native / web: menu interaction has ended.
  62. kMenuListValueChanged = 30, // Web
  63. kMenuPopupEnd = 31, // Native / web: a menu/submenu is hidden/closed.
  64. kMenuPopupStart = 32, // Native / web: a menu/submenu is shown/opened.
  65. kMenuStart = 33, // Native / web: menu interaction has begun.
  66. kMouseCanceled = 34,
  67. kMouseDragged = 35,
  68. kMouseMoved = 36,
  69. kMousePressed = 37,
  70. kMouseReleased = 38,
  71. kRowCollapsed = 39,
  72. kRowCountChanged = 40,
  73. kRowExpanded = 41,
  74. kScrollPositionChanged = 42, // Web
  75. kScrolledToAnchor = 43, // Web
  76. kSelectedChildrenChanged = 44, // Web
  77. kSelection = 45, // Native
  78. kSelectionAdd = 46, // Native
  79. kSelectionRemove = 47, // Native
  80. kShow = 48, // Native / Automation
  81. kStateChanged = 49, // Native / Automation
  82. kTextChanged = 50,
  83. // TODO(nektar): Remove kTextSelectionChanged.
  84. kTextSelectionChanged = 51,
  85. kTooltipClosed = 52,
  86. kTooltipOpened = 53,
  87. kTreeChanged = 54, // Don't explicitly fire this event.
  88. // TODO(nektar): Remove kValueChanged.
  89. kValueChanged = 55,
  90. kWindowActivated = 56, // Native
  91. kWindowDeactivated = 57, // Native
  92. kWindowVisibilityChanged = 58, // Native
  93. };
  94. // Accessibility object roles.
  95. // The majority of these roles come from the ARIA specification. Reference
  96. // the latest draft for proper usage.
  97. //
  98. // Roles not included by the ARIA specification should be avoided, especially
  99. // internal roles used by the accessibility infrastructure.
  100. //
  101. // Explanation of in-lined comments next to some enum values.
  102. //
  103. // Web: this attribute is only used in web content.
  104. //
  105. // Native: this attribute is only used in native UI.
  106. // Next version: 4
  107. // Next value: 209
  108. [Extensible, Stable, Uuid="d258eb73-e0cc-490c-b881-80ee11d3fec2"]
  109. enum Role {
  110. [Default]kUnknown = 181, // The role has not been set.
  111. kAbbr = 1,
  112. kAlert = 2,
  113. kAlertDialog = 3,
  114. kApplication = 4,
  115. kArticle = 5,
  116. kAudio = 6,
  117. kBanner = 7,
  118. kBlockquote = 8,
  119. kButton = 9,
  120. kCanvas = 10,
  121. kCaption = 11,
  122. kCaret = 12,
  123. kCell = 13,
  124. kCheckBox = 14,
  125. kClient = 15,
  126. kCode = 16,
  127. kColorWell = 17,
  128. kColumn = 18,
  129. kColumnHeader = 19,
  130. kComboBoxGrouping = 20,
  131. kComboBoxMenuButton = 21,
  132. kComplementary = 22,
  133. kComment = 23,
  134. kContentDeletion = 24,
  135. kContentInsertion = 25,
  136. kContentInfo = 26,
  137. kDate = 27,
  138. kDateTime = 28,
  139. kDefinition = 29,
  140. kDescriptionList = 30,
  141. kDescriptionListDetail = 31,
  142. kDescriptionListTerm = 32,
  143. kDesktop = 33, // internal
  144. kDetails = 34,
  145. kDialog = 35,
  146. kDirectory = 36,
  147. kDisclosureTriangle = 37,
  148. // --------------------------------------------------------------
  149. // DPub Roles:
  150. // https://www.w3.org/TR/dpub-aam-1.0/#mapping_role_table
  151. kDocAbstract = 38,
  152. kDocAcknowledgments = 39,
  153. kDocAfterword = 40,
  154. kDocAppendix = 41,
  155. kDocBackLink = 42,
  156. kDocBiblioEntry = 43,
  157. kDocBibliography = 44,
  158. kDocBiblioRef = 45,
  159. kDocChapter = 46,
  160. kDocColophon = 47,
  161. kDocConclusion = 48,
  162. kDocCover = 49,
  163. kDocCredit = 50,
  164. kDocCredits = 51,
  165. kDocDedication = 52,
  166. kDocEndnote = 53,
  167. kDocEndnotes = 54,
  168. kDocEpigraph = 55,
  169. kDocEpilogue = 56,
  170. kDocErrata = 57,
  171. kDocExample = 58,
  172. kDocFootnote = 59,
  173. kDocForeword = 60,
  174. kDocGlossary = 61,
  175. kDocGlossRef = 62,
  176. kDocIndex = 63,
  177. kDocIntroduction = 64,
  178. kDocNoteRef = 65,
  179. kDocNotice = 66,
  180. kDocPageBreak = 67,
  181. kDocPageFooter = 68,
  182. kDocPageHeader = 69,
  183. kDocPageList = 70,
  184. kDocPart = 71,
  185. kDocPreface = 72,
  186. kDocPrologue = 73,
  187. kDocPullquote = 74,
  188. kDocQna = 75,
  189. kDocSubtitle = 76,
  190. kDocTip = 77,
  191. kDocToc = 78,
  192. // End DPub roles.
  193. // --------------------------------------------------------------
  194. kDocument = 79,
  195. kEmbeddedObject = 80,
  196. kEmphasis = 81,
  197. kFeed = 82,
  198. kFigcaption = 83,
  199. kFigure = 84,
  200. kFooter = 85,
  201. kFooterAsNonLandmark = 86,
  202. kForm = 87,
  203. kGenericContainer = 88,
  204. // --------------------------------------------------------------
  205. // ARIA Graphics module roles:
  206. // https://rawgit.com/w3c/graphics-aam/main/#mapping_role_table
  207. kGraphicsDocument = 89,
  208. kGraphicsObject = 90,
  209. kGraphicsSymbol = 91,
  210. // End ARIA Graphics module roles.
  211. // --------------------------------------------------------------
  212. kGrid = 92,
  213. kGroup = 93,
  214. kHeader = 94,
  215. kHeaderAsNonLandmark = 95,
  216. kHeading = 96,
  217. kIframe = 97,
  218. kIframePresentational = 98,
  219. kImage = 99,
  220. kImeCandidate = 100,
  221. kInlineTextBox = 101,
  222. kInputTime = 102,
  223. kKeyboard = 103,
  224. kLabelText = 104,
  225. kLayoutTable = 105,
  226. kLayoutTableCell = 106,
  227. kLayoutTableRow = 107,
  228. kLegend = 108,
  229. kLineBreak = 109,
  230. kLink = 110,
  231. kList = 111,
  232. kListBox = 112,
  233. kListBoxOption = 113,
  234. // kListGrid behaves similar to an ARIA grid but is primarily used by
  235. // TableView and its subclasses, so that they could be exposed correctly on
  236. // certain platforms.
  237. kListGrid = 114, // Native
  238. kListItem = 115,
  239. kListMarker = 116,
  240. kLog = 117,
  241. kMain = 118,
  242. kMark = 119,
  243. kMarquee = 120,
  244. kMath = 121,
  245. // MathML roles
  246. // https://w3c.github.io/mathml-aam
  247. [MinVersion=3] kMathMLFraction = 188,
  248. [MinVersion=3] kMathMLIdentifier = 189,
  249. [MinVersion=2] kMathMLMath = 187,
  250. [MinVersion=3] kMathMLMultiscripts = 190,
  251. [MinVersion=3] kMathMLNoneScript = 191,
  252. [MinVersion=3] kMathMLNumber = 192,
  253. [MinVersion=3] kMathMLOperator = 193,
  254. [MinVersion=3] kMathMLOver = 194,
  255. [MinVersion=3] kMathMLPrescriptDelimiter = 195,
  256. [MinVersion=3] kMathMLRoot = 196,
  257. [MinVersion=3] kMathMLRow = 197,
  258. [MinVersion=3] kMathMLSquareRoot = 198,
  259. [MinVersion=3] kMathMLStringLiteral = 199,
  260. [MinVersion=3] kMathMLSub = 200,
  261. [MinVersion=3] kMathMLSubSup = 201,
  262. [MinVersion=3] kMathMLSup = 202,
  263. [MinVersion=3] kMathMLTable = 203,
  264. [MinVersion=3] kMathMLTableCell = 204,
  265. [MinVersion=3] kMathMLTableRow = 205,
  266. [MinVersion=3] kMathMLText = 206,
  267. [MinVersion=3] kMathMLUnder = 207,
  268. [MinVersion=3] kMathMLUnderOver = 208,
  269. kMenu = 122,
  270. kMenuBar = 123,
  271. kMenuItem = 124,
  272. kMenuItemCheckBox = 125,
  273. kMenuItemRadio = 126,
  274. kMenuListOption = 127,
  275. kMenuListPopup = 128,
  276. kMeter = 129,
  277. kNavigation = 130,
  278. kNone = 0, // Used for role="none"/"presentation"; ignored in platform tree.
  279. kNote = 131,
  280. kPane = 132,
  281. kParagraph = 133,
  282. kPdfActionableHighlight = 134,
  283. kPdfRoot = 135,
  284. kPluginObject = 136,
  285. kPopUpButton = 137,
  286. kPortal = 138,
  287. kPre = 139,
  288. kProgressIndicator = 140,
  289. kRadioButton = 141,
  290. kRadioGroup = 142,
  291. kRegion = 143,
  292. kRootWebArea = 144,
  293. kRow = 145,
  294. kRowGroup = 146,
  295. kRowHeader = 147,
  296. kRuby = 148,
  297. kRubyAnnotation = 149,
  298. kScrollBar = 150,
  299. kScrollView = 151,
  300. kSearch = 152,
  301. kSearchBox = 153,
  302. kSection = 154,
  303. kSlider = 155,
  304. kSpinButton = 156,
  305. kSplitter = 157,
  306. kStaticText = 158,
  307. kStatus = 159,
  308. kStrong = 160,
  309. [MinVersion=1] kSubscript = 185,
  310. kSuggestion = 161,
  311. [MinVersion=1] kSuperscript = 186,
  312. kSvgRoot = 162,
  313. kSwitch = 163,
  314. kTab = 164,
  315. kTabList = 165,
  316. kTabPanel = 166,
  317. kTable = 167,
  318. kTableHeaderContainer = 168,
  319. kTerm = 169,
  320. kTextField = 170,
  321. kTextFieldWithComboBox = 171,
  322. kTime = 172,
  323. kTimer = 173,
  324. kTitleBar = 174,
  325. kToggleButton = 175,
  326. kToolbar = 176,
  327. kTooltip = 177,
  328. kTree = 178,
  329. kTreeGrid = 179,
  330. kTreeItem = 180,
  331. kVideo = 182,
  332. kWebView = 183,
  333. kWindow = 184,
  334. };
  335. // Next value: 19
  336. [Extensible, Stable, Uuid="35e7123a-f31f-4de7-94a4-3412dcb6bd5a"]
  337. enum State {
  338. [Default]kNone = 0,
  339. kAutofillAvailable = 1,
  340. kCollapsed = 2,
  341. kDefault = 3,
  342. kEditable = 4,
  343. kExpanded = 5,
  344. kFocusable = 6,
  345. // Grows horizontally, e.g. most toolbars and separators.
  346. kHorizontal = 7,
  347. kHovered = 8,
  348. // Skip over this node in the accessibility tree, but keep its subtree.
  349. kIgnored = 9,
  350. kInvisible = 10,
  351. kLinked = 11,
  352. kMultiline = 12,
  353. kMultiselectable = 13,
  354. kProtected = 14,
  355. kRequired = 15,
  356. kRichlyEditable = 16,
  357. // Grows vertically, e.g. menu or combo box.
  358. kVertical = 17,
  359. kVisited = 18,
  360. };
  361. // An action to be taken on an accessibility node.
  362. // In contrast to |AXDefaultActionVerb|, these describe what happens to the
  363. // object, e.g. "FOCUS".
  364. // Next version: 2
  365. // Next value: 38
  366. [Extensible, Stable, Uuid="ed8e4466-0522-4f98-ac28-59a523b70232"]
  367. enum Action {
  368. [Default]kNone = 0,
  369. // Request image annotations for all the eligible images on a page.
  370. kAnnotatePageImages = 1,
  371. kBlur = 2,
  372. // Notifies a node that it no longer has accessibility focus.
  373. // Currently used only on Android and only internally, it's not
  374. // exposed to the open web. See kSetAccessibilityFocus, below.
  375. kClearAccessibilityFocus = 3,
  376. // Collapse the collapsible node.
  377. kCollapse = 4,
  378. kCustomAction = 5,
  379. // Decrement a slider or range control by one step value.
  380. kDecrement = 6,
  381. // Do the default action for an object, typically this means "click".
  382. kDoDefault = 7,
  383. // Expand the expandable node.
  384. kExpand = 8,
  385. kFocus = 9,
  386. // Return the content of this image object in the image_data attribute.
  387. kGetImageData = 10,
  388. // Gets the bounding rect for a range of text.
  389. kGetTextLocation = 11,
  390. kHideTooltip = 12,
  391. // Given a point, find the object it corresponds to and fire a
  392. // |AXActionData.hit_test_event_to_fire| event on it in response.
  393. kHitTest = 13,
  394. // Increment a slider or range control by one step value.
  395. kIncrement = 14,
  396. // For internal use only; signals to tree sources to invalidate an entire
  397. // tree.
  398. kInternalInvalidateTree = 15,
  399. // Load inline text boxes for this subtree, providing information
  400. // about word boundaries, line layout, and individual character
  401. // bounding boxes.
  402. kLoadInlineTextBoxes = 16,
  403. // Delete any selected text in the control's text value and
  404. // insert |AXActionData::value| in its place, like when typing or pasting.
  405. kReplaceSelectedText = 17,
  406. [MinVersion=1] kResumeMedia = 34,
  407. // Scrolls by approximately one screen in a specific direction. Should be
  408. // called on a node that has scrollable boolean set to true.
  409. kScrollBackward = 18,
  410. kScrollDown = 19,
  411. kScrollForward = 20,
  412. kScrollLeft = 21,
  413. kScrollRight = 22,
  414. kScrollUp = 23,
  415. // Scroll any scrollable containers to make the target object visible
  416. // on the screen. Optionally pass a subfocus rect in
  417. // AXActionData.target_rect, in node-local coordinates.
  418. kScrollToMakeVisible = 24,
  419. // Scroll the given object to a specified point on the screen in
  420. // global screen coordinates. Pass a point in AXActionData.target_point.
  421. kScrollToPoint = 25,
  422. // Notifies a node that it has accessibility focus.
  423. // Currently used only on Android and only internally, it's not
  424. // exposed to the open web. See kClearAccessibilityFocus, above.
  425. kSetAccessibilityFocus = 26,
  426. kSetScrollOffset = 27,
  427. kSetSelection = 28,
  428. // Don't focus this node, but set it as the sequential focus navigation
  429. // starting point, so that pressing Tab moves to the next element
  430. // following this one, for example.
  431. kSetSequentialFocusNavigationStartingPoint = 29,
  432. // Replace the value of the control with AXActionData::value and
  433. // reset the selection, if applicable.
  434. kSetValue = 30,
  435. kShowContextMenu = 31,
  436. // Send an event signaling the end of a test.
  437. kSignalEndOfTest = 32,
  438. kShowTooltip = 33,
  439. [MinVersion=1] kStartDuckingMedia = 35,
  440. [MinVersion=1] kStopDuckingMedia = 36,
  441. [MinVersion=1] kSuspendMedia = 37,
  442. };
  443. enum ActionFlags {
  444. kNone,
  445. kRequestImages,
  446. kRequestInlineTextBoxes,
  447. };
  448. // A list of valid values for the horizontal and vertical scroll alignment
  449. // arguments in |AXActionData|. These values control where a node is scrolled
  450. // in the viewport.
  451. // Next version: 1
  452. // Next value: 6
  453. [Extensible, Stable, Uuid="a9d4f137-4f2e-4533-a4ac-cabdc433ecee"]
  454. enum ScrollAlignment {
  455. [Default]kNone = 0,
  456. kScrollAlignmentCenter = 1,
  457. kScrollAlignmentTop = 2,
  458. kScrollAlignmentBottom = 3,
  459. kScrollAlignmentLeft = 4,
  460. kScrollAlignmentRight = 5,
  461. kScrollAlignmentClosestEdge = 6
  462. };
  463. // A list of valid values for the scroll behavior argument to argument in
  464. // |AXActionData|. These values control whether a node is scrolled in the
  465. // viewport if it is already visible.
  466. // Next version: 1
  467. [Extensible, Stable, Uuid="8bf2a1cb-2edb-4e41-8d7e-a6c8baa95c85"]
  468. enum ScrollBehavior {
  469. [Default]kNone = 0,
  470. kDoNotScrollIfVisible = 1,
  471. kScrollIfVisible = 2,
  472. };
  473. // A list of valid values for the |AXIntAttribute| |default_action_verb|.
  474. // These will describe the action that will be performed on a given node when
  475. // executing the default action, which is a click.
  476. // In contrast to |AXAction|, these describe what the user can do on the
  477. // object, e.g. "PRESS", not what happens to the object as a result.
  478. // Only one verb can be used at a time to describe the default action.
  479. enum DefaultActionVerb {
  480. kNone,
  481. kActivate,
  482. kCheck,
  483. kClick,
  484. // A click will be performed on one of the node's ancestors.
  485. // This happens when the node itself is not clickable, but one of its
  486. // ancestors has click handlers attached which are able to capture the click
  487. // as it bubbles up.
  488. kClickAncestor,
  489. kJump,
  490. kOpen,
  491. kPress,
  492. kSelect,
  493. kUncheck,
  494. };
  495. // A change to the accessibility tree.
  496. enum Mutation {
  497. kNone,
  498. kNodeCreated,
  499. kSubtreeCreated,
  500. kNodeChanged,
  501. kNodeRemoved,
  502. };
  503. // Next value: 31
  504. [Extensible, Stable, Uuid="e5a4cd0c-3152-4427-93d5-35ff7d0f1ae8"]
  505. enum StringAttribute {
  506. [Default]kNone = 0,
  507. kAccessKey = 1,
  508. kAppId = 2,
  509. // AriaInvalidValue is deprecated. Spelling and Grammar errors are stored
  510. // using markers and invalid state in general is stored using invalidState.
  511. kAriaInvalidValue = 3,
  512. kAutoComplete = 4,
  513. kCheckedStateDescription = 5,
  514. kChildTreeId = 6,
  515. kChildTreeNodeAppId = 7,
  516. kClassName = 8,
  517. kContainerLiveRelevant = 9,
  518. kContainerLiveStatus = 10,
  519. kDescription = 11, // Any description = 11, from any description source.
  520. kDisplay = 12,
  521. // Only present when different from parent.
  522. kFontFamily = 13,
  523. kHtmlTag = 14,
  524. // Stores an automatic image annotation if one is available. Only valid on
  525. // ax::mojom::Role::kImage. See kImageAnnotationStatus, too.
  526. kImageAnnotation = 15,
  527. kImageDataUrl = 16,
  528. kInnerHtml = 17,
  529. kInputType = 18,
  530. kKeyShortcuts = 19,
  531. // Only present when different from parent.
  532. kLanguage = 20,
  533. kName = 21,
  534. kLiveRelevant = 22,
  535. kLiveStatus = 23,
  536. // Only if not already exposed in kName (NameFrom::kPlaceholder)
  537. kPlaceholder = 24,
  538. kRole = 25,
  539. kRoleDescription = 26,
  540. // Only if not already exposed in kName (NameFrom::kTitle)
  541. kTooltip = 27,
  542. kUrl = 28,
  543. kValue = 29,
  544. // TODO(bebeaudr): kAriaVirtualContent is currently a string attribute to
  545. // facilitate prototyping. Make it an enum when we're done prototyping.
  546. kVirtualContent = 30,
  547. };
  548. // Next value: 61
  549. [Extensible, Stable, Uuid="c350e50f-5177-405d-b155-79868449ba7b"]
  550. enum IntAttribute {
  551. [Default]kNone = 0,
  552. kDefaultActionVerb = 1,
  553. // Scrollable container attributes.
  554. kScrollX = 2,
  555. kScrollXMin = 3,
  556. kScrollXMax = 4,
  557. kScrollY = 5,
  558. kScrollYMin = 6,
  559. kScrollYMax = 7,
  560. // Attributes for retrieving the endpoints of a selection.
  561. kTextSelStart = 8,
  562. kTextSelEnd = 9,
  563. // aria_col* and aria_row* attributes
  564. kAriaColumnCount = 10,
  565. kAriaCellColumnIndex = 11,
  566. kAriaCellColumnSpan = 12,
  567. kAriaRowCount = 13,
  568. kAriaCellRowIndex = 14,
  569. kAriaCellRowSpan = 15,
  570. // Table attributes.
  571. kTableRowCount = 16,
  572. kTableColumnCount = 17,
  573. kTableHeaderId = 18,
  574. // Table row attributes.
  575. kTableRowIndex = 19,
  576. kTableRowHeaderId = 20,
  577. // Table column attributes.
  578. kTableColumnIndex = 21,
  579. kTableColumnHeaderId = 22,
  580. // Table cell attributes.
  581. kTableCellColumnIndex = 23,
  582. kTableCellColumnSpan = 24,
  583. kTableCellRowIndex = 25,
  584. kTableCellRowSpan = 26,
  585. kSortDirection = 27,
  586. // Tree control attributes.
  587. kHierarchicalLevel = 28,
  588. // What information was used to compute the object's name
  589. // (of type AXNameFrom).
  590. kNameFrom = 29,
  591. // What information was used to compute the object's description
  592. // (of type AXDescriptionFrom).
  593. kDescriptionFrom = 30,
  594. // Relationships between this element and other elements.
  595. kActivedescendantId = 31,
  596. kErrormessageId = 32,
  597. kInPageLinkTargetId = 33,
  598. kMemberOfId = 34,
  599. kNextOnLineId = 35,
  600. kPopupForId = 36,
  601. kPreviousOnLineId = 37,
  602. // Input restriction, if any, such as readonly or disabled.
  603. // Of type AXRestriction, see below.
  604. // No value or enabled control or other object that is not disabled.
  605. kRestriction = 38,
  606. // Position or Number of items in current set of listitems or treeitems
  607. kSetSize = 39,
  608. kPosInSet = 40,
  609. // In the case of Role::kColorWell, specifies the selected color.
  610. kColorValue = 41,
  611. // Indicates the element that represents the current item within a container
  612. // or set of related elements.
  613. kAriaCurrentState = 42,
  614. // Text attributes.
  615. // Foreground and background color in RGBA.
  616. kBackgroundColor = 43,
  617. kColor = 44,
  618. kHasPopup = 45,
  619. // Image annotation status, of type ImageAnnotationStatus.
  620. kImageAnnotationStatus = 46,
  621. // Indicates if a form control has invalid input or
  622. // if an element has an aria-invalid attribute.
  623. kInvalidState = 47,
  624. // Of type AXCheckedState
  625. kCheckedState = 48,
  626. // The list style type. Only available on list items.
  627. kListStyle = 49,
  628. // Specifies the alignment of the text, e.g. left, center, right, justify
  629. kTextAlign = 50,
  630. // Specifies the direction of the text, e.g., right-to-left.
  631. kTextDirection = 51,
  632. // Specifies the position of the text, e.g., subscript.
  633. kTextPosition = 52,
  634. // Bold, italic, underline, etc.
  635. kTextStyle = 53,
  636. // The overline text decoration style.
  637. kTextOverlineStyle = 54,
  638. // The strikethrough text decoration style.
  639. kTextStrikethroughStyle = 55,
  640. // The underline text decoration style.
  641. kTextUnderlineStyle = 56,
  642. // Focus traversal in views and Android.
  643. kPreviousFocusId = 57,
  644. kNextFocusId = 58,
  645. // For indicating what functions can be performed when a dragged object
  646. // is released on the drop target.
  647. // Note: aria-dropeffect is deprecated in WAI-ARIA 1.1.
  648. kDropeffect = 59,
  649. // The DOMNodeID from Blink. Currently only populated when using
  650. // the accessibility tree for PDF exporting. Warning, this is totally
  651. // unrelated to the accessibility node ID, or the ID attribute for an
  652. // HTML element - it's an ID used to uniquely identify nodes in Blink.
  653. kDOMNodeId = 60,
  654. };
  655. // Next version: 2
  656. // Next value: 8
  657. [Extensible, Stable, Uuid="6ee6b6eb-8af4-488f-96d5-343e56be5beb"]
  658. enum FloatAttribute {
  659. [Default]kNone = 0,
  660. // Range attributes.
  661. kValueForRange = 1,
  662. kMinValueForRange = 2,
  663. kMaxValueForRange = 3,
  664. kStepValueForRange = 4,
  665. // Text attributes.
  666. // Font size is in pixels.
  667. kFontSize = 5,
  668. // Font weight can take on any arbitrary numeric value. Increments of 100 in
  669. // range [0, 900] represent keywords such as light, normal, bold, etc. 0 is
  670. // the default.
  671. kFontWeight = 6,
  672. // The text indent of the text, in mm.
  673. kTextIndent = 7,
  674. // Only on ChromeOS. The scaling factor applied to the child tree.
  675. // Used with kChildTreeId.
  676. [MinVersion=1] kChildTreeScale = 8,
  677. };
  678. // These attributes can take three states:
  679. // true, false, or undefined/unset.
  680. //
  681. // Some attributes are only ever true or unset. In these cases, undefined is
  682. // equivalent to false. In other attributes, all three states have meaning.
  683. //
  684. // Finally, note that different tree sources can use all three states for a
  685. // given attribute, while another tree source only uses two.
  686. // Next value: 21
  687. [Extensible, Stable, Uuid="ed1f1b8c-c89c-483f-9840-ca3b10042e81"]
  688. enum BoolAttribute {
  689. [Default]kNone = 0,
  690. // Generic busy state, does not have to be on a live region.
  691. kBusy = 1,
  692. // The object functions as a text field which exposes its descendants.
  693. // Use cases include the root of a content-editable region, an ARIA
  694. // textbox which isn't currently editable and which has interactive
  695. // descendants, and a <body> element that has "design-mode" set to "on".
  696. kNonAtomicTextFieldRoot = 2,
  697. // Live region attributes.
  698. kContainerLiveAtomic = 3,
  699. kContainerLiveBusy = 4,
  700. kLiveAtomic = 5,
  701. // If a dialog box is marked as explicitly modal
  702. kModal = 6,
  703. // If this is set, all of the other fields in this struct should
  704. // be ignored and only the locations should change.
  705. kUpdateLocationOnly = 7,
  706. // Set on a canvas element if it has fallback content.
  707. kCanvasHasFallback = 8,
  708. // Indicates this node is user-scrollable, e.g. overflow:scroll|auto, as
  709. // opposed to only programmatically scrollable, like overflow:hidden, or
  710. // not scrollable at all, e.g. overflow:visible.
  711. kScrollable = 9,
  712. // A hint to clients that the node is clickable.
  713. kClickable = 10,
  714. // Indicates that this node clips its children, i.e. may have
  715. // overflow: hidden or clip children by default.
  716. kClipsChildren = 11,
  717. // Indicates that this node is not selectable because the style has
  718. // user-select: none. Note that there may be other reasons why a node is
  719. // not selectable - for example, bullets in a list. However, this attribute
  720. // is only set on user-select: none.
  721. kNotUserSelectableStyle = 12,
  722. // Indicates whether this node is selected or unselected.
  723. kSelected = 13,
  724. // Indicates whether this node is selected due to selection follows focus.
  725. kSelectedFromFocus = 14,
  726. // Indicates whether this node supports text location.
  727. kSupportsTextLocation = 15,
  728. // Indicates whether this node can be grabbed for drag-and-drop operation.
  729. // Note: aria-grabbed is deprecated in WAI-ARIA 1.1.
  730. kGrabbed = 16,
  731. // Indicates whether this node causes a hard line-break
  732. // (e.g. block level elements, or <br>)
  733. kIsLineBreakingObject = 17,
  734. // Indicates whether this node causes a page break
  735. kIsPageBreakingObject = 18,
  736. // True if the node has any ARIA attributes set.
  737. kHasAriaAttribute = 19,
  738. // This element allows touches to be passed through when a screen reader
  739. // is in touch exploration mode, e.g. a virtual keyboard normally
  740. // behaves this way.
  741. kTouchPassthrough = 20,
  742. };
  743. // Next version: 4
  744. // Next value: 21
  745. [Extensible, Stable, Uuid="6d1f823f-28a9-4263-bc4a-69fb19a4ef46"]
  746. enum IntListAttribute {
  747. [Default]kNone = 0,
  748. // Ids of nodes that are children of this node logically, but are
  749. // not children of this node in the tree structure. As an example,
  750. // a table cell is a child of a row, and an 'indirect' child of a
  751. // column.
  752. kIndirectChildIds = 1,
  753. // Relationships between this element and other elements.
  754. kControlsIds = 2,
  755. kDetailsIds = 3,
  756. kDescribedbyIds = 4,
  757. kFlowtoIds = 5,
  758. kLabelledbyIds = 6,
  759. kRadioGroupIds = 7,
  760. // For static text. These int lists must be the same size; they represent
  761. // the start and end character offset of each marker. Examples of markers
  762. // include spelling and grammar errors, highlights, and find-in-page matches.
  763. kMarkerTypes = 8,
  764. kMarkerStarts = 9,
  765. kMarkerEnds = 10,
  766. // Types of the custom highlights (if any) (see |HighlightType|).
  767. [MinVersion=3] kHighlightTypes = 20,
  768. // Caret bounds in screen coordinates - [left, top, width, height].
  769. [MinVersion=1] kCaretBounds = 16,
  770. // For inline text. This is the pixel position of the end of this
  771. // character within the bounding rectangle of this object, in the
  772. // direction given by StringAttribute::kTextDirection. For example,
  773. // for left-to-right text, the first offset is the right coordinate of
  774. // the first character within the object's bounds, the second offset
  775. // is the right coordinate of the second character, and so on.
  776. kCharacterOffsets = 11,
  777. // A list of the start and end character offsets of each line inside this
  778. // node's on-screen text.
  779. kLineStarts = 12,
  780. [MinVersion=2] kLineEnds = 17,
  781. // A list of the start and end character offsets of each sentence inside this
  782. // node's on-screen text.
  783. [MinVersion=2] kSentenceStarts = 18,
  784. [MinVersion=2] kSentenceEnds = 19,
  785. // A list of the start and end character offsets of each word inside this
  786. // node's on-screen text.
  787. kWordStarts = 13,
  788. kWordEnds = 14,
  789. // Used for an UI element to define custom actions for it. For example, a
  790. // list UI will allow a user to reorder items in the list by dragging the
  791. // items. Developer can expose those actions as custom actions. Currently
  792. // custom actions are used only in Android window.
  793. kCustomActionIds = 15,
  794. };
  795. // Next value: 2
  796. [Extensible, Stable, Uuid="b3b576a7-9335-4f79-bc8c-595fd9346d81"]
  797. enum StringListAttribute {
  798. [Default]kNone = 0,
  799. // Descriptions for custom actions. This must be aligned with
  800. // custom_action_ids.
  801. kCustomActionDescriptions = 1,
  802. };
  803. enum ListStyle {
  804. kNone,
  805. kCircle,
  806. kDisc,
  807. kImage,
  808. kNumeric,
  809. kSquare,
  810. kOther, // Language specific ordering (alpha, roman, cjk-ideographic, etc...)
  811. };
  812. enum MarkerType {
  813. kNone = 0,
  814. kSpelling = 1,
  815. kGrammar = 2,
  816. kTextMatch = 4,
  817. // DocumentMarker::MarkerType::Composition = 8 is ignored for accessibility
  818. // purposes
  819. kActiveSuggestion = 16,
  820. kSuggestion = 32,
  821. kHighlight = 64,
  822. };
  823. enum HighlightType {
  824. kNone = 0,
  825. kHighlight = 1,
  826. kSpellingError = 2,
  827. kGrammarError = 3,
  828. };
  829. // Describes a move direction in the accessibility tree that is independent of
  830. // the left-to-right or right-to-left direction of the text. For example, a
  831. // forward movement will always move to the next node in depth-first pre-order
  832. // traversal.
  833. // Next value: 3
  834. [Extensible, Stable, Uuid="ac17b4f2-6890-4090-ad09-a44a8d9554ed"]
  835. enum MoveDirection {
  836. [Default]kNone = 0,
  837. kBackward = 1,
  838. kForward = 2,
  839. };
  840. // Describes the edit or selection command that resulted in a selection, a text
  841. // changed or a text attributes changed event.
  842. //
  843. // An edit command, such as "kInsert" or "kDelete" is further described by its
  844. // "InputEvent" - see the relevant enum in this file.
  845. // A selection command may be further described by its "TextBoundary" and
  846. // "MoveDirection" - see the relevant enums in this file.
  847. // Next value: 11
  848. [Extensible, Stable, Uuid="f389c8cf-8382-45bc-a447-656ba2ed8fcf"]
  849. enum Command {
  850. [Default]kNone = 0,
  851. kClearSelection = 1,
  852. kDelete = 2,
  853. kDictate = 3,
  854. kExtendSelection = 4, // The existing selection has been extended or shrunk.
  855. kFormat = 5, // Some text attributes, such as font weight, have changed.
  856. kHistory = 6, // An undo or a redo operation has been performed.
  857. kInsert = 7,
  858. kMarker = 8, // Document markers have been added or removed.
  859. kMoveSelection = 9, // The selection moved by a specific granularity.
  860. kSetSelection = 10, // A completely new selection has been set.
  861. };
  862. // Describes an edit command in more detail.
  863. //
  864. // Please keep in sync with the following specification and file:
  865. // https://w3c.github.io/input-events/#h-interface-inputevent-attributes
  866. // //third_party/blink/renderer/core/events/input_event.h
  867. // Next value: 39
  868. [Extensible, Stable, Uuid="f53115ff-b29d-4a07-a497-9c49dc5b5ebd"]
  869. enum InputEventType {
  870. [Default]kNone = 0,
  871. // Insertion.
  872. kInsertText = 1,
  873. kInsertLineBreak = 2,
  874. kInsertParagraph = 3,
  875. kInsertOrderedList = 4,
  876. kInsertUnorderedList = 5,
  877. kInsertHorizontalRule = 6,
  878. kInsertFromPaste = 7,
  879. kInsertFromDrop = 8,
  880. kInsertFromYank = 9,
  881. kInsertTranspose = 10,
  882. kInsertReplacementText = 11,
  883. kInsertCompositionText = 12,
  884. // Deletion.
  885. kDeleteWordBackward = 13,
  886. kDeleteWordForward = 14,
  887. kDeleteSoftLineBackward = 15,
  888. kDeleteSoftLineForward = 16,
  889. kDeleteHardLineBackward = 17,
  890. kDeleteHardLineForward = 18,
  891. kDeleteContentBackward = 19,
  892. kDeleteContentForward = 20,
  893. kDeleteByCut = 21,
  894. kDeleteByDrag = 22,
  895. // History.
  896. kHistoryUndo = 23,
  897. kHistoryRedo = 24,
  898. // Formatting.
  899. kFormatBold = 25,
  900. kFormatItalic = 26,
  901. kFormatUnderline = 27,
  902. kFormatStrikeThrough = 28,
  903. kFormatSuperscript = 29,
  904. kFormatSubscript = 30,
  905. kFormatJustifyCenter = 31,
  906. kFormatJustifyFull = 32,
  907. kFormatJustifyRight = 33,
  908. kFormatJustifyLeft = 34,
  909. kFormatIndent = 35,
  910. kFormatOutdent = 36,
  911. kFormatRemove = 37,
  912. kFormatSetBlockTextDirection = 38,
  913. };
  914. // Defines a set of text boundaries in the accessibility tree.
  915. //
  916. // Most boundaries come in three flavors: A "WordStartOrEnd" boundary for
  917. // example differs from a "WordStart" or a "WordEnd" boundary in that the first
  918. // would consider both the start and the end of the word to be boundaries, while
  919. // the other two would consider only the start or the end respectively.
  920. //
  921. // An "Object" boundary is found at the start or end of a node's entire text,
  922. // e.g. at the start or end of a text field.
  923. //
  924. // TODO(nektar): Split TextBoundary into TextUnit and TextBoundary.
  925. // Next version: 3
  926. // Next value: 23
  927. [Extensible, Stable, Uuid="8e6e10f0-5c0f-4c1e-a67e-9407ee10bd85"]
  928. enum TextBoundary {
  929. [Default]kNone = 0,
  930. kCharacter = 1,
  931. kFormatEnd = 2,
  932. [MinVersion=2] kFormatStart = 21,
  933. [MinVersion=2] kFormatStartOrEnd = 22,
  934. kLineEnd = 3,
  935. kLineStart = 4,
  936. kLineStartOrEnd = 5,
  937. kObject = 6,
  938. kPageEnd = 7,
  939. kPageStart = 8,
  940. kPageStartOrEnd = 9,
  941. kParagraphEnd = 10,
  942. kParagraphStart = 11,
  943. // For UI Automation, empty lines after a paragraph should be merged into the
  944. // preceding paragraph.
  945. //
  946. // See https://docs.microsoft.com/en-us/windows/desktop/api/UIAutomationCore/ne-uiautomationcore-textunit
  947. [MinVersion=1] kParagraphStartSkippingEmptyParagraphs = 20,
  948. kParagraphStartOrEnd = 12,
  949. kSentenceEnd = 13,
  950. kSentenceStart = 14,
  951. kSentenceStartOrEnd = 15,
  952. kWebPage = 16,
  953. kWordEnd = 17,
  954. kWordStart = 18,
  955. kWordStartOrEnd = 19,
  956. };
  957. // Types of text alignment according to the IAccessible2 Object Attributes spec.
  958. enum TextAlign {
  959. kNone,
  960. kLeft,
  961. kRight,
  962. kCenter,
  963. kJustify,
  964. };
  965. enum WritingDirection {
  966. kNone,
  967. kLtr,
  968. kRtl,
  969. kTtb,
  970. kBtt,
  971. };
  972. enum TextPosition {
  973. kNone,
  974. kSubscript,
  975. kSuperscript,
  976. };
  977. // A Java counterpart will be generated for this enum.
  978. // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.ui.accessibility
  979. enum TextStyle {
  980. kNone,
  981. kBold,
  982. kItalic,
  983. kUnderline,
  984. kLineThrough,
  985. kOverline
  986. };
  987. enum TextDecorationStyle {
  988. kNone,
  989. kDotted,
  990. kDashed,
  991. kSolid,
  992. kDouble,
  993. kWavy,
  994. };
  995. enum AriaCurrentState {
  996. kNone,
  997. kFalse,
  998. kTrue,
  999. kPage,
  1000. kStep,
  1001. kLocation,
  1002. kDate,
  1003. kTime,
  1004. };
  1005. enum HasPopup {
  1006. kFalse = 0,
  1007. kTrue,
  1008. kMenu,
  1009. kListbox,
  1010. kTree,
  1011. kGrid,
  1012. kDialog,
  1013. kNone = kFalse
  1014. };
  1015. enum InvalidState {
  1016. kNone,
  1017. kFalse,
  1018. kTrue,
  1019. };
  1020. // Input restriction associated with an object.
  1021. // No value for a control means it is enabled.
  1022. // Use read_only for a textbox that allows focus/selection but not input.
  1023. // Use disabled for a control or group of controls that disallows input.
  1024. enum Restriction {
  1025. kNone,
  1026. kReadOnly,
  1027. kDisabled,
  1028. };
  1029. enum CheckedState {
  1030. kNone,
  1031. kFalse,
  1032. kTrue,
  1033. kMixed,
  1034. };
  1035. enum SortDirection {
  1036. kNone,
  1037. kUnsorted,
  1038. kAscending,
  1039. kDescending,
  1040. kOther,
  1041. };
  1042. enum NameFrom {
  1043. kNone,
  1044. kAttribute, // E.g. aria-label.
  1045. kAttributeExplicitlyEmpty,
  1046. kCaption, // E.g. in the case of a table, from a caption element.
  1047. kContents,
  1048. kPlaceholder, // E.g. from an HTML placeholder attribute on a text field.
  1049. kRelatedElement, // E.g. from a figcaption Element in a figure.
  1050. kTitle, // E.g. <input type="text" title="title">.
  1051. kValue, // E.g. <input type="button" value="Button's name">.
  1052. };
  1053. // The source of the accessible description. Used by some screen readers
  1054. // to determine if and how the description should be presented to the user.
  1055. enum DescriptionFrom {
  1056. // No description has been provided. (See also kAttributeExplicitlyEmpty)
  1057. kNone,
  1058. // The description comes from a flat string, such as aria-description (in the
  1059. // case of web content) or provided by the View.
  1060. kAriaDescription,
  1061. // The description has been removed to improve accessibility. Example: The
  1062. // description normally provided by this View's tooltip contains text which
  1063. // is also present in this View's name. This could cause screen readers to
  1064. // speak the information twice, which is not desired. Therefore the
  1065. // description has been deliberately set to the empty string to prevent
  1066. // double presentation.
  1067. kAttributeExplicitlyEmpty,
  1068. // The description comes from the label/text of a button.
  1069. // See HTML-AAM's Accessible Name and Description Computation.
  1070. kButtonLabel,
  1071. // The description comes from some other object such as an element referenced
  1072. // by aria-describedby (in the case of web content), or another View present
  1073. // in the UI.
  1074. kRelatedElement,
  1075. // The description comes from a Ruby annotation.
  1076. kRubyAnnotation,
  1077. // The description comes from the contents of a summary element.
  1078. // See HTML-AAM's Accessible Name and Description Computation.
  1079. kSummary,
  1080. // The description comes from the text of an SVG desc element.
  1081. // See SVG-AAM's Accessible Name and Description Computation.
  1082. kSvgDescElement,
  1083. // The description comes from a table's caption element.
  1084. // See HTML-AAM's Accessible Name and Description Computation.
  1085. kTableCaption,
  1086. // The description comes from the title attribute (HTML), the title element
  1087. // (SVG), or a View's tooltip.
  1088. kTitle,
  1089. // The description comes from a non-tooltip popup, e.g. the |triggerpopup|
  1090. // attribute pointing to `popup=hint`.
  1091. kPopupElement,
  1092. };
  1093. // Next value: 4
  1094. [Extensible, Stable, Uuid="bf97094a-dc01-4888-9f04-b2af7b1b2083"]
  1095. enum EventFrom {
  1096. [Default]kNone = 0,
  1097. kUser = 1,
  1098. kPage = 2,
  1099. kAction = 3,
  1100. };
  1101. // Touch gestures on Chrome OS.
  1102. enum Gesture {
  1103. kNone,
  1104. kClick,
  1105. kSwipeLeft1,
  1106. kSwipeUp1,
  1107. kSwipeRight1,
  1108. kSwipeDown1,
  1109. kSwipeLeft2,
  1110. kSwipeUp2,
  1111. kSwipeRight2,
  1112. kSwipeDown2,
  1113. kSwipeLeft3,
  1114. kSwipeUp3,
  1115. kSwipeRight3,
  1116. kSwipeDown3,
  1117. kSwipeLeft4,
  1118. kSwipeUp4,
  1119. kSwipeRight4,
  1120. kSwipeDown4,
  1121. kTap2,
  1122. kTap3,
  1123. kTap4,
  1124. kTouchExplore,
  1125. };
  1126. // Next value: 3
  1127. [Extensible, Stable, Uuid="b06c4314-aacb-43f3-bb8e-b8ed20704dcd"]
  1128. enum TextAffinity {
  1129. [Default]kNone = 0,
  1130. kDownstream = 1,
  1131. kUpstream = 2,
  1132. };
  1133. // Compares two nodes in an accessibility tree in pre-order traversal.
  1134. enum TreeOrder {
  1135. kNone,
  1136. // Not in the same tree, or other error.
  1137. kUndefined,
  1138. // First node is before the second one.
  1139. kBefore,
  1140. // Nodes are the same.
  1141. kEqual,
  1142. // First node is after the second one.
  1143. kAfter,
  1144. };
  1145. // For internal use by ui::AXTreeID / ax::mojom::AXTreeID.
  1146. enum AXTreeIDType {
  1147. kUnknown, // The Tree ID is unknown.
  1148. kToken, // Every other tree ID must have a valid unguessable token.
  1149. };
  1150. enum ImageAnnotationStatus {
  1151. // Not an image, or image annotation feature not enabled.
  1152. kNone,
  1153. // Not eligible due to the scheme of the page. Image annotations are only
  1154. // generated for images on http, https, file and data URLs.
  1155. kWillNotAnnotateDueToScheme,
  1156. // Not loaded yet, already labeled by the author, or not eligible
  1157. // due to size, type, etc.
  1158. kIneligibleForAnnotation,
  1159. // Eligible to be automatically annotated if the user requests it.
  1160. // This is communicated to the user via a tutor message.
  1161. kEligibleForAnnotation,
  1162. // Eligible to be automatically annotated but this is not communicated to the
  1163. // user.
  1164. kSilentlyEligibleForAnnotation,
  1165. // An annotation has been requested but has not been received yet.
  1166. kAnnotationPending,
  1167. // An annotation has been provided and kImageAnnotation contains the
  1168. // annotation text.
  1169. kAnnotationSucceeded,
  1170. // The annotation request was processed successfully, but it was not
  1171. // possible to come up with an annotation for this image.
  1172. kAnnotationEmpty,
  1173. // The image is classified as adult content and no annotation will
  1174. // be generated.
  1175. kAnnotationAdult,
  1176. // The annotation process failed, e.g. unable to contact the server,
  1177. // request timed out, etc.
  1178. kAnnotationProcessFailed,
  1179. };
  1180. enum Dropeffect {
  1181. kNone,
  1182. kCopy,
  1183. kExecute,
  1184. kLink,
  1185. kMove,
  1186. kPopup,
  1187. };