Roll src/breakpad/src 242fb9a:c80d211 (svn 1471:1495)
[chromium-blink-merge.git] / ui / accessibility / ax_enums.idl
blobaf160e47f77ac9a30355432539238a1b69638cbb
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 mark,
129 marquee,
130 math,
131 menu_bar,
132 menu_button,
133 menu_item,
134 menu_item_check_box,
135 menu_item_radio,
136 menu_list_option,
137 menu_list_popup,
138 menu,
139 meter,
140 navigation,
141 note,
142 outline,
143 pane,
144 paragraph,
145 pop_up_button,
146 pre,
147 presentational,
148 progress_indicator,
149 radio_button,
150 radio_group,
151 region,
152 root_web_area,
153 row_header,
154 row,
155 ruby,
156 ruler,
157 svg_root,
158 scroll_area,
159 scroll_bar,
160 seamless_web_area,
161 search,
162 search_box,
163 slider,
164 slider_thumb,
165 spin_button_part,
166 spin_button,
167 splitter,
168 static_text,
169 status,
170 switch,
171 tab_group,
172 tab_list,
173 tab_panel,
174 tab,
175 table_header_container,
176 table,
177 text_field,
178 time,
179 timer,
180 title_bar,
181 toggle_button,
182 toolbar,
183 tree_grid,
184 tree_item,
185 tree,
186 unknown,
187 tooltip,
188 web_area,
189 web_view,
190 window
193 // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of
194 // !AX_STATE_ENABLED, and AX_STATE_EDITABLE instead of !AX_STATE_READONLY.
195 enum AXState {
196 busy,
197 checked,
198 collapsed,
199 default,
200 disabled, // ui/views only
201 editable, // ui/views only
202 enabled, // content only
203 expanded,
204 focusable,
205 focused,
206 haspopup,
207 horizontal,
208 hovered,
209 indeterminate,
210 invisible,
211 linked,
212 multiline,
213 multiselectable,
214 offscreen,
215 pressed,
216 protected,
217 read_only,
218 required,
219 selectable,
220 selected,
221 vertical,
222 visited
225 // A change to the accessibility tree.
226 enum AXMutation {
227 node_created,
228 subtree_created,
229 node_changed,
230 node_removed
233 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
234 // Document attributes.
235 doc_url,
236 doc_title,
237 doc_mimetype,
238 doc_doctype,
240 // Attributes that could apply to any node.
241 access_key,
242 action,
243 auto_complete,
244 container_live_relevant,
245 container_live_status,
246 description,
247 display,
248 help,
249 html_tag,
250 // Only used when invalid_state == invalid_state_other.
251 aria_invalid_value,
252 name,
253 live_relevant,
254 live_status,
255 placeholder,
256 role,
257 shortcut,
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 // Attributes for retrieving the endpoints of a selection.
272 anchor_object_id,
273 anchor_offset,
274 focus_object_id,
275 focus_offset,
276 // Deprecated.
277 text_sel_start,
278 text_sel_end,
280 // Table attributes.
281 table_row_count,
282 table_column_count,
283 table_header_id,
285 // Table row attributes.
286 table_row_index,
287 table_row_header_id,
289 // Table column attributes.
290 table_column_index,
291 table_column_header_id,
293 // Table cell attributes.
294 table_cell_column_index,
295 table_cell_column_span,
296 table_cell_row_index,
297 table_cell_row_span,
298 sort_direction,
300 // Tree control attributes.
301 hierarchical_level,
303 // Relationships between this element and other elements.
304 title_ui_element,
305 activedescendant_id,
307 // Uniquely identifies an AXTree.
308 tree_id,
310 // Identifies a child tree which this node hosts.
311 child_tree_id,
313 // Identifies the parent tree that hosts this tree's root node.
314 parent_tree_id,
316 // Position or Number of items in current set of listitems or treeitems
317 set_size,
318 pos_in_set,
320 // In the case of AX_ROLE_COLOR_WELL, specifies the selected color.
321 color_value,
324 // Text attributes.
326 // Foreground and background color in RGBA.
327 background_color,
328 color,
330 // Indicates if a form control has invalid input or
331 // if an element has an aria-invalid attribute.
332 invalid_state,
334 // Specifies the direction of the text, e.g., right-to-left.
335 text_direction,
337 // Bold, italic, underline, etc.
338 text_style
341 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
342 // Document attributes.
343 doc_loading_progress,
345 // Range attributes.
346 value_for_range,
347 min_value_for_range,
348 max_value_for_range,
350 // Text attributes.
351 // Font size is in pixels.
352 font_size
355 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
356 // Document attributes.
357 doc_loaded,
359 // True if a checkbox or radio button is in the "mixed" state.
360 button_mixed,
362 // Live region attributes.
363 container_live_atomic,
364 container_live_busy,
365 live_atomic,
366 live_busy,
368 // ARIA readonly flag.
369 aria_readonly,
371 // Writeable attributes
372 can_set_value,
374 // If this is set, all of the other fields in this struct should
375 // be ignored and only the locations should change.
376 update_location_only,
378 // Set on a canvas element if it has fallback content.
379 canvas_has_fallback
382 [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute {
383 // Ids of nodes that are children of this node logically, but are
384 // not children of this node in the tree structure. As an example,
385 // a table cell is a child of a row, and an 'indirect' child of a
386 // column.
387 indirect_child_ids,
389 // Relationships between this element and other elements.
390 controls_ids,
391 describedby_ids,
392 flowto_ids,
393 labelledby_ids,
394 owns_ids,
396 // Character indices where line breaks occur.
397 line_breaks,
399 // For a table, the cell ids in row-major order, with duplicate entries
400 // when there's a rowspan or colspan, and with -1 for missing cells.
401 // There are always exactly rows * columns entries.
402 cell_ids,
404 // For a table, the unique cell ids in row-major order of their first
405 // occurrence.
406 unique_cell_ids,
408 // For inline text. This is the pixel position of the end of this
409 // character within the bounding rectangle of this object, in the
410 // direction given by AX_ATTR_TEXT_DIRECTION. For example, for left-to-right
411 // text, the first offset is the right coordinate of the first character
412 // within the object's bounds, the second offset is the right coordinate
413 // of the second character, and so on.
414 character_offsets,
416 // For inline text. These int lists must be the same size; they represent
417 // the start and end character index of each word within this text.
418 word_starts,
419 word_ends
422 [cpp_enum_prefix_override="ax"] enum AXTextDirection {
423 text_direction_ltr,
424 text_direction_rtl,
425 text_direction_ttb,
426 text_direction_btt
429 // A Java counterpart will be generated for this enum.
430 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.ui.accessibility
431 [cpp_enum_prefix_override="ax"] enum AXTextStyle {
432 text_style_bold = 1,
433 text_style_italic = 2,
434 text_style_underline = 4,
435 text_style_line_through = 8
438 [cpp_enum_prefix_override="ax"] enum AXInvalidState {
439 invalid_state_false,
440 invalid_state_true,
441 invalid_state_spelling,
442 invalid_state_grammar,
443 invalid_state_other
446 [cpp_enum_prefix_override="ax"] enum AXSortDirection {
447 sort_direction_unsorted,
448 sort_direction_ascending,
449 sort_direction_descending,
450 sort_direction_other