Mac: Flash NTP background color instead of white
[chromium-blink-merge.git] / ui / accessibility / ax_enums.idl
bloba61f994235fd3920b83b84b8f729bb5127673e11
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_field,
176 time,
177 timer,
178 title_bar,
179 toggle_button,
180 toolbar,
181 tree_grid,
182 tree_item,
183 tree,
184 unknown,
185 tooltip,
186 web_area,
187 web_view,
188 window
191 // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of
192 // !AX_STATE_ENABLED, and AX_STATE_EDITABLE instead of !AX_STATE_READONLY.
193 enum AXState {
194 busy,
195 checked,
196 collapsed,
197 default,
198 disabled, // ui/views only
199 editable, // ui/views only
200 enabled, // content only
201 expanded,
202 focusable,
203 focused,
204 haspopup,
205 horizontal,
206 hovered,
207 indeterminate,
208 invisible,
209 linked,
210 multiline,
211 multiselectable,
212 offscreen,
213 pressed,
214 protected,
215 read_only,
216 required,
217 selectable,
218 selected,
219 vertical,
220 visited
223 // A change to the accessibility tree.
224 enum AXMutation {
225 node_created,
226 subtree_created,
227 node_changed,
228 node_removed
231 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
232 // Document attributes.
233 doc_url,
234 doc_title,
235 doc_mimetype,
236 doc_doctype,
238 // Attributes that could apply to any node.
239 access_key,
240 action,
241 auto_complete,
242 container_live_relevant,
243 container_live_status,
244 description,
245 display,
246 dropeffect,
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 text_input_type,
258 url,
259 value
262 [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute {
263 // Scrollable container attributes.
264 scroll_x,
265 scroll_x_min,
266 scroll_x_max,
267 scroll_y,
268 scroll_y_min,
269 scroll_y_max,
271 // Editable text attributes.
272 text_sel_start,
273 text_sel_end,
275 // Table attributes.
276 table_row_count,
277 table_column_count,
278 table_header_id,
280 // Table row attributes.
281 table_row_index,
282 table_row_header_id,
284 // Table column attributes.
285 table_column_index,
286 table_column_header_id,
288 // Table cell attributes.
289 table_cell_column_index,
290 table_cell_column_span,
291 table_cell_row_index,
292 table_cell_row_span,
293 sort_direction,
295 // Tree control attributes.
296 hierarchical_level,
298 // Relationships between this element and other elements.
299 title_ui_element,
300 activedescendant_id,
302 // Color value for AX_ROLE_COLOR_WELL, each component is 0..255
303 color_value_red,
304 color_value_green,
305 color_value_blue,
307 // Inline text attributes.
308 text_direction,
310 // Uniquely identifies an AXTree.
311 tree_id,
313 // Identifies a child tree which this node hosts.
314 child_tree_id,
316 // Indicates if a form control has invalid input or
317 // if an element has an aria-invalid attribute.
318 invalid_state
321 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
322 // Document attributes.
323 doc_loading_progress,
325 // Range attributes.
326 value_for_range,
327 min_value_for_range,
328 max_value_for_range
331 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
332 // Document attributes.
333 doc_loaded,
335 // True if a checkbox or radio button is in the "mixed" state.
336 button_mixed,
338 // Live region attributes.
339 container_live_atomic,
340 container_live_busy,
341 live_atomic,
342 live_busy,
344 // ARIA readonly flag.
345 aria_readonly,
347 // Writeable attributes
348 can_set_value,
350 // If this is set, all of the other fields in this struct should
351 // be ignored and only the locations should change.
352 update_location_only,
354 // Set on a canvas element if it has fallback content.
355 canvas_has_fallback,
357 // Set if this node is the host of an external AXTree, for
358 // example a web view that's a child of a native view, or a
359 // web iframe that's the child of another web frame.
360 is_ax_tree_host,
362 // Set if this node has been selected for dragging in
363 // a drag-n-drop operation.
364 grabbed
367 [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute {
368 // Ids of nodes that are children of this node logically, but are
369 // not children of this node in the tree structure. As an example,
370 // a table cell is a child of a row, and an 'indirect' child of a
371 // column.
372 indirect_child_ids,
374 // Relationships between this element and other elements.
375 controls_ids,
376 describedby_ids,
377 flowto_ids,
378 labelledby_ids,
379 owns_ids,
381 // Character indices where line breaks occur.
382 line_breaks,
384 // For a table, the cell ids in row-major order, with duplicate entries
385 // when there's a rowspan or colspan, and with -1 for missing cells.
386 // There are always exactly rows * columns entries.
387 cell_ids,
389 // For a table, the unique cell ids in row-major order of their first
390 // occurrence.
391 unique_cell_ids,
393 // For inline text. This is the pixel position of the end of this
394 // character within the bounding rectangle of this object, in the
395 // direction given by AX_ATTR_TEXT_DIRECTION. For example, for left-to-right
396 // text, the first offset is the right coordinate of the first character
397 // within the object's bounds, the second offset is the right coordinate
398 // of the second character, and so on.
399 character_offsets,
401 // For inline text. These int lists must be the same size; they represent
402 // the start and end character index of each word within this text.
403 word_starts,
404 word_ends
407 [cpp_enum_prefix_override="ax"] enum AXTextDirection {
408 text_direction_lr,
409 text_direction_rl,
410 text_direction_tb,
411 text_direction_bt
414 [cpp_enum_prefix_override="ax"] enum AXInvalidState {
415 invalid_state_false,
416 invalid_state_true,
417 invalid_state_spelling,
418 invalid_state_grammar,
419 invalid_state_other
422 [cpp_enum_prefix_override="ax"] enum AXSortDirection {
423 sort_direction_unsorted,
424 sort_direction_ascending,
425 sort_direction_descending,
426 sort_direction_other