Instrumental test for BookmarksBridge. It currently tests these functionalities:...
[chromium-blink-merge.git] / ui / accessibility / ax_enums.idl
blobd522bd96d7ebc73a38672c8df091a0e5dcb4905f
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
24 // platforms.
25 enum AXEvent {
26 activedescendantchanged, // Web
27 alert,
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
32 children_changed,
33 focus,
34 hide, // Remove: http://crbug.com/392502
35 hover,
36 invalid_status_changed, // Implicit
37 layout_complete, // Web
38 live_region_changed, // Web
39 load_complete, // 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
53 selection, // Native
54 selection_add, // Native
55 selection_remove, // Native
56 show, // Remove: http://crbug.com/392502
57 text_changed,
58 text_selection_changed,
59 value_changed
62 enum AXRole {
63 alert_dialog,
64 alert,
65 annotation,
66 application,
67 article,
68 banner,
69 browser,
70 busy_indicator,
71 button,
72 button_drop_down,
73 canvas,
74 cell,
75 check_box,
76 client,
77 color_well,
78 column_header,
79 column,
80 combo_box,
81 complementary,
82 content_info,
83 definition,
84 description_list_detail,
85 description_list_term,
86 desktop,
87 dialog,
88 directory,
89 disclosure_triangle,
90 div,
91 document,
92 drawer,
93 editable_text,
94 embedded_object,
95 figcaption,
96 figure,
97 footer,
98 form,
99 grid,
100 group,
101 grow_area,
102 heading,
103 help_tag,
104 horizontal_rule,
105 iframe,
106 ignored,
107 image_map_link,
108 image_map,
109 image,
110 incrementor,
111 inline_text_box,
112 label_text,
113 legend,
114 link,
115 list_box_option,
116 list_box,
117 list_item,
118 list_marker,
119 list,
120 location_bar,
121 log,
122 main,
123 marquee,
124 math_element,
125 math,
126 matte,
127 menu_bar,
128 menu_button,
129 menu_item,
130 menu_list_option,
131 menu_list_popup,
132 menu,
133 navigation,
134 note,
135 outline,
136 pane,
137 paragraph,
138 pop_up_button,
139 presentational,
140 progress_indicator,
141 radio_button,
142 radio_group,
143 region,
144 root_web_area,
145 row_header,
146 row,
147 ruler_marker,
148 ruler,
149 svg_root,
150 scroll_area,
151 scroll_bar,
152 seamless_web_area,
153 search,
154 sheet,
155 slider,
156 slider_thumb,
157 spin_button_part,
158 spin_button,
159 split_group,
160 splitter,
161 static_text,
162 status,
163 system_wide,
164 tab_group,
165 tab_list,
166 tab_panel,
167 tab,
168 table_header_container,
169 table,
170 text_area,
171 text_field,
172 timer,
173 title_bar,
174 toggle_button,
175 toolbar,
176 tree_grid,
177 tree_item,
178 tree,
179 unknown,
180 tooltip,
181 value_indicator,
182 web_area,
183 window
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.
188 enum AXState {
189 busy,
190 checked,
191 collapsed,
192 default,
193 disabled, // ui/views only
194 editable, // ui/views only
195 enabled, // content only
196 expanded,
197 focusable,
198 focused,
199 haspopup,
200 hovered,
201 indeterminate,
202 invisible,
203 linked,
204 multiselectable,
205 offscreen,
206 pressed,
207 protected,
208 read_only,
209 required,
210 selectable,
211 selected,
212 vertical,
213 visited
216 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
217 // Document attributes.
218 doc_url,
219 doc_title,
220 doc_mimetype,
221 doc_doctype,
223 // Attributes that could apply to any node.
224 access_key,
225 action,
226 container_live_relevant,
227 container_live_status,
228 description,
229 display,
230 help,
231 html_tag,
232 name,
233 live_relevant,
234 live_status,
235 role,
236 shortcut,
237 url,
238 value
241 [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute {
242 // Scrollable container attributes.
243 scroll_x,
244 scroll_x_min,
245 scroll_x_max,
246 scroll_y,
247 scroll_y_min,
248 scroll_y_max,
250 // Editable text attributes.
251 text_sel_start,
252 text_sel_end,
254 // Table attributes.
255 table_row_count,
256 table_column_count,
257 table_header_id,
259 // Table row attributes.
260 table_row_index,
261 table_row_header_id,
263 // Table column attributes.
264 table_column_index,
265 table_column_header_id,
267 // Table cell attributes.
268 table_cell_column_index,
269 table_cell_column_span,
270 table_cell_row_index,
271 table_cell_row_span,
273 // Tree control attributes.
274 hierarchical_level,
276 // Relationships between this element and other elements.
277 title_ui_element,
278 activedescendant_id,
280 // Color value for AX_ROLE_COLOR_WELL, each component is 0..255
281 color_value_red,
282 color_value_green,
283 color_value_blue,
285 // Inline text attributes.
286 text_direction
289 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
290 // Document attributes.
291 doc_loading_progress,
293 // Range attributes.
294 value_for_range,
295 min_value_for_range,
296 max_value_for_range
299 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
300 // Document attributes.
301 doc_loaded,
303 // True if a checkbox or radio button is in the "mixed" state.
304 button_mixed,
306 // Live region attributes.
307 container_live_atomic,
308 container_live_busy,
309 live_atomic,
310 live_busy,
312 // ARIA readonly flag.
313 aria_readonly,
315 // Writeable attributes
316 can_set_value,
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.
323 canvas_has_fallback,
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.
328 is_ax_tree_host
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
335 // column.
336 indirect_child_ids,
338 // Relationships between this element and other elements.
339 controls_ids,
340 describedby_ids,
341 flowto_ids,
342 labelledby_ids,
343 owns_ids,
345 // Character indices where line breaks occur.
346 line_breaks,
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.
351 cell_ids,
353 // For a table, the unique cell ids in row-major order of their first
354 // occurrence.
355 unique_cell_ids,
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.
363 character_offsets,
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.
367 word_starts,
368 word_ends
371 [cpp_enum_prefix_override="ax"] enum AXTextDirection {
372 text_direction_lr,
373 text_direction_rl,
374 text_direction_tb,
375 text_direction_bt