Explicitly add python-numpy dependency to install-build-deps.
[chromium-blink-merge.git] / ui / accessibility / ax_enums.idl
blob7899736587eca0450bfb00a23eeb83b01a0e7542
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 blockquote,
70 browser,
71 busy_indicator,
72 button,
73 button_drop_down,
74 canvas,
75 cell,
76 check_box,
77 client,
78 color_well,
79 column_header,
80 column,
81 combo_box,
82 complementary,
83 content_info,
84 date,
85 date_time,
86 definition,
87 description_list_detail,
88 description_list,
89 description_list_term,
90 desktop,
91 details,
92 dialog,
93 directory,
94 disclosure_triangle,
95 div,
96 document,
97 drawer,
98 editable_text,
99 embedded_object,
100 figcaption,
101 figure,
102 footer,
103 form,
104 grid,
105 group,
106 grow_area,
107 heading,
108 help_tag,
109 iframe,
110 ignored,
111 image_map_link,
112 image_map,
113 image,
114 inline_text_box,
115 label_text,
116 legend,
117 link,
118 list_box_option,
119 list_box,
120 list_item,
121 list_marker,
122 list,
123 location_bar,
124 log,
125 main,
126 marquee,
127 math,
128 matte,
129 menu_bar,
130 menu_button,
131 menu_item,
132 menu_item_check_box,
133 menu_item_radio,
134 menu_list_option,
135 menu_list_popup,
136 menu,
137 meter,
138 navigation,
139 note,
140 outline,
141 pane,
142 paragraph,
143 pop_up_button,
144 pre,
145 presentational,
146 progress_indicator,
147 radio_button,
148 radio_group,
149 region,
150 root_web_area,
151 row_header,
152 row,
153 ruby,
154 ruler_marker,
155 ruler,
156 svg_root,
157 scroll_area,
158 scroll_bar,
159 seamless_web_area,
160 search,
161 sheet,
162 slider,
163 slider_thumb,
164 spin_button_part,
165 spin_button,
166 split_group,
167 splitter,
168 static_text,
169 status,
170 system_wide,
171 tab_group,
172 tab_list,
173 tab_panel,
174 tab,
175 table_header_container,
176 table,
177 text_area,
178 text_field,
179 time,
180 timer,
181 title_bar,
182 toggle_button,
183 toolbar,
184 tree_grid,
185 tree_item,
186 tree,
187 unknown,
188 tooltip,
189 value_indicator,
190 web_area,
191 web_view,
192 window
195 // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of
196 // !AX_STATE_ENABLED, and AX_STATE_EDITABLE instead of !AX_STATE_READONLY.
197 enum AXState {
198 busy,
199 checked,
200 collapsed,
201 default,
202 disabled, // ui/views only
203 editable, // ui/views only
204 enabled, // content only
205 expanded,
206 focusable,
207 focused,
208 haspopup,
209 hovered,
210 indeterminate,
211 invisible,
212 linked,
213 multiselectable,
214 offscreen,
215 pressed,
216 protected,
217 read_only,
218 required,
219 selectable,
220 selected,
221 vertical,
222 visited
225 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
226 // Document attributes.
227 doc_url,
228 doc_title,
229 doc_mimetype,
230 doc_doctype,
232 // Attributes that could apply to any node.
233 access_key,
234 action,
235 container_live_relevant,
236 container_live_status,
237 description,
238 display,
239 help,
240 html_tag,
241 name,
242 live_relevant,
243 live_status,
244 role,
245 shortcut,
246 text_input_type,
247 url,
248 value
251 [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute {
252 // Scrollable container attributes.
253 scroll_x,
254 scroll_x_min,
255 scroll_x_max,
256 scroll_y,
257 scroll_y_min,
258 scroll_y_max,
260 // Editable text attributes.
261 text_sel_start,
262 text_sel_end,
264 // Table attributes.
265 table_row_count,
266 table_column_count,
267 table_header_id,
269 // Table row attributes.
270 table_row_index,
271 table_row_header_id,
273 // Table column attributes.
274 table_column_index,
275 table_column_header_id,
277 // Table cell attributes.
278 table_cell_column_index,
279 table_cell_column_span,
280 table_cell_row_index,
281 table_cell_row_span,
283 // Tree control attributes.
284 hierarchical_level,
286 // Relationships between this element and other elements.
287 title_ui_element,
288 activedescendant_id,
290 // Color value for AX_ROLE_COLOR_WELL, each component is 0..255
291 color_value_red,
292 color_value_green,
293 color_value_blue,
295 // Inline text attributes.
296 text_direction,
298 // Uniquely identifies an AXTree.
299 tree_id,
301 // Identifies a child tree which this node hosts.
302 child_tree_id
305 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
306 // Document attributes.
307 doc_loading_progress,
309 // Range attributes.
310 value_for_range,
311 min_value_for_range,
312 max_value_for_range
315 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
316 // Document attributes.
317 doc_loaded,
319 // True if a checkbox or radio button is in the "mixed" state.
320 button_mixed,
322 // Live region attributes.
323 container_live_atomic,
324 container_live_busy,
325 live_atomic,
326 live_busy,
328 // ARIA readonly flag.
329 aria_readonly,
331 // Writeable attributes
332 can_set_value,
334 // If this is set, all of the other fields in this struct should
335 // be ignored and only the locations should change.
336 update_location_only,
338 // Set on a canvas element if it has fallback content.
339 canvas_has_fallback,
341 // Set if this node is the host of an external AXTree, for
342 // example a web view that's a child of a native view, or a
343 // web iframe that's the child of another web frame.
344 is_ax_tree_host
347 [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute {
348 // Ids of nodes that are children of this node logically, but are
349 // not children of this node in the tree structure. As an example,
350 // a table cell is a child of a row, and an 'indirect' child of a
351 // column.
352 indirect_child_ids,
354 // Relationships between this element and other elements.
355 controls_ids,
356 describedby_ids,
357 flowto_ids,
358 labelledby_ids,
359 owns_ids,
361 // Character indices where line breaks occur.
362 line_breaks,
364 // For a table, the cell ids in row-major order, with duplicate entries
365 // when there's a rowspan or colspan, and with -1 for missing cells.
366 // There are always exactly rows * columns entries.
367 cell_ids,
369 // For a table, the unique cell ids in row-major order of their first
370 // occurrence.
371 unique_cell_ids,
373 // For inline text. This is the pixel position of the end of this
374 // character within the bounding rectangle of this object, in the
375 // direction given by AX_ATTR_TEXT_DIRECTION. For example, for left-to-right
376 // text, the first offset is the right coordinate of the first character
377 // within the object's bounds, the second offset is the right coordinate
378 // of the second character, and so on.
379 character_offsets,
381 // For inline text. These int lists must be the same size; they represent
382 // the start and end character index of each word within this text.
383 word_starts,
384 word_ends
387 [cpp_enum_prefix_override="ax"] enum AXTextDirection {
388 text_direction_lr,
389 text_direction_rl,
390 text_direction_tb,
391 text_direction_bt