1/*
2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 *
8 *     * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *     * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
13 * distribution.
14 *     * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#ifndef WebAXEnums_h
32#define WebAXEnums_h
33
34namespace blink {
35
36// Accessibility events sent from Blink to the embedder.
37// These values must match blink::AXObjectCache::AXNotification values.
38// Enforced in AssertMatchingEnums.cpp.
39enum WebAXEvent {
40    WebAXEventActiveDescendantChanged,
41    WebAXEventAlert,
42    WebAXEventAriaAttributeChanged,
43    WebAXEventAutocorrectionOccured,
44    WebAXEventBlur,
45    WebAXEventCheckedStateChanged,
46    WebAXEventChildrenChanged,
47    WebAXEventFocus,
48    WebAXEventHide,
49    WebAXEventInvalidStatusChanged,
50    WebAXEventLayoutComplete,
51    WebAXEventLiveRegionChanged,
52    WebAXEventLoadComplete,
53    WebAXEventLocationChanged,
54    WebAXEventMenuListItemSelected,
55    WebAXEventMenuListValueChanged,
56    WebAXEventRowCollapsed,
57    WebAXEventRowCountChanged,
58    WebAXEventRowExpanded,
59    WebAXEventScrollPositionChanged,
60    WebAXEventScrolledToAnchor,
61    WebAXEventSelectedChildrenChanged,
62    WebAXEventSelectedTextChanged,
63    WebAXEventShow,
64    WebAXEventTextChanged,
65    WebAXEventTextInserted,
66    WebAXEventTextRemoved,
67    WebAXEventValueChanged
68};
69
70// Accessibility roles.
71// These values must match blink::AccessibilityRole values.
72// Enforced in AssertMatchingEnums.cpp.
73enum WebAXRole {
74    WebAXRoleAlertDialog = 1,
75    WebAXRoleAlert,
76    WebAXRoleAnnotation,
77    WebAXRoleApplication,
78    WebAXRoleArticle,
79    WebAXRoleBanner,
80    WebAXRoleBrowser,
81    WebAXRoleBusyIndicator,
82    WebAXRoleButton,
83    WebAXRoleCanvas,
84    WebAXRoleCell,
85    WebAXRoleCheckBox,
86    WebAXRoleColorWell,
87    WebAXRoleColumnHeader,
88    WebAXRoleColumn,
89    WebAXRoleComboBox,
90    WebAXRoleComplementary,
91    WebAXRoleContentInfo,
92    WebAXRoleDefinition,
93    WebAXRoleDescriptionListDetail,
94    WebAXRoleDescriptionListTerm,
95    WebAXRoleDetails,
96    WebAXRoleDialog,
97    WebAXRoleDirectory,
98    WebAXRoleDisclosureTriangle,
99    WebAXRoleDiv,
100    WebAXRoleDocument,
101    WebAXRoleDrawer,
102    WebAXRoleEditableText,
103    WebAXRoleEmbeddedObject,
104    WebAXRoleFigcaption,
105    WebAXRoleFigure,
106    WebAXRoleFooter,
107    WebAXRoleForm,
108    WebAXRoleGrid,
109    WebAXRoleGroup,
110    WebAXRoleGrowArea,
111    WebAXRoleHeading,
112    WebAXRoleHelpTag,
113    WebAXRoleHorizontalRule,
114    WebAXRoleIframe,
115    WebAXRoleIgnored,
116    WebAXRoleImageMapLink,
117    WebAXRoleImageMap,
118    WebAXRoleImage,
119    WebAXRoleIncrementor,
120    WebAXRoleInlineTextBox,
121    WebAXRoleLabel,
122    WebAXRoleLegend,
123    WebAXRoleLink,
124    WebAXRoleListBoxOption,
125    WebAXRoleListBox,
126    WebAXRoleListItem,
127    WebAXRoleListMarker,
128    WebAXRoleList,
129    WebAXRoleLog,
130    WebAXRoleMain,
131    WebAXRoleMarquee,
132    WebAXRoleMathElement,
133    WebAXRoleMath,
134    WebAXRoleMatte,
135    WebAXRoleMenuBar,
136    WebAXRoleMenuButton,
137    WebAXRoleMenuItem,
138    WebAXRoleMenuListOption,
139    WebAXRoleMenuListPopup,
140    WebAXRoleMenu,
141    WebAXRoleNavigation,
142    WebAXRoleNone,
143    WebAXRoleNote,
144    WebAXRoleOutline,
145    WebAXRoleParagraph,
146    WebAXRolePopUpButton,
147    WebAXRolePresentational,
148    WebAXRoleProgressIndicator,
149    WebAXRoleRadioButton,
150    WebAXRoleRadioGroup,
151    WebAXRoleRegion,
152    WebAXRoleRootWebArea,
153    WebAXRoleRowHeader,
154    WebAXRoleRow,
155    WebAXRoleRulerMarker,
156    WebAXRoleRuler,
157    WebAXRoleSVGRoot,
158    WebAXRoleScrollArea,
159    WebAXRoleScrollBar,
160    WebAXRoleSeamlessWebArea,
161    WebAXRoleSearch,
162    WebAXRoleSheet,
163    WebAXRoleSlider,
164    WebAXRoleSliderThumb,
165    WebAXRoleSpinButtonPart,
166    WebAXRoleSpinButton,
167    WebAXRoleSplitGroup,
168    WebAXRoleSplitter,
169    WebAXRoleStaticText,
170    WebAXRoleStatus,
171    WebAXRoleSystemWide,
172    WebAXRoleTabGroup,
173    WebAXRoleTabList,
174    WebAXRoleTabPanel,
175    WebAXRoleTab,
176    WebAXRoleTableHeaderContainer,
177    WebAXRoleTable,
178    WebAXRoleTextArea,
179    WebAXRoleTextField,
180    WebAXRoleTimer,
181    WebAXRoleToggleButton,
182    WebAXRoleToolbar,
183    WebAXRoleTreeGrid,
184    WebAXRoleTreeItem,
185    WebAXRoleTree,
186    WebAXRoleUnknown,
187    WebAXRoleUserInterfaceTooltip,
188    WebAXRoleValueIndicator,
189    WebAXRoleWebArea,
190    WebAXRoleWindow,
191};
192
193// Accessibility states, used as a bitmask.
194enum WebAXState {
195    WebAXStateBusy,
196    WebAXStateChecked,
197    WebAXStateCollapsed,
198    WebAXStateEnabled,
199    WebAXStateExpanded,
200    WebAXStateFocusable,
201    WebAXStateFocused,
202    WebAXStateHaspopup,
203    WebAXStateHovered,
204    WebAXStateIndeterminate,
205    WebAXStateInvisible,
206    WebAXStateLinked,
207    WebAXStateMultiselectable,
208    WebAXStateOffscreen,
209    WebAXStatePressed,
210    WebAXStateProtected,
211    WebAXStateReadonly,
212    WebAXStateRequired,
213    WebAXStateSelectable,
214    WebAXStateSelected,
215    WebAXStateVertical,
216    WebAXStateVisited,
217};
218
219// Text direction, only used for role=WebAXRoleInlineTextBox.
220enum WebAXTextDirection {
221    WebAXTextDirectionLR,
222    WebAXTextDirectionRL,
223    WebAXTextDirectionTB,
224    WebAXTextDirectionBT
225};
226
227} // namespace blink
228
229#endif
230