| // Copyright 2014 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. |
| |
| // These should be kept in sync with third_party/WebKit/public/web/WebAXEnums.h |
| // until the Chromium and Blink trees are merged. |
| [camel_case_enum_to_string=true] namespace ui { |
| |
| // For new entries to the following three enums, also add to |
| // chrome/common/extensions/api/automation.idl. |
| // |
| // Explanation of the comments next to these events: |
| // |
| // Web: this event is only used in web content. Unless a specific platform |
| // is specified, it fires a native event on multiple platforms. |
| // |
| // Native: this event is only used in native UI. |
| // |
| // Implicit: 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 unspecified, the event is used across web and native on multiple |
| // platforms. |
| enum AXEvent { |
| activedescendantchanged, // Web |
| alert, |
| aria_attribute_changed, // Implicit |
| autocorrection_occured, // Unknown: http://crbug.com/392498 |
| blur, // Remove: http://crbug.com/392502 |
| checked_state_changed, // Implicit |
| children_changed, |
| focus, |
| hide, // Remove: http://crbug.com/392502 |
| hover, |
| invalid_status_changed, // Implicit |
| layout_complete, // Web |
| live_region_changed, // Web |
| load_complete, // Web |
| location_changed, // Web |
| menu_end, // Native / Win |
| menu_list_item_selected, // Web |
| menu_list_value_changed, // Web |
| menu_popup_end, // Native / Win |
| menu_popup_start, // Native / Win |
| menu_start, // Native / Win |
| row_collapsed, // Web / Mac |
| row_count_changed, // Web / Mac |
| row_expanded, // Web / Mac |
| scroll_position_changed, // Web |
| scrolled_to_anchor, // Web |
| selected_children_changed, // Web |
| selection, // Native |
| selection_add, // Native |
| selection_remove, // Native |
| show, // Remove: http://crbug.com/392502 |
| text_changed, |
| text_selection_changed, |
| value_changed |
| }; |
| |
| enum AXRole { |
| alert_dialog, |
| alert, |
| annotation, |
| application, |
| article, |
| banner, |
| browser, |
| busy_indicator, |
| button, |
| button_drop_down, |
| canvas, |
| cell, |
| check_box, |
| client, |
| color_well, |
| column_header, |
| column, |
| combo_box, |
| complementary, |
| content_info, |
| date, |
| date_time, |
| definition, |
| description_list_detail, |
| description_list, |
| description_list_term, |
| desktop, |
| details, |
| dialog, |
| directory, |
| disclosure_triangle, |
| div, |
| document, |
| drawer, |
| editable_text, |
| embedded_object, |
| figcaption, |
| figure, |
| footer, |
| form, |
| grid, |
| group, |
| grow_area, |
| heading, |
| help_tag, |
| horizontal_rule, |
| iframe, |
| ignored, |
| image_map_link, |
| image_map, |
| image, |
| incrementor, |
| inline_text_box, |
| label_text, |
| legend, |
| link, |
| list_box_option, |
| list_box, |
| list_item, |
| list_marker, |
| list, |
| location_bar, |
| log, |
| main, |
| marquee, |
| math_element, |
| math, |
| matte, |
| menu_bar, |
| menu_button, |
| menu_item, |
| menu_item_check_box, |
| menu_item_radio, |
| menu_list_option, |
| menu_list_popup, |
| menu, |
| meter, |
| navigation, |
| note, |
| outline, |
| pane, |
| paragraph, |
| pop_up_button, |
| presentational, |
| progress_indicator, |
| radio_button, |
| radio_group, |
| region, |
| root_web_area, |
| row_header, |
| row, |
| ruler_marker, |
| ruler, |
| svg_root, |
| scroll_area, |
| scroll_bar, |
| seamless_web_area, |
| search, |
| sheet, |
| slider, |
| slider_thumb, |
| spin_button_part, |
| spin_button, |
| split_group, |
| splitter, |
| static_text, |
| status, |
| system_wide, |
| tab_group, |
| tab_list, |
| tab_panel, |
| tab, |
| table_header_container, |
| table, |
| text_area, |
| text_field, |
| time, |
| timer, |
| title_bar, |
| toggle_button, |
| toolbar, |
| tree_grid, |
| tree_item, |
| tree, |
| unknown, |
| tooltip, |
| value_indicator, |
| web_area, |
| window |
| }; |
| |
| // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of |
| // !AX_STATE_ENABLED, and AX_STATE_EDITABLE instead of !AX_STATE_READONLY. |
| enum AXState { |
| busy, |
| checked, |
| collapsed, |
| default, |
| disabled, // ui/views only |
| editable, // ui/views only |
| enabled, // content only |
| expanded, |
| focusable, |
| focused, |
| haspopup, |
| hovered, |
| indeterminate, |
| invisible, |
| linked, |
| multiselectable, |
| offscreen, |
| pressed, |
| protected, |
| read_only, |
| required, |
| selectable, |
| selected, |
| vertical, |
| visited |
| }; |
| |
| [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute { |
| // Document attributes. |
| doc_url, |
| doc_title, |
| doc_mimetype, |
| doc_doctype, |
| |
| // Attributes that could apply to any node. |
| access_key, |
| action, |
| container_live_relevant, |
| container_live_status, |
| description, |
| display, |
| help, |
| html_tag, |
| name, |
| live_relevant, |
| live_status, |
| role, |
| shortcut, |
| text_input_type, |
| url, |
| value |
| }; |
| |
| [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute { |
| // Scrollable container attributes. |
| scroll_x, |
| scroll_x_min, |
| scroll_x_max, |
| scroll_y, |
| scroll_y_min, |
| scroll_y_max, |
| |
| // Editable text attributes. |
| text_sel_start, |
| text_sel_end, |
| |
| // Table attributes. |
| table_row_count, |
| table_column_count, |
| table_header_id, |
| |
| // Table row attributes. |
| table_row_index, |
| table_row_header_id, |
| |
| // Table column attributes. |
| table_column_index, |
| table_column_header_id, |
| |
| // Table cell attributes. |
| table_cell_column_index, |
| table_cell_column_span, |
| table_cell_row_index, |
| table_cell_row_span, |
| |
| // Tree control attributes. |
| hierarchical_level, |
| |
| // Relationships between this element and other elements. |
| title_ui_element, |
| activedescendant_id, |
| |
| // Color value for AX_ROLE_COLOR_WELL, each component is 0..255 |
| color_value_red, |
| color_value_green, |
| color_value_blue, |
| |
| // Inline text attributes. |
| text_direction |
| }; |
| |
| [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute { |
| // Document attributes. |
| doc_loading_progress, |
| |
| // Range attributes. |
| value_for_range, |
| min_value_for_range, |
| max_value_for_range |
| }; |
| |
| [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute { |
| // Document attributes. |
| doc_loaded, |
| |
| // True if a checkbox or radio button is in the "mixed" state. |
| button_mixed, |
| |
| // Live region attributes. |
| container_live_atomic, |
| container_live_busy, |
| live_atomic, |
| live_busy, |
| |
| // ARIA readonly flag. |
| aria_readonly, |
| |
| // Writeable attributes |
| can_set_value, |
| |
| // If this is set, all of the other fields in this struct should |
| // be ignored and only the locations should change. |
| update_location_only, |
| |
| // Set on a canvas element if it has fallback content. |
| canvas_has_fallback, |
| |
| // Set if this node is the host of an external AXTree, for |
| // example a web view that's a child of a native view, or a |
| // web iframe that's the child of another web frame. |
| is_ax_tree_host |
| }; |
| |
| [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute { |
| // 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. |
| indirect_child_ids, |
| |
| // Relationships between this element and other elements. |
| controls_ids, |
| describedby_ids, |
| flowto_ids, |
| labelledby_ids, |
| owns_ids, |
| |
| // Character indices where line breaks occur. |
| line_breaks, |
| |
| // For a table, the cell ids in row-major order, with duplicate entries |
| // when there's a rowspan or colspan, and with -1 for missing cells. |
| // There are always exactly rows * columns entries. |
| cell_ids, |
| |
| // For a table, the unique cell ids in row-major order of their first |
| // occurrence. |
| unique_cell_ids, |
| |
| // 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 AX_ATTR_TEXT_DIRECTION. 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. |
| character_offsets, |
| |
| // For inline text. These int lists must be the same size; they represent |
| // the start and end character index of each word within this text. |
| word_starts, |
| word_ends |
| }; |
| |
| [cpp_enum_prefix_override="ax"] enum AXTextDirection { |
| text_direction_lr, |
| text_direction_rl, |
| text_direction_tb, |
| text_direction_bt |
| }; |
| }; |