Support presentational iframes and make use of them in the uber frame.
[chromium-blink-merge.git] / ui / accessibility / ax_enums.idl
blob08941075413ec7ff7b2d35e9ffd0b8236de132aa
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 cell,
78 check_box,
79 client,
80 color_well,
81 column_header,
82 column,
83 combo_box,
84 complementary,
85 content_info,
86 date,
87 date_time,
88 definition,
89 description_list_detail,
90 description_list,
91 description_list_term,
92 desktop,
93 details,
94 dialog,
95 directory,
96 disclosure_triangle,
97 div,
98 document,
99 embedded_object,
100 figcaption,
101 figure,
102 footer,
103 form,
104 grid,
105 group,
106 heading,
107 iframe,
108 iframe_presentational,
109 ignored,
110 image_map_link,
111 image_map,
112 image,
113 inline_text_box,
114 label_text,
115 legend,
116 link,
117 list_box_option,
118 list_box,
119 list_item,
120 list_marker,
121 list,
122 location_bar,
123 log,
124 main,
125 marquee,
126 math,
127 menu_bar,
128 menu_button,
129 menu_item,
130 menu_item_check_box,
131 menu_item_radio,
132 menu_list_option,
133 menu_list_popup,
134 menu,
135 meter,
136 navigation,
137 note,
138 outline,
139 pane,
140 paragraph,
141 pop_up_button,
142 pre,
143 presentational,
144 progress_indicator,
145 radio_button,
146 radio_group,
147 region,
148 root_web_area,
149 row_header,
150 row,
151 ruby,
152 ruler,
153 svg_root,
154 scroll_area,
155 scroll_bar,
156 seamless_web_area,
157 search,
158 slider,
159 slider_thumb,
160 spin_button_part,
161 spin_button,
162 splitter,
163 static_text,
164 status,
165 tab_group,
166 tab_list,
167 tab_panel,
168 tab,
169 table_header_container,
170 table,
171 text_area,
172 text_field,
173 time,
174 timer,
175 title_bar,
176 toggle_button,
177 toolbar,
178 tree_grid,
179 tree_item,
180 tree,
181 unknown,
182 tooltip,
183 web_area,
184 web_view,
185 window
188 // TODO(dmazzoni): switch content/ to use AX_STATE_DISABLED instead of
189 // !AX_STATE_ENABLED, and AX_STATE_EDITABLE instead of !AX_STATE_READONLY.
190 enum AXState {
191 busy,
192 checked,
193 collapsed,
194 default,
195 disabled, // ui/views only
196 editable, // ui/views only
197 enabled, // content only
198 expanded,
199 focusable,
200 focused,
201 haspopup,
202 horizontal,
203 hovered,
204 indeterminate,
205 invisible,
206 linked,
207 multiselectable,
208 offscreen,
209 pressed,
210 protected,
211 read_only,
212 required,
213 selectable,
214 selected,
215 vertical,
216 visited
219 [cpp_enum_prefix_override="ax_attr"] enum AXStringAttribute {
220 // Document attributes.
221 doc_url,
222 doc_title,
223 doc_mimetype,
224 doc_doctype,
226 // Attributes that could apply to any node.
227 access_key,
228 action,
229 auto_complete,
230 container_live_relevant,
231 container_live_status,
232 description,
233 display,
234 help,
235 html_tag,
236 name,
237 live_relevant,
238 live_status,
239 role,
240 shortcut,
241 text_input_type,
242 url,
243 value
246 [cpp_enum_prefix_override="ax_attr"] enum AXIntAttribute {
247 // Scrollable container attributes.
248 scroll_x,
249 scroll_x_min,
250 scroll_x_max,
251 scroll_y,
252 scroll_y_min,
253 scroll_y_max,
255 // Editable text attributes.
256 text_sel_start,
257 text_sel_end,
259 // Table attributes.
260 table_row_count,
261 table_column_count,
262 table_header_id,
264 // Table row attributes.
265 table_row_index,
266 table_row_header_id,
268 // Table column attributes.
269 table_column_index,
270 table_column_header_id,
272 // Table cell attributes.
273 table_cell_column_index,
274 table_cell_column_span,
275 table_cell_row_index,
276 table_cell_row_span,
278 // Tree control attributes.
279 hierarchical_level,
281 // Relationships between this element and other elements.
282 title_ui_element,
283 activedescendant_id,
285 // Color value for AX_ROLE_COLOR_WELL, each component is 0..255
286 color_value_red,
287 color_value_green,
288 color_value_blue,
290 // Inline text attributes.
291 text_direction,
293 // Uniquely identifies an AXTree.
294 tree_id,
296 // Identifies a child tree which this node hosts.
297 child_tree_id
300 [cpp_enum_prefix_override="ax_attr"] enum AXFloatAttribute {
301 // Document attributes.
302 doc_loading_progress,
304 // Range attributes.
305 value_for_range,
306 min_value_for_range,
307 max_value_for_range
310 [cpp_enum_prefix_override="ax_attr"] enum AXBoolAttribute {
311 // Document attributes.
312 doc_loaded,
314 // True if a checkbox or radio button is in the "mixed" state.
315 button_mixed,
317 // Live region attributes.
318 container_live_atomic,
319 container_live_busy,
320 live_atomic,
321 live_busy,
323 // ARIA readonly flag.
324 aria_readonly,
326 // Writeable attributes
327 can_set_value,
329 // If this is set, all of the other fields in this struct should
330 // be ignored and only the locations should change.
331 update_location_only,
333 // Set on a canvas element if it has fallback content.
334 canvas_has_fallback,
336 // Set if this node is the host of an external AXTree, for
337 // example a web view that's a child of a native view, or a
338 // web iframe that's the child of another web frame.
339 is_ax_tree_host
342 [cpp_enum_prefix_override="ax_attr"] enum AXIntListAttribute {
343 // Ids of nodes that are children of this node logically, but are
344 // not children of this node in the tree structure. As an example,
345 // a table cell is a child of a row, and an 'indirect' child of a
346 // column.
347 indirect_child_ids,
349 // Relationships between this element and other elements.
350 controls_ids,
351 describedby_ids,
352 flowto_ids,
353 labelledby_ids,
354 owns_ids,
356 // Character indices where line breaks occur.
357 line_breaks,
359 // For a table, the cell ids in row-major order, with duplicate entries
360 // when there's a rowspan or colspan, and with -1 for missing cells.
361 // There are always exactly rows * columns entries.
362 cell_ids,
364 // For a table, the unique cell ids in row-major order of their first
365 // occurrence.
366 unique_cell_ids,
368 // For inline text. This is the pixel position of the end of this
369 // character within the bounding rectangle of this object, in the
370 // direction given by AX_ATTR_TEXT_DIRECTION. For example, for left-to-right
371 // text, the first offset is the right coordinate of the first character
372 // within the object's bounds, the second offset is the right coordinate
373 // of the second character, and so on.
374 character_offsets,
376 // For inline text. These int lists must be the same size; they represent
377 // the start and end character index of each word within this text.
378 word_starts,
379 word_ends
382 [cpp_enum_prefix_override="ax"] enum AXTextDirection {
383 text_direction_lr,
384 text_direction_rl,
385 text_direction_tb,
386 text_direction_bt