// 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 { enum AXEvent { activedescendantchanged, alert, aria_attribute_changed, autocorrection_occured, blur, checked_state_changed, children_changed, focus, hide, hover, invalid_status_changed, layout_complete, live_region_changed, load_complete, location_changed, menu_end, menu_list_item_selected, menu_list_value_changed, menu_popup_end, menu_popup_start, menu_start, row_collapsed, row_count_changed, row_expanded, scroll_position_changed, scrolled_to_anchor, selected_children_changed, selected_text_changed, selection_changed, show, text_changed, text_inserted, text_removed, 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, definition, description_list_detail, description_list_term, desktop, dialog, directory, disclosure_triangle, div, document, drawer, editable_text, embedded_object, 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_list_option, menu_list_popup, menu, 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, 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, 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 }; [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 }; };