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