Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: webkit/glue/webaccessibility.h

Issue 2121004: Windows accessibility improvements: 1. All WebKit roles are now passed to the... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/renderer/render_view.cc ('k') | webkit/glue/webaccessibility.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef WEBKIT_GLUE_WEBACCESSIBILITY_H_ 5 #ifndef WEBKIT_GLUE_WEBACCESSIBILITY_H_
6 #define WEBKIT_GLUE_WEBACCESSIBILITY_H_ 6 #define WEBKIT_GLUE_WEBACCESSIBILITY_H_
7 7
8 #include <map>
8 #include <vector> 9 #include <vector>
9 10
10 #include "base/string16.h" 11 #include "base/string16.h"
11 #include "third_party/WebKit/WebKit/chromium/public/WebAccessibilityObject.h" 12 #include "third_party/WebKit/WebKit/chromium/public/WebAccessibilityObject.h"
12 #include "third_party/WebKit/WebKit/chromium/public/WebAccessibilityRole.h" 13 #include "third_party/WebKit/WebKit/chromium/public/WebAccessibilityRole.h"
13 #include "third_party/WebKit/WebKit/chromium/public/WebRect.h" 14 #include "third_party/WebKit/WebKit/chromium/public/WebRect.h"
14 15
15 namespace WebKit { 16 namespace WebKit {
16 class WebAccessibilityCache; 17 class WebAccessibilityCache;
17 } 18 }
18 19
19 namespace webkit_glue { 20 namespace webkit_glue {
20 21
21 // A compact representation of the accessibility information for a 22 // A compact representation of the accessibility information for a
22 // single web object, in a form that can be serialized and sent from 23 // single web object, in a form that can be serialized and sent from
23 // the renderer process to the browser process. 24 // the renderer process to the browser process.
24 struct WebAccessibility { 25 struct WebAccessibility {
25 public: 26 public:
26 // An alphabetical enumeration of accessibility roles. 27 // An alphabetical enumeration of accessibility roles.
27 enum Role { 28 enum Role {
28 ROLE_NONE = 0, 29 ROLE_NONE = 0,
29 30
31 ROLE_UNKNOWN,
32
33 ROLE_ALERT,
34 ROLE_ALERT_DIALOG,
35 ROLE_ANNOTATION,
30 ROLE_APPLICATION, 36 ROLE_APPLICATION,
37 ROLE_ARTICLE,
38 ROLE_BROWSER,
39 ROLE_BUSY_INDICATOR,
40 ROLE_BUTTON,
31 ROLE_CELL, 41 ROLE_CELL,
32 ROLE_CHECKBUTTON, 42 ROLE_CHECKBOX,
33 ROLE_CLIENT, 43 ROLE_COLOR_WELL,
34 ROLE_COLUMN, 44 ROLE_COLUMN,
35 ROLE_COLUMNHEADER, 45 ROLE_COLUMN_HEADER,
46 ROLE_COMBO_BOX,
47 ROLE_DEFINITION_LIST_DEFINITION,
48 ROLE_DEFINITION_LIST_TERM,
49 ROLE_DIALOG,
50 ROLE_DIRECTORY,
51 ROLE_DISCLOSURE_TRIANGLE,
36 ROLE_DOCUMENT, 52 ROLE_DOCUMENT,
37 ROLE_GRAPHIC, 53 ROLE_DRAWER,
38 ROLE_GROUPING, 54 ROLE_EDITABLE_TEXT,
55 ROLE_GRID,
56 ROLE_GROUP,
57 ROLE_GROW_AREA,
58 ROLE_HEADING,
59 ROLE_HELP_TAG,
60 ROLE_IGNORED,
61 ROLE_IMAGE,
62 ROLE_IMAGE_MAP,
63 ROLE_IMAGE_MAP_LINK,
64 ROLE_INCREMENTOR,
65 ROLE_LANDMARK_APPLICATION,
66 ROLE_LANDMARK_BANNER,
67 ROLE_LANDMARK_COMPLEMENTARY,
68 ROLE_LANDMARK_CONTENTINFO,
69 ROLE_LANDMARK_MAIN,
70 ROLE_LANDMARK_NAVIGATION,
71 ROLE_LANDMARK_SEARCH,
39 ROLE_LINK, 72 ROLE_LINK,
40 ROLE_LIST, 73 ROLE_LIST,
41 ROLE_LISTBOX, 74 ROLE_LISTBOX,
42 ROLE_LISTITEM, 75 ROLE_LISTBOX_OPTION,
43 ROLE_MENUBAR, 76 ROLE_LIST_ITEM,
44 ROLE_MENUITEM, 77 ROLE_LIST_MARKER,
45 ROLE_MENUPOPUP, 78 ROLE_LOG,
79 ROLE_MARQUEE,
80 ROLE_MATH,
81 ROLE_MATTE,
82 ROLE_MENU,
83 ROLE_MENU_BAR,
84 ROLE_MENU_ITEM,
85 ROLE_MENU_BUTTON,
86 ROLE_MENU_LIST_OPTION,
87 ROLE_MENU_LIST_POPUP,
88 ROLE_NOTE,
46 ROLE_OUTLINE, 89 ROLE_OUTLINE,
47 ROLE_PAGETABLIST, 90 ROLE_POPUP_BUTTON,
48 ROLE_PROGRESSBAR, 91 ROLE_PROGRESS_INDICATOR,
49 ROLE_PUSHBUTTON, 92 ROLE_RADIO_BUTTON,
50 ROLE_RADIOBUTTON, 93 ROLE_RADIO_GROUP,
94 ROLE_REGION,
51 ROLE_ROW, 95 ROLE_ROW,
52 ROLE_ROWHEADER, 96 ROLE_ROW_HEADER,
53 ROLE_SEPARATOR, 97 ROLE_RULER,
98 ROLE_RULER_MARKER,
99 ROLE_SCROLLAREA,
100 ROLE_SCROLLBAR,
101 ROLE_SHEET,
54 ROLE_SLIDER, 102 ROLE_SLIDER,
55 ROLE_STATICTEXT, 103 ROLE_SLIDER_THUMB,
56 ROLE_STATUSBAR, 104 ROLE_SPLITTER,
105 ROLE_SPLIT_GROUP,
106 ROLE_STATIC_TEXT,
107 ROLE_STATUS,
108 ROLE_SYSTEM_WIDE,
109 ROLE_TAB,
57 ROLE_TABLE, 110 ROLE_TABLE,
58 ROLE_TEXT, 111 ROLE_TABLE_HEADER_CONTAINER,
112 ROLE_TAB_GROUP,
113 ROLE_TAB_LIST,
114 ROLE_TAB_PANEL,
115 ROLE_TEXTAREA,
116 ROLE_TEXT_FIELD,
117 ROLE_TIMER,
59 ROLE_TOOLBAR, 118 ROLE_TOOLBAR,
60 ROLE_TOOLTIP, 119 ROLE_TOOLTIP,
120 ROLE_TREE,
121 ROLE_TREE_GRID,
122 ROLE_TREE_ITEM,
123 ROLE_VALUE_INDICATOR,
124 ROLE_WEBCORE_LINK,
125 ROLE_WEB_AREA,
126 ROLE_WINDOW,
61 NUM_ROLES 127 NUM_ROLES
62 }; 128 };
63 129
64 // An alphabetical enumeration of accessibility states. 130 // An alphabetical enumeration of accessibility states.
65 // A state bitmask is formed by shifting 1 to the left by each state, 131 // A state bitmask is formed by shifting 1 to the left by each state,
66 // for example: 132 // for example:
67 // int mask = (1 << STATE_CHECKED) | (1 << STATE_FOCUSED); 133 // int mask = (1 << STATE_CHECKED) | (1 << STATE_FOCUSED);
68 enum State { 134 enum State {
69 STATE_CHECKED, 135 STATE_CHECKED,
70 STATE_FOCUSABLE, 136 STATE_FOCUSABLE,
71 STATE_FOCUSED, 137 STATE_FOCUSED,
72 STATE_HOTTRACKED, 138 STATE_HOTTRACKED,
73 STATE_INDETERMINATE, 139 STATE_INDETERMINATE,
74 STATE_LINKED, 140 STATE_LINKED,
75 STATE_MULTISELECTABLE, 141 STATE_MULTISELECTABLE,
76 STATE_OFFSCREEN, 142 STATE_OFFSCREEN,
77 STATE_PRESSED, 143 STATE_PRESSED,
78 STATE_PROTECTED, 144 STATE_PROTECTED,
79 STATE_READONLY, 145 STATE_READONLY,
80 STATE_TRAVERSED, 146 STATE_TRAVERSED,
81 STATE_UNAVAILABLE 147 STATE_UNAVAILABLE
82 }; 148 };
83 149
150 enum Attribute {
151 ATTR_ACTION,
152 ATTR_DESCRIPTION,
153 ATTR_HELP,
154 ATTR_HTML_TAG,
155 ATTR_LINK_TARGET,
156 ATTR_SHORTCUT,
157 NUM_ATTRIBUTES
158 };
159
84 // Empty constructor, for serialization. 160 // Empty constructor, for serialization.
85 WebAccessibility(); 161 WebAccessibility();
86 162
87 // Construct from a WebAccessibilityObject. Recursively creates child 163 // Construct from a WebAccessibilityObject. Recursively creates child
88 // nodes as needed to complete the tree. Adds |src| to |cache| and 164 // nodes as needed to complete the tree. Adds |src| to |cache| and
89 // stores its cache ID. 165 // stores its cache ID.
90 WebAccessibility(const WebKit::WebAccessibilityObject& src, 166 WebAccessibility(const WebKit::WebAccessibilityObject& src,
91 WebKit::WebAccessibilityCache* cache); 167 WebKit::WebAccessibilityCache* cache);
92 168
93 // Initialize an already-created struct, same as the constructor a 169 // Initialize an already-created struct, same as the constructor a
94 void Init(const WebKit::WebAccessibilityObject& src, 170 void Init(const WebKit::WebAccessibilityObject& src,
95 WebKit::WebAccessibilityCache* cache); 171 WebKit::WebAccessibilityCache* cache);
96 172
97 // This is a simple serializable struct. All member variables should be 173 // This is a simple serializable struct. All member variables should be
98 // copyable. 174 // copyable.
99 int32 id; 175 int32 id;
100 string16 name; 176 string16 name;
101 string16 value; 177 string16 value;
102 string16 action;
103 string16 description;
104 string16 help;
105 string16 shortcut;
106 Role role; 178 Role role;
107 uint32 state; 179 uint32 state;
108 WebKit::WebRect location; 180 WebKit::WebRect location;
181 std::map<int32, string16> attributes;
109 std::vector<WebAccessibility> children; 182 std::vector<WebAccessibility> children;
110 }; 183 };
111 184
112 } // namespace webkit_glue 185 } // namespace webkit_glue
113 186
114 #endif // WEBKIT_GLUE_WEBACCESSIBILITY_H_ 187 #endif // WEBKIT_GLUE_WEBACCESSIBILITY_H_
OLDNEW
« no previous file with comments | « chrome/renderer/render_view.cc ('k') | webkit/glue/webaccessibility.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698