Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef _mozilla_a11y_aria_ARIAStateMap_h_
8 #define _mozilla_a11y_aria_ARIAStateMap_h_
10 #include <stdint.h>
12 namespace mozilla {
14 namespace dom {
15 class Element;
16 }
18 namespace a11y {
19 namespace aria {
21 /**
22 * List of the ARIA state mapping rules.
23 */
24 enum EStateRule
25 {
26 eARIANone,
27 eARIAAutoComplete,
28 eARIABusy,
29 eARIACheckableBool,
30 eARIACheckableMixed,
31 eARIACheckedMixed,
32 eARIADisabled,
33 eARIAExpanded,
34 eARIAHasPopup,
35 eARIAInvalid,
36 eARIAMultiline,
37 eARIAMultiSelectable,
38 eARIAOrientation,
39 eARIAPressed,
40 eARIAReadonly,
41 eARIAReadonlyOrEditable,
42 eARIAReadonlyOrEditableIfDefined,
43 eARIARequired,
44 eARIASelectable,
45 eARIASelectableIfDefined,
46 eReadonlyUntilEditable,
47 eIndeterminateIfNoValue,
48 eFocusableUntilDisabled
49 };
51 /**
52 * Expose the accessible states for the given element accordingly to state
53 * mapping rule.
54 *
55 * @param aRule [in] state mapping rule ID
56 * @param aElement [in] node of the accessible
57 * @param aState [in/out] accessible states
58 * @return true if state map rule ID is valid
59 */
60 bool MapToState(EStateRule aRule, dom::Element* aElement, uint64_t* aState);
62 } // namespace aria
63 } // namespace a11y
64 } // namespace mozilla
66 #endif