123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347 |
- // Copyright 2018 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- // Must also be kept in sync with extensions/common/api/automation.idl.
- module ax.mojom;
- // For new entries to the following four enums, also add to
- // extensions/common/api/automation.idl. This is enforced
- // by a PRESUBMIT check.
- //
- // Explanation of in-lined comments next to some enum values/attributes:
- //
- // Web: this attribute is only used in web content.
- //
- // Native: this attribute is only used in native UI.
- //
- // Implicit: for events, it would be cleaner if we just updated the AX node and
- // each platform fired the appropriate events to indicate which
- // platform-specific attributes changed.
- //
- // if Native / [Platform1, ...] is specified, the attribute is only used
- // on those platforms.
- //
- // If unspecified, the attribute is used across web and native on multiple
- // platforms.
- // Keep these values in sync with AXEventType in
- // tools/metrics/histograms/enums.xml.
- // Next version: 1
- // Next value: 59
- [Extensible, Stable, Uuid="686e661e-f8c7-4214-8713-1f66d95d3ffa"]
- enum Event {
- [Default]kNone = 0,
- kActiveDescendantChanged = 1,
- kAlert = 2,
- kAriaAttributeChanged = 3, // Implicit
- kAutocorrectionOccured = 4, // Unknown: http://crbug.com/392498
- kBlur = 5, // Remove: http://crbug.com/392502
- kCheckedStateChanged = 6, // Implicit
- kChildrenChanged = 7,
- kClicked = 8,
- kControlsChanged = 9,
- kDocumentSelectionChanged = 10,
- kDocumentTitleChanged = 11,
- kEndOfTest = 12, // Sentinel value indicating the end of a test
- kExpandedChanged = 13, // Web
- kFocus = 14,
- kFocusAfterMenuClose = 15,
- // Contextual focus event that must delay the next focus event.
- kFocusContext = 16,
- kHide = 17, // Remove: http://crbug.com/392502
- kHitTestResult = 18,
- kHover = 19,
- kImageFrameUpdated = 20, // Web
- kLayoutComplete = 21, // Web
- kLiveRegionCreated = 22, // Implicit
- kLiveRegionChanged = 23, // Web
- kLoadComplete = 24, // Web
- kLoadStart = 25, // Web / AuraLinux
- kLocationChanged = 26, // Web
- kMediaStartedPlaying = 27, // Native / Automation
- kMediaStoppedPlaying = 28, // Native / Automation
- kMenuEnd = 29, // Native / web: menu interaction has ended.
- kMenuListValueChanged = 30, // Web
- kMenuPopupEnd = 31, // Native / web: a menu/submenu is hidden/closed.
- kMenuPopupStart = 32, // Native / web: a menu/submenu is shown/opened.
- kMenuStart = 33, // Native / web: menu interaction has begun.
- kMouseCanceled = 34,
- kMouseDragged = 35,
- kMouseMoved = 36,
- kMousePressed = 37,
- kMouseReleased = 38,
- kRowCollapsed = 39,
- kRowCountChanged = 40,
- kRowExpanded = 41,
- kScrollPositionChanged = 42, // Web
- kScrolledToAnchor = 43, // Web
- kSelectedChildrenChanged = 44, // Web
- kSelection = 45, // Native
- kSelectionAdd = 46, // Native
- kSelectionRemove = 47, // Native
- kShow = 48, // Native / Automation
- kStateChanged = 49, // Native / Automation
- kTextChanged = 50,
- // TODO(nektar): Remove kTextSelectionChanged.
- kTextSelectionChanged = 51,
- kTooltipClosed = 52,
- kTooltipOpened = 53,
- kTreeChanged = 54, // Don't explicitly fire this event.
- // TODO(nektar): Remove kValueChanged.
- kValueChanged = 55,
- kWindowActivated = 56, // Native
- kWindowDeactivated = 57, // Native
- kWindowVisibilityChanged = 58, // Native
- };
- // Accessibility object roles.
- // The majority of these roles come from the ARIA specification. Reference
- // the latest draft for proper usage.
- //
- // Roles not included by the ARIA specification should be avoided, especially
- // internal roles used by the accessibility infrastructure.
- //
- // Explanation of in-lined comments next to some enum values.
- //
- // Web: this attribute is only used in web content.
- //
- // Native: this attribute is only used in native UI.
- // Next version: 4
- // Next value: 209
- [Extensible, Stable, Uuid="d258eb73-e0cc-490c-b881-80ee11d3fec2"]
- enum Role {
- [Default]kUnknown = 181, // The role has not been set.
- kAbbr = 1,
- kAlert = 2,
- kAlertDialog = 3,
- kApplication = 4,
- kArticle = 5,
- kAudio = 6,
- kBanner = 7,
- kBlockquote = 8,
- kButton = 9,
- kCanvas = 10,
- kCaption = 11,
- kCaret = 12,
- kCell = 13,
- kCheckBox = 14,
- kClient = 15,
- kCode = 16,
- kColorWell = 17,
- kColumn = 18,
- kColumnHeader = 19,
- kComboBoxGrouping = 20,
- kComboBoxMenuButton = 21,
- kComplementary = 22,
- kComment = 23,
- kContentDeletion = 24,
- kContentInsertion = 25,
- kContentInfo = 26,
- kDate = 27,
- kDateTime = 28,
- kDefinition = 29,
- kDescriptionList = 30,
- kDescriptionListDetail = 31,
- kDescriptionListTerm = 32,
- kDesktop = 33, // internal
- kDetails = 34,
- kDialog = 35,
- kDirectory = 36,
- kDisclosureTriangle = 37,
- // --------------------------------------------------------------
- // DPub Roles:
- // https://www.w3.org/TR/dpub-aam-1.0/#mapping_role_table
- kDocAbstract = 38,
- kDocAcknowledgments = 39,
- kDocAfterword = 40,
- kDocAppendix = 41,
- kDocBackLink = 42,
- kDocBiblioEntry = 43,
- kDocBibliography = 44,
- kDocBiblioRef = 45,
- kDocChapter = 46,
- kDocColophon = 47,
- kDocConclusion = 48,
- kDocCover = 49,
- kDocCredit = 50,
- kDocCredits = 51,
- kDocDedication = 52,
- kDocEndnote = 53,
- kDocEndnotes = 54,
- kDocEpigraph = 55,
- kDocEpilogue = 56,
- kDocErrata = 57,
- kDocExample = 58,
- kDocFootnote = 59,
- kDocForeword = 60,
- kDocGlossary = 61,
- kDocGlossRef = 62,
- kDocIndex = 63,
- kDocIntroduction = 64,
- kDocNoteRef = 65,
- kDocNotice = 66,
- kDocPageBreak = 67,
- kDocPageFooter = 68,
- kDocPageHeader = 69,
- kDocPageList = 70,
- kDocPart = 71,
- kDocPreface = 72,
- kDocPrologue = 73,
- kDocPullquote = 74,
- kDocQna = 75,
- kDocSubtitle = 76,
- kDocTip = 77,
- kDocToc = 78,
- // End DPub roles.
- // --------------------------------------------------------------
- kDocument = 79,
- kEmbeddedObject = 80,
- kEmphasis = 81,
- kFeed = 82,
- kFigcaption = 83,
- kFigure = 84,
- kFooter = 85,
- kFooterAsNonLandmark = 86,
- kForm = 87,
- kGenericContainer = 88,
- // --------------------------------------------------------------
- // ARIA Graphics module roles:
- // https://rawgit.com/w3c/graphics-aam/main/#mapping_role_table
- kGraphicsDocument = 89,
- kGraphicsObject = 90,
- kGraphicsSymbol = 91,
- // End ARIA Graphics module roles.
- // --------------------------------------------------------------
- kGrid = 92,
- kGroup = 93,
- kHeader = 94,
- kHeaderAsNonLandmark = 95,
- kHeading = 96,
- kIframe = 97,
- kIframePresentational = 98,
- kImage = 99,
- kImeCandidate = 100,
- kInlineTextBox = 101,
- kInputTime = 102,
- kKeyboard = 103,
- kLabelText = 104,
- kLayoutTable = 105,
- kLayoutTableCell = 106,
- kLayoutTableRow = 107,
- kLegend = 108,
- kLineBreak = 109,
- kLink = 110,
- kList = 111,
- kListBox = 112,
- kListBoxOption = 113,
- // kListGrid behaves similar to an ARIA grid but is primarily used by
- // TableView and its subclasses, so that they could be exposed correctly on
- // certain platforms.
- kListGrid = 114, // Native
- kListItem = 115,
- kListMarker = 116,
- kLog = 117,
- kMain = 118,
- kMark = 119,
- kMarquee = 120,
- kMath = 121,
- // MathML roles
- // https://w3c.github.io/mathml-aam
- [MinVersion=3] kMathMLFraction = 188,
- [MinVersion=3] kMathMLIdentifier = 189,
- [MinVersion=2] kMathMLMath = 187,
- [MinVersion=3] kMathMLMultiscripts = 190,
- [MinVersion=3] kMathMLNoneScript = 191,
- [MinVersion=3] kMathMLNumber = 192,
- [MinVersion=3] kMathMLOperator = 193,
- [MinVersion=3] kMathMLOver = 194,
- [MinVersion=3] kMathMLPrescriptDelimiter = 195,
- [MinVersion=3] kMathMLRoot = 196,
- [MinVersion=3] kMathMLRow = 197,
- [MinVersion=3] kMathMLSquareRoot = 198,
- [MinVersion=3] kMathMLStringLiteral = 199,
- [MinVersion=3] kMathMLSub = 200,
- [MinVersion=3] kMathMLSubSup = 201,
- [MinVersion=3] kMathMLSup = 202,
- [MinVersion=3] kMathMLTable = 203,
- [MinVersion=3] kMathMLTableCell = 204,
- [MinVersion=3] kMathMLTableRow = 205,
- [MinVersion=3] kMathMLText = 206,
- [MinVersion=3] kMathMLUnder = 207,
- [MinVersion=3] kMathMLUnderOver = 208,
- kMenu = 122,
- kMenuBar = 123,
- kMenuItem = 124,
- kMenuItemCheckBox = 125,
- kMenuItemRadio = 126,
- kMenuListOption = 127,
- kMenuListPopup = 128,
- kMeter = 129,
- kNavigation = 130,
- kNone = 0, // Used for role="none"/"presentation"; ignored in platform tree.
- kNote = 131,
- kPane = 132,
- kParagraph = 133,
- kPdfActionableHighlight = 134,
- kPdfRoot = 135,
- kPluginObject = 136,
- kPopUpButton = 137,
- kPortal = 138,
- kPre = 139,
- kProgressIndicator = 140,
- kRadioButton = 141,
- kRadioGroup = 142,
- kRegion = 143,
- kRootWebArea = 144,
- kRow = 145,
- kRowGroup = 146,
- kRowHeader = 147,
- kRuby = 148,
- kRubyAnnotation = 149,
- kScrollBar = 150,
- kScrollView = 151,
- kSearch = 152,
- kSearchBox = 153,
- kSection = 154,
- kSlider = 155,
- kSpinButton = 156,
- kSplitter = 157,
- kStaticText = 158,
- kStatus = 159,
- kStrong = 160,
- [MinVersion=1] kSubscript = 185,
- kSuggestion = 161,
- [MinVersion=1] kSuperscript = 186,
- kSvgRoot = 162,
- kSwitch = 163,
- kTab = 164,
- kTabList = 165,
- kTabPanel = 166,
- kTable = 167,
- kTableHeaderContainer = 168,
- kTerm = 169,
- kTextField = 170,
- kTextFieldWithComboBox = 171,
- kTime = 172,
- kTimer = 173,
- kTitleBar = 174,
- kToggleButton = 175,
- kToolbar = 176,
- kTooltip = 177,
- kTree = 178,
- kTreeGrid = 179,
- kTreeItem = 180,
- kVideo = 182,
- kWebView = 183,
- kWindow = 184,
- };
- // Next value: 19
- [Extensible, Stable, Uuid="35e7123a-f31f-4de7-94a4-3412dcb6bd5a"]
- enum State {
- [Default]kNone = 0,
- kAutofillAvailable = 1,
- kCollapsed = 2,
- kDefault = 3,
- kEditable = 4,
- kExpanded = 5,
- kFocusable = 6,
- // Grows horizontally, e.g. most toolbars and separators.
- kHorizontal = 7,
- kHovered = 8,
- // Skip over this node in the accessibility tree, but keep its subtree.
- kIgnored = 9,
- kInvisible = 10,
- kLinked = 11,
- kMultiline = 12,
- kMultiselectable = 13,
- kProtected = 14,
- kRequired = 15,
- kRichlyEditable = 16,
- // Grows vertically, e.g. menu or combo box.
- kVertical = 17,
- kVisited = 18,
- };
- // An action to be taken on an accessibility node.
- // In contrast to |AXDefaultActionVerb|, these describe what happens to the
- // object, e.g. "FOCUS".
- // Next version: 2
- // Next value: 38
- [Extensible, Stable, Uuid="ed8e4466-0522-4f98-ac28-59a523b70232"]
- enum Action {
- [Default]kNone = 0,
- // Request image annotations for all the eligible images on a page.
- kAnnotatePageImages = 1,
- kBlur = 2,
- // Notifies a node that it no longer has accessibility focus.
- // Currently used only on Android and only internally, it's not
- // exposed to the open web. See kSetAccessibilityFocus, below.
- kClearAccessibilityFocus = 3,
- // Collapse the collapsible node.
- kCollapse = 4,
- kCustomAction = 5,
- // Decrement a slider or range control by one step value.
- kDecrement = 6,
- // Do the default action for an object, typically this means "click".
- kDoDefault = 7,
- // Expand the expandable node.
- kExpand = 8,
- kFocus = 9,
- // Return the content of this image object in the image_data attribute.
- kGetImageData = 10,
- // Gets the bounding rect for a range of text.
- kGetTextLocation = 11,
- kHideTooltip = 12,
- // Given a point, find the object it corresponds to and fire a
- // |AXActionData.hit_test_event_to_fire| event on it in response.
- kHitTest = 13,
- // Increment a slider or range control by one step value.
- kIncrement = 14,
- // For internal use only; signals to tree sources to invalidate an entire
- // tree.
- kInternalInvalidateTree = 15,
- // Load inline text boxes for this subtree, providing information
- // about word boundaries, line layout, and individual character
- // bounding boxes.
- kLoadInlineTextBoxes = 16,
- // Delete any selected text in the control's text value and
- // insert |AXActionData::value| in its place, like when typing or pasting.
- kReplaceSelectedText = 17,
- [MinVersion=1] kResumeMedia = 34,
- // Scrolls by approximately one screen in a specific direction. Should be
- // called on a node that has scrollable boolean set to true.
- kScrollBackward = 18,
- kScrollDown = 19,
- kScrollForward = 20,
- kScrollLeft = 21,
- kScrollRight = 22,
- kScrollUp = 23,
- // Scroll any scrollable containers to make the target object visible
- // on the screen. Optionally pass a subfocus rect in
- // AXActionData.target_rect, in node-local coordinates.
- kScrollToMakeVisible = 24,
- // Scroll the given object to a specified point on the screen in
- // global screen coordinates. Pass a point in AXActionData.target_point.
- kScrollToPoint = 25,
- // Notifies a node that it has accessibility focus.
- // Currently used only on Android and only internally, it's not
- // exposed to the open web. See kClearAccessibilityFocus, above.
- kSetAccessibilityFocus = 26,
- kSetScrollOffset = 27,
- kSetSelection = 28,
- // Don't focus this node, but set it as the sequential focus navigation
- // starting point, so that pressing Tab moves to the next element
- // following this one, for example.
- kSetSequentialFocusNavigationStartingPoint = 29,
- // Replace the value of the control with AXActionData::value and
- // reset the selection, if applicable.
- kSetValue = 30,
- kShowContextMenu = 31,
- // Send an event signaling the end of a test.
- kSignalEndOfTest = 32,
- kShowTooltip = 33,
- [MinVersion=1] kStartDuckingMedia = 35,
- [MinVersion=1] kStopDuckingMedia = 36,
- [MinVersion=1] kSuspendMedia = 37,
- };
- enum ActionFlags {
- kNone,
- kRequestImages,
- kRequestInlineTextBoxes,
- };
- // A list of valid values for the horizontal and vertical scroll alignment
- // arguments in |AXActionData|. These values control where a node is scrolled
- // in the viewport.
- // Next version: 1
- // Next value: 6
- [Extensible, Stable, Uuid="a9d4f137-4f2e-4533-a4ac-cabdc433ecee"]
- enum ScrollAlignment {
- [Default]kNone = 0,
- kScrollAlignmentCenter = 1,
- kScrollAlignmentTop = 2,
- kScrollAlignmentBottom = 3,
- kScrollAlignmentLeft = 4,
- kScrollAlignmentRight = 5,
- kScrollAlignmentClosestEdge = 6
- };
- // A list of valid values for the scroll behavior argument to argument in
- // |AXActionData|. These values control whether a node is scrolled in the
- // viewport if it is already visible.
- // Next version: 1
- [Extensible, Stable, Uuid="8bf2a1cb-2edb-4e41-8d7e-a6c8baa95c85"]
- enum ScrollBehavior {
- [Default]kNone = 0,
- kDoNotScrollIfVisible = 1,
- kScrollIfVisible = 2,
- };
- // A list of valid values for the |AXIntAttribute| |default_action_verb|.
- // These will describe the action that will be performed on a given node when
- // executing the default action, which is a click.
- // In contrast to |AXAction|, these describe what the user can do on the
- // object, e.g. "PRESS", not what happens to the object as a result.
- // Only one verb can be used at a time to describe the default action.
- enum DefaultActionVerb {
- kNone,
- kActivate,
- kCheck,
- kClick,
- // A click will be performed on one of the node's ancestors.
- // This happens when the node itself is not clickable, but one of its
- // ancestors has click handlers attached which are able to capture the click
- // as it bubbles up.
- kClickAncestor,
- kJump,
- kOpen,
- kPress,
- kSelect,
- kUncheck,
- };
- // A change to the accessibility tree.
- enum Mutation {
- kNone,
- kNodeCreated,
- kSubtreeCreated,
- kNodeChanged,
- kNodeRemoved,
- };
- // Next value: 31
- [Extensible, Stable, Uuid="e5a4cd0c-3152-4427-93d5-35ff7d0f1ae8"]
- enum StringAttribute {
- [Default]kNone = 0,
- kAccessKey = 1,
- kAppId = 2,
- // AriaInvalidValue is deprecated. Spelling and Grammar errors are stored
- // using markers and invalid state in general is stored using invalidState.
- kAriaInvalidValue = 3,
- kAutoComplete = 4,
- kCheckedStateDescription = 5,
- kChildTreeId = 6,
- kChildTreeNodeAppId = 7,
- kClassName = 8,
- kContainerLiveRelevant = 9,
- kContainerLiveStatus = 10,
- kDescription = 11, // Any description = 11, from any description source.
- kDisplay = 12,
- // Only present when different from parent.
- kFontFamily = 13,
- kHtmlTag = 14,
- // Stores an automatic image annotation if one is available. Only valid on
- // ax::mojom::Role::kImage. See kImageAnnotationStatus, too.
- kImageAnnotation = 15,
- kImageDataUrl = 16,
- kInnerHtml = 17,
- kInputType = 18,
- kKeyShortcuts = 19,
- // Only present when different from parent.
- kLanguage = 20,
- kName = 21,
- kLiveRelevant = 22,
- kLiveStatus = 23,
- // Only if not already exposed in kName (NameFrom::kPlaceholder)
- kPlaceholder = 24,
- kRole = 25,
- kRoleDescription = 26,
- // Only if not already exposed in kName (NameFrom::kTitle)
- kTooltip = 27,
- kUrl = 28,
- kValue = 29,
- // TODO(bebeaudr): kAriaVirtualContent is currently a string attribute to
- // facilitate prototyping. Make it an enum when we're done prototyping.
- kVirtualContent = 30,
- };
- // Next value: 61
- [Extensible, Stable, Uuid="c350e50f-5177-405d-b155-79868449ba7b"]
- enum IntAttribute {
- [Default]kNone = 0,
- kDefaultActionVerb = 1,
- // Scrollable container attributes.
- kScrollX = 2,
- kScrollXMin = 3,
- kScrollXMax = 4,
- kScrollY = 5,
- kScrollYMin = 6,
- kScrollYMax = 7,
- // Attributes for retrieving the endpoints of a selection.
- kTextSelStart = 8,
- kTextSelEnd = 9,
- // aria_col* and aria_row* attributes
- kAriaColumnCount = 10,
- kAriaCellColumnIndex = 11,
- kAriaCellColumnSpan = 12,
- kAriaRowCount = 13,
- kAriaCellRowIndex = 14,
- kAriaCellRowSpan = 15,
- // Table attributes.
- kTableRowCount = 16,
- kTableColumnCount = 17,
- kTableHeaderId = 18,
- // Table row attributes.
- kTableRowIndex = 19,
- kTableRowHeaderId = 20,
- // Table column attributes.
- kTableColumnIndex = 21,
- kTableColumnHeaderId = 22,
- // Table cell attributes.
- kTableCellColumnIndex = 23,
- kTableCellColumnSpan = 24,
- kTableCellRowIndex = 25,
- kTableCellRowSpan = 26,
- kSortDirection = 27,
- // Tree control attributes.
- kHierarchicalLevel = 28,
- // What information was used to compute the object's name
- // (of type AXNameFrom).
- kNameFrom = 29,
- // What information was used to compute the object's description
- // (of type AXDescriptionFrom).
- kDescriptionFrom = 30,
- // Relationships between this element and other elements.
- kActivedescendantId = 31,
- kErrormessageId = 32,
- kInPageLinkTargetId = 33,
- kMemberOfId = 34,
- kNextOnLineId = 35,
- kPopupForId = 36,
- kPreviousOnLineId = 37,
- // Input restriction, if any, such as readonly or disabled.
- // Of type AXRestriction, see below.
- // No value or enabled control or other object that is not disabled.
- kRestriction = 38,
- // Position or Number of items in current set of listitems or treeitems
- kSetSize = 39,
- kPosInSet = 40,
- // In the case of Role::kColorWell, specifies the selected color.
- kColorValue = 41,
- // Indicates the element that represents the current item within a container
- // or set of related elements.
- kAriaCurrentState = 42,
- // Text attributes.
- // Foreground and background color in RGBA.
- kBackgroundColor = 43,
- kColor = 44,
- kHasPopup = 45,
- // Image annotation status, of type ImageAnnotationStatus.
- kImageAnnotationStatus = 46,
- // Indicates if a form control has invalid input or
- // if an element has an aria-invalid attribute.
- kInvalidState = 47,
- // Of type AXCheckedState
- kCheckedState = 48,
- // The list style type. Only available on list items.
- kListStyle = 49,
- // Specifies the alignment of the text, e.g. left, center, right, justify
- kTextAlign = 50,
- // Specifies the direction of the text, e.g., right-to-left.
- kTextDirection = 51,
- // Specifies the position of the text, e.g., subscript.
- kTextPosition = 52,
- // Bold, italic, underline, etc.
- kTextStyle = 53,
- // The overline text decoration style.
- kTextOverlineStyle = 54,
- // The strikethrough text decoration style.
- kTextStrikethroughStyle = 55,
- // The underline text decoration style.
- kTextUnderlineStyle = 56,
- // Focus traversal in views and Android.
- kPreviousFocusId = 57,
- kNextFocusId = 58,
- // For indicating what functions can be performed when a dragged object
- // is released on the drop target.
- // Note: aria-dropeffect is deprecated in WAI-ARIA 1.1.
- kDropeffect = 59,
- // The DOMNodeID from Blink. Currently only populated when using
- // the accessibility tree for PDF exporting. Warning, this is totally
- // unrelated to the accessibility node ID, or the ID attribute for an
- // HTML element - it's an ID used to uniquely identify nodes in Blink.
- kDOMNodeId = 60,
- };
- // Next version: 2
- // Next value: 8
- [Extensible, Stable, Uuid="6ee6b6eb-8af4-488f-96d5-343e56be5beb"]
- enum FloatAttribute {
- [Default]kNone = 0,
- // Range attributes.
- kValueForRange = 1,
- kMinValueForRange = 2,
- kMaxValueForRange = 3,
- kStepValueForRange = 4,
- // Text attributes.
- // Font size is in pixels.
- kFontSize = 5,
- // Font weight can take on any arbitrary numeric value. Increments of 100 in
- // range [0, 900] represent keywords such as light, normal, bold, etc. 0 is
- // the default.
- kFontWeight = 6,
- // The text indent of the text, in mm.
- kTextIndent = 7,
- // Only on ChromeOS. The scaling factor applied to the child tree.
- // Used with kChildTreeId.
- [MinVersion=1] kChildTreeScale = 8,
- };
- // These attributes can take three states:
- // true, false, or undefined/unset.
- //
- // Some attributes are only ever true or unset. In these cases, undefined is
- // equivalent to false. In other attributes, all three states have meaning.
- //
- // Finally, note that different tree sources can use all three states for a
- // given attribute, while another tree source only uses two.
- // Next value: 21
- [Extensible, Stable, Uuid="ed1f1b8c-c89c-483f-9840-ca3b10042e81"]
- enum BoolAttribute {
- [Default]kNone = 0,
- // Generic busy state, does not have to be on a live region.
- kBusy = 1,
- // The object functions as a text field which exposes its descendants.
- // Use cases include the root of a content-editable region, an ARIA
- // textbox which isn't currently editable and which has interactive
- // descendants, and a <body> element that has "design-mode" set to "on".
- kNonAtomicTextFieldRoot = 2,
- // Live region attributes.
- kContainerLiveAtomic = 3,
- kContainerLiveBusy = 4,
- kLiveAtomic = 5,
- // If a dialog box is marked as explicitly modal
- kModal = 6,
- // If this is set, all of the other fields in this struct should
- // be ignored and only the locations should change.
- kUpdateLocationOnly = 7,
- // Set on a canvas element if it has fallback content.
- kCanvasHasFallback = 8,
- // Indicates this node is user-scrollable, e.g. overflow:scroll|auto, as
- // opposed to only programmatically scrollable, like overflow:hidden, or
- // not scrollable at all, e.g. overflow:visible.
- kScrollable = 9,
- // A hint to clients that the node is clickable.
- kClickable = 10,
- // Indicates that this node clips its children, i.e. may have
- // overflow: hidden or clip children by default.
- kClipsChildren = 11,
- // Indicates that this node is not selectable because the style has
- // user-select: none. Note that there may be other reasons why a node is
- // not selectable - for example, bullets in a list. However, this attribute
- // is only set on user-select: none.
- kNotUserSelectableStyle = 12,
- // Indicates whether this node is selected or unselected.
- kSelected = 13,
- // Indicates whether this node is selected due to selection follows focus.
- kSelectedFromFocus = 14,
- // Indicates whether this node supports text location.
- kSupportsTextLocation = 15,
- // Indicates whether this node can be grabbed for drag-and-drop operation.
- // Note: aria-grabbed is deprecated in WAI-ARIA 1.1.
- kGrabbed = 16,
- // Indicates whether this node causes a hard line-break
- // (e.g. block level elements, or <br>)
- kIsLineBreakingObject = 17,
- // Indicates whether this node causes a page break
- kIsPageBreakingObject = 18,
- // True if the node has any ARIA attributes set.
- kHasAriaAttribute = 19,
- // This element allows touches to be passed through when a screen reader
- // is in touch exploration mode, e.g. a virtual keyboard normally
- // behaves this way.
- kTouchPassthrough = 20,
- };
- // Next version: 4
- // Next value: 21
- [Extensible, Stable, Uuid="6d1f823f-28a9-4263-bc4a-69fb19a4ef46"]
- enum IntListAttribute {
- [Default]kNone = 0,
- // Ids of nodes that are children of this node logically, but are
- // not children of this node in the tree structure. As an example,
- // a table cell is a child of a row, and an 'indirect' child of a
- // column.
- kIndirectChildIds = 1,
- // Relationships between this element and other elements.
- kControlsIds = 2,
- kDetailsIds = 3,
- kDescribedbyIds = 4,
- kFlowtoIds = 5,
- kLabelledbyIds = 6,
- kRadioGroupIds = 7,
- // For static text. These int lists must be the same size; they represent
- // the start and end character offset of each marker. Examples of markers
- // include spelling and grammar errors, highlights, and find-in-page matches.
- kMarkerTypes = 8,
- kMarkerStarts = 9,
- kMarkerEnds = 10,
- // Types of the custom highlights (if any) (see |HighlightType|).
- [MinVersion=3] kHighlightTypes = 20,
- // Caret bounds in screen coordinates - [left, top, width, height].
- [MinVersion=1] kCaretBounds = 16,
- // For inline text. This is the pixel position of the end of this
- // character within the bounding rectangle of this object, in the
- // direction given by StringAttribute::kTextDirection. For example,
- // for left-to-right text, the first offset is the right coordinate of
- // the first character within the object's bounds, the second offset
- // is the right coordinate of the second character, and so on.
- kCharacterOffsets = 11,
- // A list of the start and end character offsets of each line inside this
- // node's on-screen text.
- kLineStarts = 12,
- [MinVersion=2] kLineEnds = 17,
- // A list of the start and end character offsets of each sentence inside this
- // node's on-screen text.
- [MinVersion=2] kSentenceStarts = 18,
- [MinVersion=2] kSentenceEnds = 19,
- // A list of the start and end character offsets of each word inside this
- // node's on-screen text.
- kWordStarts = 13,
- kWordEnds = 14,
- // Used for an UI element to define custom actions for it. For example, a
- // list UI will allow a user to reorder items in the list by dragging the
- // items. Developer can expose those actions as custom actions. Currently
- // custom actions are used only in Android window.
- kCustomActionIds = 15,
- };
- // Next value: 2
- [Extensible, Stable, Uuid="b3b576a7-9335-4f79-bc8c-595fd9346d81"]
- enum StringListAttribute {
- [Default]kNone = 0,
- // Descriptions for custom actions. This must be aligned with
- // custom_action_ids.
- kCustomActionDescriptions = 1,
- };
- enum ListStyle {
- kNone,
- kCircle,
- kDisc,
- kImage,
- kNumeric,
- kSquare,
- kOther, // Language specific ordering (alpha, roman, cjk-ideographic, etc...)
- };
- enum MarkerType {
- kNone = 0,
- kSpelling = 1,
- kGrammar = 2,
- kTextMatch = 4,
- // DocumentMarker::MarkerType::Composition = 8 is ignored for accessibility
- // purposes
- kActiveSuggestion = 16,
- kSuggestion = 32,
- kHighlight = 64,
- };
- enum HighlightType {
- kNone = 0,
- kHighlight = 1,
- kSpellingError = 2,
- kGrammarError = 3,
- };
- // Describes a move direction in the accessibility tree that is independent of
- // the left-to-right or right-to-left direction of the text. For example, a
- // forward movement will always move to the next node in depth-first pre-order
- // traversal.
- // Next value: 3
- [Extensible, Stable, Uuid="ac17b4f2-6890-4090-ad09-a44a8d9554ed"]
- enum MoveDirection {
- [Default]kNone = 0,
- kBackward = 1,
- kForward = 2,
- };
- // Describes the edit or selection command that resulted in a selection, a text
- // changed or a text attributes changed event.
- //
- // An edit command, such as "kInsert" or "kDelete" is further described by its
- // "InputEvent" - see the relevant enum in this file.
- // A selection command may be further described by its "TextBoundary" and
- // "MoveDirection" - see the relevant enums in this file.
- // Next value: 11
- [Extensible, Stable, Uuid="f389c8cf-8382-45bc-a447-656ba2ed8fcf"]
- enum Command {
- [Default]kNone = 0,
- kClearSelection = 1,
- kDelete = 2,
- kDictate = 3,
- kExtendSelection = 4, // The existing selection has been extended or shrunk.
- kFormat = 5, // Some text attributes, such as font weight, have changed.
- kHistory = 6, // An undo or a redo operation has been performed.
- kInsert = 7,
- kMarker = 8, // Document markers have been added or removed.
- kMoveSelection = 9, // The selection moved by a specific granularity.
- kSetSelection = 10, // A completely new selection has been set.
- };
- // Describes an edit command in more detail.
- //
- // Please keep in sync with the following specification and file:
- // https://w3c.github.io/input-events/#h-interface-inputevent-attributes
- // //third_party/blink/renderer/core/events/input_event.h
- // Next value: 39
- [Extensible, Stable, Uuid="f53115ff-b29d-4a07-a497-9c49dc5b5ebd"]
- enum InputEventType {
- [Default]kNone = 0,
- // Insertion.
- kInsertText = 1,
- kInsertLineBreak = 2,
- kInsertParagraph = 3,
- kInsertOrderedList = 4,
- kInsertUnorderedList = 5,
- kInsertHorizontalRule = 6,
- kInsertFromPaste = 7,
- kInsertFromDrop = 8,
- kInsertFromYank = 9,
- kInsertTranspose = 10,
- kInsertReplacementText = 11,
- kInsertCompositionText = 12,
- // Deletion.
- kDeleteWordBackward = 13,
- kDeleteWordForward = 14,
- kDeleteSoftLineBackward = 15,
- kDeleteSoftLineForward = 16,
- kDeleteHardLineBackward = 17,
- kDeleteHardLineForward = 18,
- kDeleteContentBackward = 19,
- kDeleteContentForward = 20,
- kDeleteByCut = 21,
- kDeleteByDrag = 22,
- // History.
- kHistoryUndo = 23,
- kHistoryRedo = 24,
- // Formatting.
- kFormatBold = 25,
- kFormatItalic = 26,
- kFormatUnderline = 27,
- kFormatStrikeThrough = 28,
- kFormatSuperscript = 29,
- kFormatSubscript = 30,
- kFormatJustifyCenter = 31,
- kFormatJustifyFull = 32,
- kFormatJustifyRight = 33,
- kFormatJustifyLeft = 34,
- kFormatIndent = 35,
- kFormatOutdent = 36,
- kFormatRemove = 37,
- kFormatSetBlockTextDirection = 38,
- };
- // Defines a set of text boundaries in the accessibility tree.
- //
- // Most boundaries come in three flavors: A "WordStartOrEnd" boundary for
- // example differs from a "WordStart" or a "WordEnd" boundary in that the first
- // would consider both the start and the end of the word to be boundaries, while
- // the other two would consider only the start or the end respectively.
- //
- // An "Object" boundary is found at the start or end of a node's entire text,
- // e.g. at the start or end of a text field.
- //
- // TODO(nektar): Split TextBoundary into TextUnit and TextBoundary.
- // Next version: 3
- // Next value: 23
- [Extensible, Stable, Uuid="8e6e10f0-5c0f-4c1e-a67e-9407ee10bd85"]
- enum TextBoundary {
- [Default]kNone = 0,
- kCharacter = 1,
- kFormatEnd = 2,
- [MinVersion=2] kFormatStart = 21,
- [MinVersion=2] kFormatStartOrEnd = 22,
- kLineEnd = 3,
- kLineStart = 4,
- kLineStartOrEnd = 5,
- kObject = 6,
- kPageEnd = 7,
- kPageStart = 8,
- kPageStartOrEnd = 9,
- kParagraphEnd = 10,
- kParagraphStart = 11,
- // For UI Automation, empty lines after a paragraph should be merged into the
- // preceding paragraph.
- //
- // See https://docs.microsoft.com/en-us/windows/desktop/api/UIAutomationCore/ne-uiautomationcore-textunit
- [MinVersion=1] kParagraphStartSkippingEmptyParagraphs = 20,
- kParagraphStartOrEnd = 12,
- kSentenceEnd = 13,
- kSentenceStart = 14,
- kSentenceStartOrEnd = 15,
- kWebPage = 16,
- kWordEnd = 17,
- kWordStart = 18,
- kWordStartOrEnd = 19,
- };
- // Types of text alignment according to the IAccessible2 Object Attributes spec.
- enum TextAlign {
- kNone,
- kLeft,
- kRight,
- kCenter,
- kJustify,
- };
- enum WritingDirection {
- kNone,
- kLtr,
- kRtl,
- kTtb,
- kBtt,
- };
- enum TextPosition {
- kNone,
- kSubscript,
- kSuperscript,
- };
- // A Java counterpart will be generated for this enum.
- // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.ui.accessibility
- enum TextStyle {
- kNone,
- kBold,
- kItalic,
- kUnderline,
- kLineThrough,
- kOverline
- };
- enum TextDecorationStyle {
- kNone,
- kDotted,
- kDashed,
- kSolid,
- kDouble,
- kWavy,
- };
- enum AriaCurrentState {
- kNone,
- kFalse,
- kTrue,
- kPage,
- kStep,
- kLocation,
- kDate,
- kTime,
- };
- enum HasPopup {
- kFalse = 0,
- kTrue,
- kMenu,
- kListbox,
- kTree,
- kGrid,
- kDialog,
- kNone = kFalse
- };
- enum InvalidState {
- kNone,
- kFalse,
- kTrue,
- };
- // Input restriction associated with an object.
- // No value for a control means it is enabled.
- // Use read_only for a textbox that allows focus/selection but not input.
- // Use disabled for a control or group of controls that disallows input.
- enum Restriction {
- kNone,
- kReadOnly,
- kDisabled,
- };
- enum CheckedState {
- kNone,
- kFalse,
- kTrue,
- kMixed,
- };
- enum SortDirection {
- kNone,
- kUnsorted,
- kAscending,
- kDescending,
- kOther,
- };
- enum NameFrom {
- kNone,
- kAttribute, // E.g. aria-label.
- kAttributeExplicitlyEmpty,
- kCaption, // E.g. in the case of a table, from a caption element.
- kContents,
- kPlaceholder, // E.g. from an HTML placeholder attribute on a text field.
- kRelatedElement, // E.g. from a figcaption Element in a figure.
- kTitle, // E.g. <input type="text" title="title">.
- kValue, // E.g. <input type="button" value="Button's name">.
- };
- // The source of the accessible description. Used by some screen readers
- // to determine if and how the description should be presented to the user.
- enum DescriptionFrom {
- // No description has been provided. (See also kAttributeExplicitlyEmpty)
- kNone,
- // The description comes from a flat string, such as aria-description (in the
- // case of web content) or provided by the View.
- kAriaDescription,
- // The description has been removed to improve accessibility. Example: The
- // description normally provided by this View's tooltip contains text which
- // is also present in this View's name. This could cause screen readers to
- // speak the information twice, which is not desired. Therefore the
- // description has been deliberately set to the empty string to prevent
- // double presentation.
- kAttributeExplicitlyEmpty,
- // The description comes from the label/text of a button.
- // See HTML-AAM's Accessible Name and Description Computation.
- kButtonLabel,
- // The description comes from some other object such as an element referenced
- // by aria-describedby (in the case of web content), or another View present
- // in the UI.
- kRelatedElement,
- // The description comes from a Ruby annotation.
- kRubyAnnotation,
- // The description comes from the contents of a summary element.
- // See HTML-AAM's Accessible Name and Description Computation.
- kSummary,
- // The description comes from the text of an SVG desc element.
- // See SVG-AAM's Accessible Name and Description Computation.
- kSvgDescElement,
- // The description comes from a table's caption element.
- // See HTML-AAM's Accessible Name and Description Computation.
- kTableCaption,
- // The description comes from the title attribute (HTML), the title element
- // (SVG), or a View's tooltip.
- kTitle,
- // The description comes from a non-tooltip popup, e.g. the |triggerpopup|
- // attribute pointing to `popup=hint`.
- kPopupElement,
- };
- // Next value: 4
- [Extensible, Stable, Uuid="bf97094a-dc01-4888-9f04-b2af7b1b2083"]
- enum EventFrom {
- [Default]kNone = 0,
- kUser = 1,
- kPage = 2,
- kAction = 3,
- };
- // Touch gestures on Chrome OS.
- enum Gesture {
- kNone,
- kClick,
- kSwipeLeft1,
- kSwipeUp1,
- kSwipeRight1,
- kSwipeDown1,
- kSwipeLeft2,
- kSwipeUp2,
- kSwipeRight2,
- kSwipeDown2,
- kSwipeLeft3,
- kSwipeUp3,
- kSwipeRight3,
- kSwipeDown3,
- kSwipeLeft4,
- kSwipeUp4,
- kSwipeRight4,
- kSwipeDown4,
- kTap2,
- kTap3,
- kTap4,
- kTouchExplore,
- };
- // Next value: 3
- [Extensible, Stable, Uuid="b06c4314-aacb-43f3-bb8e-b8ed20704dcd"]
- enum TextAffinity {
- [Default]kNone = 0,
- kDownstream = 1,
- kUpstream = 2,
- };
- // Compares two nodes in an accessibility tree in pre-order traversal.
- enum TreeOrder {
- kNone,
- // Not in the same tree, or other error.
- kUndefined,
- // First node is before the second one.
- kBefore,
- // Nodes are the same.
- kEqual,
- // First node is after the second one.
- kAfter,
- };
- // For internal use by ui::AXTreeID / ax::mojom::AXTreeID.
- enum AXTreeIDType {
- kUnknown, // The Tree ID is unknown.
- kToken, // Every other tree ID must have a valid unguessable token.
- };
- enum ImageAnnotationStatus {
- // Not an image, or image annotation feature not enabled.
- kNone,
- // Not eligible due to the scheme of the page. Image annotations are only
- // generated for images on http, https, file and data URLs.
- kWillNotAnnotateDueToScheme,
- // Not loaded yet, already labeled by the author, or not eligible
- // due to size, type, etc.
- kIneligibleForAnnotation,
- // Eligible to be automatically annotated if the user requests it.
- // This is communicated to the user via a tutor message.
- kEligibleForAnnotation,
- // Eligible to be automatically annotated but this is not communicated to the
- // user.
- kSilentlyEligibleForAnnotation,
- // An annotation has been requested but has not been received yet.
- kAnnotationPending,
- // An annotation has been provided and kImageAnnotation contains the
- // annotation text.
- kAnnotationSucceeded,
- // The annotation request was processed successfully, but it was not
- // possible to come up with an annotation for this image.
- kAnnotationEmpty,
- // The image is classified as adult content and no annotation will
- // be generated.
- kAnnotationAdult,
- // The annotation process failed, e.g. unable to contact the server,
- // request timed out, etc.
- kAnnotationProcessFailed,
- };
- enum Dropeffect {
- kNone,
- kCopy,
- kExecute,
- kLink,
- kMove,
- kPopup,
- };
|