// 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, clicked, document_selection_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, tree_changed, // Accessibility tree changed. Don't // explicitly fire an accessibility event, // only implicitly due to the change. value_changed }; enum AXRole { abbr, alert_dialog, alert, annotation, application, article, banner, blockquote, // TODO(nektar): Remove busy_indicator because it's used nowhere. busy_indicator, button, button_drop_down, // Not used on Web. canvas, caption, 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, embedded_object, figcaption, figure, footer, form, grid, group, heading, iframe, iframe_presentational, ignored, image_map_link, image_map, image, inline_text_box, input_time, label_text, legend, line_break, link, list_box_option, list_box, list_item, list_marker, list, location_bar, log, main, mark, marquee, math, menu, menu_bar, menu_button, menu_item, menu_item_check_box, menu_item_radio, menu_list_option, menu_list_popup, meter, navigation, note, outline, pane, paragraph, pop_up_button, pre, presentational, progress_indicator, radio_button, radio_group, region, root_web_area, row_header, row, ruby, ruler, svg_root, scroll_area, scroll_bar, seamless_web_area, search, search_box, slider, slider_thumb, spin_button_part, spin_button, splitter, static_text, status, switch, tab_group, tab_list, tab_panel, tab, table_header_container, table, text_field, time, timer, title_bar, toggle_button, toolbar, tree_grid, tree_item, tree, unknown, tooltip, web_area, web_view, window }; // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of // !AX_STATE_ENABLED. enum AXState { busy, checked, collapsed, default, disabled, // ui/views only editable, enabled, // content only expanded, focusable, haspopup, horizontal, hovered, invisible, linked, multiline, multiselectable, offscreen, pressed, protected, read_only, required, richly_editable, selectable, selected, vertical, visited }; // A change to the accessibility tree. enum AXMutation { node_created, subtree_created, node_changed, node_removed }; [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute { access_key, action, // Only used when invalid_state == invalid_state_other. aria_invalid_value, auto_complete, container_live_relevant, container_live_status, description, display, // Only present when different from parent. font_family, html_tag, // Only present when different from parent. language, name, live_relevant, live_status, placeholder, 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, // Attributes for retrieving the endpoints of a selection. 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, sort_direction, // Tree control attributes. hierarchical_level, // What information was used to compute the object's name // (of type AXNameFrom). name_from, // What information was used to compute the object's description // (of type AXDescriptionFrom). description_from, // Relationships between this element and other elements. activedescendant_id, // Identifies a child tree which this node hosts. child_tree_id, // Position or Number of items in current set of listitems or treeitems set_size, pos_in_set, // In the case of AX_ROLE_COLOR_WELL, specifies the selected color. color_value, // Text attributes. // Foreground and background color in RGBA. background_color, color, // Indicates if a form control has invalid input or // if an element has an aria-invalid attribute. invalid_state, // Specifies the direction of the text, e.g., right-to-left. text_direction, // Bold, italic, underline, etc. text_style }; [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute { // Range attributes. value_for_range, min_value_for_range, max_value_for_range, // Text attributes. // Font size is in pixels. font_size }; [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute { // True if an ARIA toggle button, a checkbox or // a menu item checkbox is in the "mixed" state. STATE_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, // 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_ltr, text_direction_rtl, text_direction_ttb, text_direction_btt }; // A Java counterpart will be generated for this enum. // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.ui.accessibility [cpp_enum_prefix_override="ax"] enum AXTextStyle { text_style_bold = 1, text_style_italic = 2, text_style_underline = 4, text_style_line_through = 8 }; [cpp_enum_prefix_override="ax"] enum AXInvalidState { invalid_state_false, invalid_state_true, invalid_state_spelling, invalid_state_grammar, invalid_state_other }; [cpp_enum_prefix_override="ax"] enum AXSortDirection { sort_direction_unsorted, sort_direction_ascending, sort_direction_descending, sort_direction_other }; [cpp_enum_prefix_override="ax"] enum AXNameFrom { name_from_uninitialized = 0, name_from_attribute, name_from_contents, name_from_placeholder, name_from_related_element, name_from_value }; [cpp_enum_prefix_override="ax"] enum AXDescriptionFrom { description_from_uninitialized = 0, description_from_attribute, description_from_contents, description_from_placeholder, description_from_related_element }; };