Bug 1668452 require an exact match of Window, rate, and device when selecting a Media...
[gecko.git] / accessible / base / ARIAStateMap.h
blob20490aa901d6a7146ea4bf251561226542adab73
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;
18 namespace a11y {
19 namespace aria {
21 /**
22 * List of the ARIA state mapping rules.
24 enum EStateRule {
25 eARIANone,
26 eARIAAutoComplete,
27 eARIABusy,
28 eARIACheckableBool,
29 eARIACheckableMixed,
30 eARIACheckedMixed,
31 eARIACurrent,
32 eARIADisabled,
33 eARIAExpanded,
34 eARIAHasPopup,
35 eARIAInvalid,
36 eARIAModal,
37 eARIAMultiline,
38 eARIAMultiSelectable,
39 eARIAOrientation,
40 eARIAPressed,
41 eARIAReadonly,
42 eARIAReadonlyOrEditable,
43 eARIARequired,
44 eARIASelectable,
45 eARIASelectableIfDefined,
46 eReadonlyUntilEditable,
47 eIndeterminateIfNoValue,
48 eFocusableUntilDisabled
51 /**
52 * Expose the accessible states for the given element accordingly to state
53 * mapping rule.
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
60 bool MapToState(EStateRule aRule, dom::Element* aElement, uint64_t* aState);
62 } // namespace aria
63 } // namespace a11y
64 } // namespace mozilla
66 #endif