// 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. namespace ui { enum AXEvent { activedescendantchanged, alert, aria_attribute_changed, autocorrection_occured, blur, checked_state_changed, children_changed, focus, hide, invalid_status_changed, layout_complete, live_region_changed, load_complete, location_changed, menu_list_item_selected, menu_list_value_changed, row_collapsed, row_count_changed, row_expanded, scrolled_to_anchor, selected_children_changed, selected_text_changed, show, text_changed, text_inserted, text_removed, value_changed }; enum AXRole { alert_dialog, alert, annotation, application, article, banner, browser, busy_indicator, button, canvas, cell, check_box, color_well, column_header, column, combo_box, complementary, content_info, definition, description_list_detail, description_list_term, dialog, directory, disclosure_triangle, div, document, drawer, editable_text, footer, form, grid, group, grow_area, heading, help_tag, horizontal_rule, 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, log, main, marquee, math_element, math, matte, menu_bar, menu_button, menu_item, menu_list_option, menu_list_popup, menu, navigation, note, outline, 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, timer, toggle_button, toolbar, tree_grid, tree_item, tree, unknown, tooltip, value_indicator, web_area, window }; enum AXState { busy, checked, collapsed, enabled, expanded, focusable, focused, haspopup, hovered, indeterminate, invisible, linked, multiselectable, offscreen, pressed, protected, read_only, required, selectable, selected, vertical, visited }; [cpp_omit_enum_type] enum AXStringAttribute { // Document attributes. ax_attr_doc_url, ax_attr_doc_title, ax_attr_doc_mimetype, ax_attr_doc_doctype, // Attributes that could apply to any node. ax_attr_access_key, ax_attr_action, ax_attr_container_live_relevant, ax_attr_container_live_status, ax_attr_description, ax_attr_display, ax_attr_help, ax_attr_html_tag, ax_attr_name, ax_attr_live_relevant, ax_attr_live_status, ax_attr_role, ax_attr_shortcut, ax_attr_url, ax_attr_value }; [cpp_omit_enum_type] enum AXIntAttribute { // Scrollable container attributes. ax_attr_scroll_x, ax_attr_scroll_x_min, ax_attr_scroll_x_max, ax_attr_scroll_y, ax_attr_scroll_y_min, ax_attr_scroll_y_max, // Editable text attributes. ax_attr_text_sel_start, ax_attr_text_sel_end, // Table attributes. ax_attr_table_row_count, ax_attr_table_column_count, ax_attr_table_header_id, // Table row attributes. ax_attr_table_row_index, ax_attr_table_row_header_id, // Table column attributes. ax_attr_table_column_index, ax_attr_table_column_header_id, // Table cell attributes. ax_attr_table_cell_column_index, ax_attr_table_cell_column_span, ax_attr_table_cell_row_index, ax_attr_table_cell_row_span, // Tree control attributes. ax_attr_hierarchical_level, // Relationships between this element and other elements. ax_attr_title_ui_element, // Color value for AX_ROLE_COLOR_WELL, each component is 0..255 ax_attr_color_value_red, ax_attr_color_value_green, ax_attr_color_value_blue, // Inline text attributes. ax_attr_text_direction }; [cpp_omit_enum_type] enum AXFloatAttribute { // Document attributes. ax_attr_doc_loading_progress, // Range attributes. ax_attr_value_for_range, ax_attr_min_value_for_range, ax_attr_max_value_for_range }; [cpp_omit_enum_type] enum AXBoolAttribute { // Document attributes. ax_attr_doc_loaded, // True if a checkbox or radio button is in the "mixed" state. ax_attr_button_mixed, // Live region attributes. ax_attr_container_live_atomic, ax_attr_container_live_busy, ax_attr_live_atomic, ax_attr_live_busy, // ARIA readonly flag. ax_attr_aria_readonly, // Writeable attributes ax_attr_can_set_value, // If this is set, all of the other fields in this struct should // be ignored and only the locations should change. ax_attr_update_location_only, // Set on a canvas element if it has fallback content. ax_attr_canvas_has_fallback }; [cpp_omit_enum_type] 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. ax_attr_indirect_child_ids, // Character indices where line breaks occur. ax_attr_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. ax_attr_cell_ids, // For a table, the unique cell ids in row-major order of their first // occurrence. ax_attr_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. ax_attr_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. ax_attr_word_starts, ax_attr_word_ends }; [cpp_omit_enum_type] enum AXTextDirection { ax_text_direction_lr, ax_text_direction_rl, ax_text_direction_tb, ax_text_direction_bt }; };