Disable sync for Lightspeed experimentation.
[chromium-blink-merge.git] / ui / accessibility / ax_enums.idl
blob7bcfe712a15ba52f666e687be9b825a34fab2e8d
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 label_text,
116 legend,
117 line_break,
118 link,
119 list_box_option,
120 list_box,
121 list_item,
122 list_marker,
123 list,
124 location_bar,
125 log,
126 main,
127 marquee,
128 math,
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,
155 svg_root,
156 scroll_area,
157 scroll_bar,
158 seamless_web_area,
159 search,
160 slider,
161 slider_thumb,
162 spin_button_part,
163 spin_button,
164 splitter,
165 static_text,
166 status,
167 tab_group,
168 tab_list,
169 tab_panel,
170 tab,
171 table_header_container,
172 table,
173 text_area,
174 text_field,
175 time,
176 timer,
177 title_bar,
178 toggle_button,
179 toolbar,
180 tree_grid,
181 tree_item,
182 tree,
183 unknown,
184 tooltip,
185 web_area,
186 web_view,
187 window
190 // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of
191 // !AX_STATE_ENABLED, and AX_STATE_EDITABLE instead of !AX_STATE_READONLY.
192 enum AXState {
193 busy,
194 checked,
195 collapsed,
196 default,
197 disabled, // ui/views only
198 editable, // ui/views only
199 enabled, // content only
200 expanded,
201 focusable,
202 focused,
203 haspopup,
204 horizontal,
205 hovered,
206 indeterminate,
207 invisible,
208 linked,
209 multiselectable,
210 offscreen,
211 pressed,
212 protected,
213 read_only,
214 required,
215 selectable,
216 selected,
217 vertical,
218 visited
221 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
222 // Document attributes.
223 doc_url,
224 doc_title,
225 doc_mimetype,
226 doc_doctype,
228 // Attributes that could apply to any node.
229 access_key,
230 action,
231 auto_complete,
232 container_live_relevant,
233 container_live_status,
234 description,
235 display,
236 dropeffect,
237 help,
238 html_tag,
239 // Only used when invalid_state == invalid_state_other.
240 aria_invalid_value,
241 name,
242 live_relevant,
243 live_status,
244 placeholder,
245 role,
246 shortcut,
247 text_input_type,
248 url,
249 value
252 [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute {
253 // Scrollable container attributes.
254 scroll_x,
255 scroll_x_min,
256 scroll_x_max,
257 scroll_y,
258 scroll_y_min,
259 scroll_y_max,
261 // Editable text attributes.
262 text_sel_start,
263 text_sel_end,
265 // Table attributes.
266 table_row_count,
267 table_column_count,
268 table_header_id,
270 // Table row attributes.
271 table_row_index,
272 table_row_header_id,
274 // Table column attributes.
275 table_column_index,
276 table_column_header_id,
278 // Table cell attributes.
279 table_cell_column_index,
280 table_cell_column_span,
281 table_cell_row_index,
282 table_cell_row_span,
283 sort_direction,
285 // Tree control attributes.
286 hierarchical_level,
288 // Relationships between this element and other elements.
289 title_ui_element,
290 activedescendant_id,
292 // Color value for AX_ROLE_COLOR_WELL, each component is 0..255
293 color_value_red,
294 color_value_green,
295 color_value_blue,
297 // Inline text attributes.
298 text_direction,
300 // Uniquely identifies an AXTree.
301 tree_id,
303 // Identifies a child tree which this node hosts.
304 child_tree_id,
306 // Indicates if a form control has invalid input or
307 // if an element has an aria-invalid attribute.
308 invalid_state
311 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
312 // Document attributes.
313 doc_loading_progress,
315 // Range attributes.
316 value_for_range,
317 min_value_for_range,
318 max_value_for_range
321 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
322 // Document attributes.
323 doc_loaded,
325 // True if a checkbox or radio button is in the "mixed" state.
326 button_mixed,
328 // Live region attributes.
329 container_live_atomic,
330 container_live_busy,
331 live_atomic,
332 live_busy,
334 // ARIA readonly flag.
335 aria_readonly,
337 // Writeable attributes
338 can_set_value,
340 // If this is set, all of the other fields in this struct should
341 // be ignored and only the locations should change.
342 update_location_only,
344 // Set on a canvas element if it has fallback content.
345 canvas_has_fallback,
347 // Set if this node is the host of an external AXTree, for
348 // example a web view that's a child of a native view, or a
349 // web iframe that's the child of another web frame.
350 is_ax_tree_host,
352 // Set if this node has been selected for dragging in
353 // a drag-n-drop operation.
354 grabbed
357 [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute {
358 // Ids of nodes that are children of this node logically, but are
359 // not children of this node in the tree structure. As an example,
360 // a table cell is a child of a row, and an 'indirect' child of a
361 // column.
362 indirect_child_ids,
364 // Relationships between this element and other elements.
365 controls_ids,
366 describedby_ids,
367 flowto_ids,
368 labelledby_ids,
369 owns_ids,
371 // Character indices where line breaks occur.
372 line_breaks,
374 // For a table, the cell ids in row-major order, with duplicate entries
375 // when there's a rowspan or colspan, and with -1 for missing cells.
376 // There are always exactly rows * columns entries.
377 cell_ids,
379 // For a table, the unique cell ids in row-major order of their first
380 // occurrence.
381 unique_cell_ids,
383 // For inline text. This is the pixel position of the end of this
384 // character within the bounding rectangle of this object, in the
385 // direction given by AX_ATTR_TEXT_DIRECTION. For example, for left-to-right
386 // text, the first offset is the right coordinate of the first character
387 // within the object's bounds, the second offset is the right coordinate
388 // of the second character, and so on.
389 character_offsets,
391 // For inline text. These int lists must be the same size; they represent
392 // the start and end character index of each word within this text.
393 word_starts,
394 word_ends
397 [cpp_enum_prefix_override="ax"] enum AXTextDirection {
398 text_direction_lr,
399 text_direction_rl,
400 text_direction_tb,
401 text_direction_bt
404 [cpp_enum_prefix_override="ax"] enum AXInvalidState {
405 invalid_state_false,
406 invalid_state_true,
407 invalid_state_spelling,
408 invalid_state_grammar,
409 invalid_state_other
412 [cpp_enum_prefix_override="ax"] enum AXSortDirection {
413 sort_direction_unsorted,
414 sort_direction_ascending,
415 sort_direction_descending,
416 sort_direction_other