1 // Copyright (c) 2019 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.
4 
5 // Define all the base::Features used by ui/accessibility.
6 #ifndef UI_ACCESSIBILITY_ACCESSIBILITY_FEATURES_H_
7 #define UI_ACCESSIBILITY_ACCESSIBILITY_FEATURES_H_
8 
9 #include "base/feature_list.h"
10 #include "build/build_config.h"
11 #include "ui/accessibility/ax_export.h"
12 
13 namespace features {
14 
15 AX_EXPORT extern const base::Feature kEnableAccessibilityExposeARIAAnnotations;
16 
17 // Returns true if ARIA annotations should be exposed to the browser AX Tree.
18 AX_EXPORT bool IsAccessibilityExposeARIAAnnotationsEnabled();
19 
20 AX_EXPORT extern const base::Feature kEnableAccessibilityExposeDisplayNone;
21 
22 // Returns true if "display: none" nodes should be exposed to the
23 // browser process AXTree.
24 AX_EXPORT bool IsAccessibilityExposeDisplayNoneEnabled();
25 
26 AX_EXPORT extern const base::Feature kEnableAccessibilityExposeHTMLElement;
27 
28 // Returns true if the <html> element should be exposed to the
29 // browser process AXTree (as an ignored node).
30 AX_EXPORT bool IsAccessibilityExposeHTMLElementEnabled();
31 
32 // Serializes accessibility information from the Views tree and deserializes it
33 // into an AXTree in the browser process.
34 AX_EXPORT extern const base::Feature kEnableAccessibilityTreeForViews;
35 
36 // Returns true if the Views tree is exposed using an AXTree in the browser
37 // process. Returns false if the Views tree is exposed to accessibility
38 // directly.
39 AX_EXPORT bool IsAccessibilityTreeForViewsEnabled();
40 
41 }  // namespace features
42 
43 #endif  // UI_ACCESSIBILITY_ACCESSIBILITY_FEATURES_H_
44