Roll src/third_party/WebKit 6f84130:7353389 (svn 184386:184391)
[chromium-blink-merge.git] / ui / accessibility / ax_enums.idl
blob27ad04aea4eea79e9bc5b03e7e11f9c9931835c2
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 browser,
70 busy_indicator,
71 button,
72 button_drop_down,
73 canvas,
74 cell,
75 check_box,
76 client,
77 color_well,
78 column_header,
79 column,
80 combo_box,
81 complementary,
82 content_info,
83 date,
84 date_time,
85 definition,
86 description_list_detail,
87 description_list,
88 description_list_term,
89 desktop,
90 details,
91 dialog,
92 directory,
93 disclosure_triangle,
94 div,
95 document,
96 drawer,
97 editable_text,
98 embedded_object,
99 figcaption,
100 figure,
101 footer,
102 form,
103 grid,
104 group,
105 grow_area,
106 heading,
107 help_tag,
108 horizontal_rule,
109 iframe,
110 ignored,
111 image_map_link,
112 image_map,
113 image,
114 incrementor,
115 inline_text_box,
116 label_text,
117 legend,
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_element,
129 math,
130 matte,
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 presentational,
147 progress_indicator,
148 radio_button,
149 radio_group,
150 region,
151 root_web_area,
152 row_header,
153 row,
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 window
194 // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of
195 // !AX_STATE_ENABLED, and AX_STATE_EDITABLE instead of !AX_STATE_READONLY.
196 enum AXState {
197 busy,
198 checked,
199 collapsed,
200 default,
201 disabled, // ui/views only
202 editable, // ui/views only
203 enabled, // content only
204 expanded,
205 focusable,
206 focused,
207 haspopup,
208 hovered,
209 indeterminate,
210 invisible,
211 linked,
212 multiselectable,
213 offscreen,
214 pressed,
215 protected,
216 read_only,
217 required,
218 selectable,
219 selected,
220 vertical,
221 visited
224 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
225 // Document attributes.
226 doc_url,
227 doc_title,
228 doc_mimetype,
229 doc_doctype,
231 // Attributes that could apply to any node.
232 access_key,
233 action,
234 container_live_relevant,
235 container_live_status,
236 description,
237 display,
238 help,
239 html_tag,
240 name,
241 live_relevant,
242 live_status,
243 role,
244 shortcut,
245 text_input_type,
246 url,
247 value
250 [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute {
251 // Scrollable container attributes.
252 scroll_x,
253 scroll_x_min,
254 scroll_x_max,
255 scroll_y,
256 scroll_y_min,
257 scroll_y_max,
259 // Editable text attributes.
260 text_sel_start,
261 text_sel_end,
263 // Table attributes.
264 table_row_count,
265 table_column_count,
266 table_header_id,
268 // Table row attributes.
269 table_row_index,
270 table_row_header_id,
272 // Table column attributes.
273 table_column_index,
274 table_column_header_id,
276 // Table cell attributes.
277 table_cell_column_index,
278 table_cell_column_span,
279 table_cell_row_index,
280 table_cell_row_span,
282 // Tree control attributes.
283 hierarchical_level,
285 // Relationships between this element and other elements.
286 title_ui_element,
287 activedescendant_id,
289 // Color value for AX_ROLE_COLOR_WELL, each component is 0..255
290 color_value_red,
291 color_value_green,
292 color_value_blue,
294 // Inline text attributes.
295 text_direction
298 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
299 // Document attributes.
300 doc_loading_progress,
302 // Range attributes.
303 value_for_range,
304 min_value_for_range,
305 max_value_for_range
308 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
309 // Document attributes.
310 doc_loaded,
312 // True if a checkbox or radio button is in the "mixed" state.
313 button_mixed,
315 // Live region attributes.
316 container_live_atomic,
317 container_live_busy,
318 live_atomic,
319 live_busy,
321 // ARIA readonly flag.
322 aria_readonly,
324 // Writeable attributes
325 can_set_value,
327 // If this is set, all of the other fields in this struct should
328 // be ignored and only the locations should change.
329 update_location_only,
331 // Set on a canvas element if it has fallback content.
332 canvas_has_fallback,
334 // Set if this node is the host of an external AXTree, for
335 // example a web view that's a child of a native view, or a
336 // web iframe that's the child of another web frame.
337 is_ax_tree_host
340 [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute {
341 // Ids of nodes that are children of this node logically, but are
342 // not children of this node in the tree structure. As an example,
343 // a table cell is a child of a row, and an 'indirect' child of a
344 // column.
345 indirect_child_ids,
347 // Relationships between this element and other elements.
348 controls_ids,
349 describedby_ids,
350 flowto_ids,
351 labelledby_ids,
352 owns_ids,
354 // Character indices where line breaks occur.
355 line_breaks,
357 // For a table, the cell ids in row-major order, with duplicate entries
358 // when there's a rowspan or colspan, and with -1 for missing cells.
359 // There are always exactly rows * columns entries.
360 cell_ids,
362 // For a table, the unique cell ids in row-major order of their first
363 // occurrence.
364 unique_cell_ids,
366 // For inline text. This is the pixel position of the end of this
367 // character within the bounding rectangle of this object, in the
368 // direction given by AX_ATTR_TEXT_DIRECTION. For example, for left-to-right
369 // text, the first offset is the right coordinate of the first character
370 // within the object's bounds, the second offset is the right coordinate
371 // of the second character, and so on.
372 character_offsets,
374 // For inline text. These int lists must be the same size; they represent
375 // the start and end character index of each word within this text.
376 word_starts,
377 word_ends
380 [cpp_enum_prefix_override="ax"] enum AXTextDirection {
381 text_direction_lr,
382 text_direction_rl,
383 text_direction_tb,
384 text_direction_bt