chrome/browser/extensions: Remove use of MessageLoopProxy and deprecated MessageLoop...
[chromium-blink-merge.git] / ui / accessibility / ax_enums.idl
blobc6fead9f35be3ba2d060b5a003e850b45c2b70da
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 tree_changed, // Accessibility tree changed. Don't
60 // explicitly fire an accessibility event,
61 // only implicitly due to the change.
62 value_changed
65 enum AXRole {
66 alert_dialog,
67 alert,
68 annotation,
69 application,
70 article,
71 banner,
72 blockquote,
73 busy_indicator,
74 button,
75 button_drop_down,
76 canvas,
77 caption,
78 cell,
79 check_box,
80 client,
81 color_well,
82 column_header,
83 column,
84 combo_box,
85 complementary,
86 content_info,
87 date,
88 date_time,
89 definition,
90 description_list_detail,
91 description_list,
92 description_list_term,
93 desktop,
94 details,
95 dialog,
96 directory,
97 disclosure_triangle,
98 div,
99 document,
100 embedded_object,
101 figcaption,
102 figure,
103 footer,
104 form,
105 grid,
106 group,
107 heading,
108 iframe,
109 iframe_presentational,
110 ignored,
111 image_map_link,
112 image_map,
113 image,
114 inline_text_box,
115 input_time,
116 label_text,
117 legend,
118 line_break,
119 link,
120 list_box_option,
121 list_box,
122 list_item,
123 list_marker,
124 list,
125 location_bar,
126 log,
127 main,
128 marquee,
129 math,
130 menu_bar,
131 menu_button,
132 menu_item,
133 menu_item_check_box,
134 menu_item_radio,
135 menu_list_option,
136 menu_list_popup,
137 menu,
138 meter,
139 navigation,
140 note,
141 outline,
142 pane,
143 paragraph,
144 pop_up_button,
145 pre,
146 presentational,
147 progress_indicator,
148 radio_button,
149 radio_group,
150 region,
151 root_web_area,
152 row_header,
153 row,
154 ruby,
155 ruler,
156 svg_root,
157 scroll_area,
158 scroll_bar,
159 seamless_web_area,
160 search,
161 search_box,
162 slider,
163 slider_thumb,
164 spin_button_part,
165 spin_button,
166 splitter,
167 static_text,
168 status,
169 switch,
170 tab_group,
171 tab_list,
172 tab_panel,
173 tab,
174 table_header_container,
175 table,
176 text_field,
177 time,
178 timer,
179 title_bar,
180 toggle_button,
181 toolbar,
182 tree_grid,
183 tree_item,
184 tree,
185 unknown,
186 tooltip,
187 web_area,
188 web_view,
189 window
192 // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of
193 // !AX_STATE_ENABLED, and AX_STATE_EDITABLE instead of !AX_STATE_READONLY.
194 enum AXState {
195 busy,
196 checked,
197 collapsed,
198 default,
199 disabled, // ui/views only
200 editable, // ui/views only
201 enabled, // content only
202 expanded,
203 focusable,
204 focused,
205 haspopup,
206 horizontal,
207 hovered,
208 indeterminate,
209 invisible,
210 linked,
211 multiline,
212 multiselectable,
213 offscreen,
214 pressed,
215 protected,
216 read_only,
217 required,
218 selectable,
219 selected,
220 vertical,
221 visited
224 // A change to the accessibility tree.
225 enum AXMutation {
226 node_created,
227 subtree_created,
228 node_changed,
229 node_removed
232 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
233 // Document attributes.
234 doc_url,
235 doc_title,
236 doc_mimetype,
237 doc_doctype,
239 // Attributes that could apply to any node.
240 access_key,
241 action,
242 auto_complete,
243 container_live_relevant,
244 container_live_status,
245 description,
246 display,
247 help,
248 html_tag,
249 // Only used when invalid_state == invalid_state_other.
250 aria_invalid_value,
251 name,
252 live_relevant,
253 live_status,
254 placeholder,
255 role,
256 shortcut,
257 url,
258 value
261 [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute {
262 // Scrollable container attributes.
263 scroll_x,
264 scroll_x_min,
265 scroll_x_max,
266 scroll_y,
267 scroll_y_min,
268 scroll_y_max,
270 // Editable text attributes.
271 text_sel_start,
272 text_sel_end,
274 // Table attributes.
275 table_row_count,
276 table_column_count,
277 table_header_id,
279 // Table row attributes.
280 table_row_index,
281 table_row_header_id,
283 // Table column attributes.
284 table_column_index,
285 table_column_header_id,
287 // Table cell attributes.
288 table_cell_column_index,
289 table_cell_column_span,
290 table_cell_row_index,
291 table_cell_row_span,
292 sort_direction,
294 // Tree control attributes.
295 hierarchical_level,
297 // Relationships between this element and other elements.
298 title_ui_element,
299 activedescendant_id,
301 // Uniquely identifies an AXTree.
302 tree_id,
304 // Identifies a child tree which this node hosts.
305 child_tree_id,
307 // Position or Number of items in current set of listitems or treeitems
308 set_size,
309 pos_in_set,
311 // In the case of AX_ROLE_COLOR_WELL, specifies the selected color.
312 color_value,
315 // Text attributes.
317 // Foreground and background color in RGBA.
318 background_color,
319 color,
321 // Indicates if a form control has invalid input or
322 // if an element has an aria-invalid attribute.
323 invalid_state,
325 // Specifies the direction of the text, e.g., right-to-left.
326 text_direction,
328 // Bold, italic, underline, etc.
329 text_style
332 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
333 // Document attributes.
334 doc_loading_progress,
336 // Range attributes.
337 value_for_range,
338 min_value_for_range,
339 max_value_for_range,
341 // Text attributes.
342 // Font size is in pixels.
343 font_size
346 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
347 // Document attributes.
348 doc_loaded,
350 // True if a checkbox or radio button is in the "mixed" state.
351 button_mixed,
353 // Live region attributes.
354 container_live_atomic,
355 container_live_busy,
356 live_atomic,
357 live_busy,
359 // ARIA readonly flag.
360 aria_readonly,
362 // Writeable attributes
363 can_set_value,
365 // If this is set, all of the other fields in this struct should
366 // be ignored and only the locations should change.
367 update_location_only,
369 // Set on a canvas element if it has fallback content.
370 canvas_has_fallback,
372 // Set if this node is the host of an external AXTree, for
373 // example a web view that's a child of a native view, or a
374 // web iframe that's the child of another web frame.
375 is_ax_tree_host
378 [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute {
379 // Ids of nodes that are children of this node logically, but are
380 // not children of this node in the tree structure. As an example,
381 // a table cell is a child of a row, and an 'indirect' child of a
382 // column.
383 indirect_child_ids,
385 // Relationships between this element and other elements.
386 controls_ids,
387 describedby_ids,
388 flowto_ids,
389 labelledby_ids,
390 owns_ids,
392 // Character indices where line breaks occur.
393 line_breaks,
395 // For a table, the cell ids in row-major order, with duplicate entries
396 // when there's a rowspan or colspan, and with -1 for missing cells.
397 // There are always exactly rows * columns entries.
398 cell_ids,
400 // For a table, the unique cell ids in row-major order of their first
401 // occurrence.
402 unique_cell_ids,
404 // For inline text. This is the pixel position of the end of this
405 // character within the bounding rectangle of this object, in the
406 // direction given by AX_ATTR_TEXT_DIRECTION. For example, for left-to-right
407 // text, the first offset is the right coordinate of the first character
408 // within the object's bounds, the second offset is the right coordinate
409 // of the second character, and so on.
410 character_offsets,
412 // For inline text. These int lists must be the same size; they represent
413 // the start and end character index of each word within this text.
414 word_starts,
415 word_ends
418 [cpp_enum_prefix_override="ax"] enum AXTextDirection {
419 text_direction_ltr,
420 text_direction_rtl,
421 text_direction_ttb,
422 text_direction_btt
425 // A Java counterpart will be generated for this enum.
426 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.ui.accessibility
427 [cpp_enum_prefix_override="ax"] enum AXTextStyle {
428 text_style_bold = 1,
429 text_style_italic = 2,
430 text_style_underline = 4,
431 text_style_line_through = 8
434 [cpp_enum_prefix_override="ax"] enum AXInvalidState {
435 invalid_state_false,
436 invalid_state_true,
437 invalid_state_spelling,
438 invalid_state_grammar,
439 invalid_state_other
442 [cpp_enum_prefix_override="ax"] enum AXSortDirection {
443 sort_direction_unsorted,
444 sort_direction_ascending,
445 sort_direction_descending,
446 sort_direction_other