tools/gn: fix escaping of backslashes
[chromium-blink-merge.git] / ui / accessibility / ax_enums.idl
blob0a2d1458bad7bda60664f3ddcf54577457d2a8ba
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 search_box,
161 slider,
162 slider_thumb,
163 spin_button_part,
164 spin_button,
165 splitter,
166 static_text,
167 status,
168 switch,
169 tab_group,
170 tab_list,
171 tab_panel,
172 tab,
173 table_header_container,
174 table,
175 text_area,
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 multiselectable,
212 offscreen,
213 pressed,
214 protected,
215 read_only,
216 required,
217 selectable,
218 selected,
219 vertical,
220 visited
223 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
224 // Document attributes.
225 doc_url,
226 doc_title,
227 doc_mimetype,
228 doc_doctype,
230 // Attributes that could apply to any node.
231 access_key,
232 action,
233 auto_complete,
234 container_live_relevant,
235 container_live_status,
236 description,
237 display,
238 dropeffect,
239 help,
240 html_tag,
241 // Only used when invalid_state == invalid_state_other.
242 aria_invalid_value,
243 name,
244 live_relevant,
245 live_status,
246 placeholder,
247 role,
248 shortcut,
249 text_input_type,
250 url,
251 value
254 [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute {
255 // Scrollable container attributes.
256 scroll_x,
257 scroll_x_min,
258 scroll_x_max,
259 scroll_y,
260 scroll_y_min,
261 scroll_y_max,
263 // Editable text attributes.
264 text_sel_start,
265 text_sel_end,
267 // Table attributes.
268 table_row_count,
269 table_column_count,
270 table_header_id,
272 // Table row attributes.
273 table_row_index,
274 table_row_header_id,
276 // Table column attributes.
277 table_column_index,
278 table_column_header_id,
280 // Table cell attributes.
281 table_cell_column_index,
282 table_cell_column_span,
283 table_cell_row_index,
284 table_cell_row_span,
285 sort_direction,
287 // Tree control attributes.
288 hierarchical_level,
290 // Relationships between this element and other elements.
291 title_ui_element,
292 activedescendant_id,
294 // Color value for AX_ROLE_COLOR_WELL, each component is 0..255
295 color_value_red,
296 color_value_green,
297 color_value_blue,
299 // Inline text attributes.
300 text_direction,
302 // Uniquely identifies an AXTree.
303 tree_id,
305 // Identifies a child tree which this node hosts.
306 child_tree_id,
308 // Indicates if a form control has invalid input or
309 // if an element has an aria-invalid attribute.
310 invalid_state
313 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
314 // Document attributes.
315 doc_loading_progress,
317 // Range attributes.
318 value_for_range,
319 min_value_for_range,
320 max_value_for_range
323 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
324 // Document attributes.
325 doc_loaded,
327 // True if a checkbox or radio button is in the "mixed" state.
328 button_mixed,
330 // Live region attributes.
331 container_live_atomic,
332 container_live_busy,
333 live_atomic,
334 live_busy,
336 // ARIA readonly flag.
337 aria_readonly,
339 // Writeable attributes
340 can_set_value,
342 // If this is set, all of the other fields in this struct should
343 // be ignored and only the locations should change.
344 update_location_only,
346 // Set on a canvas element if it has fallback content.
347 canvas_has_fallback,
349 // Set if this node is the host of an external AXTree, for
350 // example a web view that's a child of a native view, or a
351 // web iframe that's the child of another web frame.
352 is_ax_tree_host,
354 // Set if this node has been selected for dragging in
355 // a drag-n-drop operation.
356 grabbed
359 [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute {
360 // Ids of nodes that are children of this node logically, but are
361 // not children of this node in the tree structure. As an example,
362 // a table cell is a child of a row, and an 'indirect' child of a
363 // column.
364 indirect_child_ids,
366 // Relationships between this element and other elements.
367 controls_ids,
368 describedby_ids,
369 flowto_ids,
370 labelledby_ids,
371 owns_ids,
373 // Character indices where line breaks occur.
374 line_breaks,
376 // For a table, the cell ids in row-major order, with duplicate entries
377 // when there's a rowspan or colspan, and with -1 for missing cells.
378 // There are always exactly rows * columns entries.
379 cell_ids,
381 // For a table, the unique cell ids in row-major order of their first
382 // occurrence.
383 unique_cell_ids,
385 // For inline text. This is the pixel position of the end of this
386 // character within the bounding rectangle of this object, in the
387 // direction given by AX_ATTR_TEXT_DIRECTION. For example, for left-to-right
388 // text, the first offset is the right coordinate of the first character
389 // within the object's bounds, the second offset is the right coordinate
390 // of the second character, and so on.
391 character_offsets,
393 // For inline text. These int lists must be the same size; they represent
394 // the start and end character index of each word within this text.
395 word_starts,
396 word_ends
399 [cpp_enum_prefix_override="ax"] enum AXTextDirection {
400 text_direction_lr,
401 text_direction_rl,
402 text_direction_tb,
403 text_direction_bt
406 [cpp_enum_prefix_override="ax"] enum AXInvalidState {
407 invalid_state_false,
408 invalid_state_true,
409 invalid_state_spelling,
410 invalid_state_grammar,
411 invalid_state_other
414 [cpp_enum_prefix_override="ax"] enum AXSortDirection {
415 sort_direction_unsorted,
416 sort_direction_ascending,
417 sort_direction_descending,
418 sort_direction_other