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.
4
5[
6  {
7    "namespace": "accessibilityFeatures",
8    "description": "Use the <code>chrome.accessibilityFeatures</code> API to manage Chrome's accessibility features. This API relies on the <a href='types#ChromeSetting'>ChromeSetting prototype of the type API</a> for getting and setting individual accessibility features. In order to get feature states the extension must request <code>accessibilityFeatures.read</code> permission. For modifying feature state, the extension needs <code>accessibilityFeatures.modify</code> permission. Note that <code>accessibilityFeatures.modify</code> does not imply <code>accessibilityFeatures.read</code> permission.",
9    "properties": {
10      "spokenFeedback": {
11        "$ref": "types.ChromeSetting",
12        "description": "<p><strong>ChromeOS only.</strong></p><p>Spoken feedback (text-to-speech). The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
13        "value": ["spokenFeedback", {"type": "boolean"}],
14        "platforms": ["chromeos"]
15      },
16      "largeCursor": {
17        "$ref": "types.ChromeSetting",
18        "description": "<p><strong>ChromeOS only.</strong></p><p>Enlarged cursor. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
19        "value": ["largeCursor", {"type": "boolean"}],
20        "platforms": ["chromeos"]
21      },
22      "stickyKeys": {
23        "$ref": "types.ChromeSetting",
24        "description": "<p><strong>ChromeOS only.</strong></p><p>Sticky modifier keys (like shift or alt). The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
25        "value": ["stickyKeys", {"type": "boolean"}],
26        "platforms": ["chromeos"]
27      },
28      "highContrast": {
29        "$ref": "types.ChromeSetting",
30        "description": "<p><strong>ChromeOS only.</strong></p><p>High contrast rendering mode. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
31        "value": ["highContrast", {"type": "boolean"}],
32        "platforms": ["chromeos"]
33      },
34      "screenMagnifier": {
35        "$ref": "types.ChromeSetting",
36        "description": "<p><strong>ChromeOS only.</strong></p><p>Full screen magnification. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
37        "value": ["screenMagnifier", {"type": "boolean"}],
38        "platforms": ["chromeos"]
39      },
40      "autoclick": {
41        "$ref": "types.ChromeSetting",
42        "description":"<p><strong>ChromeOS only.</strong></p><p>Auto mouse click after mouse stops moving. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
43        "value": ["autoclick", {"type": "boolean"}],
44        "platforms": ["chromeos"]
45      },
46      "virtualKeyboard": {
47        "$ref": "types.ChromeSetting",
48        "description": "<p><strong>ChromeOS only.</strong></p><p>Virtual on-screen keyboard. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
49        "value": ["virtualKeyboard", {"type": "boolean"}],
50        "platforms": ["chromeos"]
51      },
52      "caretHighlight": {
53        "$ref": "types.ChromeSetting",
54        "description": "<p><strong>ChromeOS only.</strong></p><p>Caret highlighting. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
55        "value": ["caretHighlight", {"type": "boolean"}],
56        "platforms": ["chromeos"]
57      },
58      "cursorHighlight": {
59        "$ref": "types.ChromeSetting",
60        "description": "<p><strong>ChromeOS only.</strong></p><p>Cursor highlighting. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
61        "value": ["cursorHighlight", {"type": "boolean"}],
62        "platforms": ["chromeos"]
63      },
64      "cursorColor": {
65        "$ref": "types.ChromeSetting",
66        "description": "<p><strong>ChromeOS only.</strong></p><p>Cursor color. The value indicates whether the feature is enabled or not, doesn't indicate the color of it. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
67        "value": ["cursorColor", {"type": "boolean"}],
68        "platforms": ["chromeos"]
69      },
70      "dockedMagnifier": {
71        "$ref": "types.ChromeSetting",
72        "description": "<p><strong>ChromeOS only.</strong></p><p>Docked magnifier. The value indicates whether docked magnifier feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
73        "value": ["dockedMagnifier", {"type": "boolean"}],
74        "platforms": ["chromeos"]
75      },
76      "focusHighlight": {
77        "$ref": "types.ChromeSetting",
78        "description": "<p><strong>ChromeOS only.</strong></p><p>Focus highlighting. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
79        "value": ["focusHighlight", {"type": "boolean"}],
80        "platforms": ["chromeos"]
81      },
82      "selectToSpeak": {
83        "$ref": "types.ChromeSetting",
84        "description": "<p><strong>ChromeOS only.</strong></p><p>Select-to-speak. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
85        "value": ["selectToSpeak", {"type": "boolean"}],
86        "platforms": ["chromeos"]
87      },
88      "switchAccess": {
89        "$ref": "types.ChromeSetting",
90        "description": "<p><strong>ChromeOS only.</strong></p><p>Switch Access. The value indicates whether the feature is enabled or not. <code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.</p>",
91        "value": ["switchAccess", {"type": "boolean"}],
92        "platforms": ["chromeos"]
93      },
94      "animationPolicy": {
95        "$ref": "types.ChromeSetting",
96        "description": "<code>get()</code> requires <code>accessibilityFeatures.read</code> permission. <code>set()</code> and <code>clear()</code> require <code>accessibilityFeatures.modify</code> permission.",
97        "value": [
98          "animationPolicy", {
99            "type": "string",
100            "enum": [{
101              "description": "Images are allowed to animate.",
102              "name": "allowed"
103            }, {
104              "description": "Images are animated once.",
105              "name": "once"
106            }, {
107              "description": "Images are not animated.",
108              "name": "none"
109            }]
110          }
111        ]
112      }
113    }
114  }
115]
116