1 // Copyright 2014 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.
5 // These should be kept in sync with third_party/WebKit/public/web/WebAXEnums.h
6 // until the Chromium and Blink trees are merged.
7 [camel_case_enum_to_string=true] namespace ui {
9 // For new entries to the following three enums, also add to
10 // chrome/common/extensions/api/automation.idl.
12 // Explanation of the comments next to these events:
14 // Web: this event is only used in web content. Unless a specific platform
15 // is specified, it fires a native event on multiple platforms.
17 // Native: this event is only used in native UI.
19 // Implicit: it would be cleaner if we just updated the AX node
20 // and each platform fired the appropriate events to indicate which
21 // platform-specific attributes changed.
23 // If unspecified, the event is used across web and native on multiple
26 activedescendantchanged, // Web
28 aria_attribute_changed, // Implicit
29 autocorrection_occured, // Unknown: http://crbug.com/392498
30 blur, // Remove: http://crbug.com/392502
31 checked_state_changed, // Implicit
34 hide, // Remove: http://crbug.com/392502
36 invalid_status_changed, // Implicit
37 layout_complete, // Web
38 live_region_changed, // Web
40 location_changed, // Web
41 menu_end, // Native / Win
42 menu_list_item_selected, // Web
43 menu_list_value_changed, // Web
44 menu_popup_end, // Native / Win
45 menu_popup_start, // Native / Win
46 menu_start, // Native / Win
47 row_collapsed, // Web / Mac
48 row_count_changed, // Web / Mac
49 row_expanded, // Web / Mac
50 scroll_position_changed, // Web
51 scrolled_to_anchor, // Web
52 selected_children_changed, // Web
54 selection_add, // Native
55 selection_remove, // Native
56 show, // Remove: http://crbug.com/392502
58 text_selection_changed,
84 description_list_detail,
85 description_list_term,
168 table_header_container,
186 // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of
187 // !AX_STATE_ENABLED, and AX_STATE_EDITABLE instead of !AX_STATE_READONLY.
193 disabled, // ui/views only
194 editable, // ui/views only
195 enabled, // content only
216 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
217 // Document attributes.
223 // Attributes that could apply to any node.
226 container_live_relevant,
227 container_live_status,
241 [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute {
242 // Scrollable container attributes.
250 // Editable text attributes.
259 // Table row attributes.
263 // Table column attributes.
265 table_column_header_id,
267 // Table cell attributes.
268 table_cell_column_index,
269 table_cell_column_span,
270 table_cell_row_index,
273 // Tree control attributes.
276 // Relationships between this element and other elements.
280 // Color value for AX_ROLE_COLOR_WELL, each component is 0..255
285 // Inline text attributes.
289 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
290 // Document attributes.
291 doc_loading_progress,
299 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
300 // Document attributes.
303 // True if a checkbox or radio button is in the "mixed" state.
306 // Live region attributes.
307 container_live_atomic,
312 // ARIA readonly flag.
315 // Writeable attributes
318 // If this is set, all of the other fields in this struct should
319 // be ignored and only the locations should change.
320 update_location_only,
322 // Set on a canvas element if it has fallback content.
325 // Set if this node is the host of an external AXTree, for
326 // example a web view that's a child of a native view, or a
327 // web iframe that's the child of another web frame.
331 [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute {
332 // Ids of nodes that are children of this node logically, but are
333 // not children of this node in the tree structure. As an example,
334 // a table cell is a child of a row, and an 'indirect' child of a
338 // Relationships between this element and other elements.
345 // Character indices where line breaks occur.
348 // For a table, the cell ids in row-major order, with duplicate entries
349 // when there's a rowspan or colspan, and with -1 for missing cells.
350 // There are always exactly rows * columns entries.
353 // For a table, the unique cell ids in row-major order of their first
357 // For inline text. This is the pixel position of the end of this
358 // character within the bounding rectangle of this object, in the
359 // direction given by AX_ATTR_TEXT_DIRECTION. For example, for left-to-right
360 // text, the first offset is the right coordinate of the first character
361 // within the object's bounds, the second offset is the right coordinate
362 // of the second character, and so on.
365 // For inline text. These int lists must be the same size; they represent
366 // the start and end character index of each word within this text.
371 [cpp_enum_prefix_override="ax"] enum AXTextDirection {