summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorklink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-28 21:34:20 +0000
committerklink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-28 21:34:20 +0000
commit92a22704ea2f408ffc7917c1e96ca1f097a6ecb7 (patch)
treed4d1e69dd1c0a2fecada7ae6dee924b9d30dace3 /chrome
parent3eb73b83046e13cd7ed56fa863684d36fd7098b4 (diff)
downloadchromium_src-92a22704ea2f408ffc7917c1e96ca1f097a6ecb7.zip
chromium_src-92a22704ea2f408ffc7917c1e96ca1f097a6ecb7.tar.gz
chromium_src-92a22704ea2f408ffc7917c1e96ca1f097a6ecb7.tar.bz2
Adds additional MSAA information to fill in a few gaps in the hierarchy.
TEST=None BUG=None Review URL: http://codereview.chromium.org/160239 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21896 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/views/frame/browser_view.cc21
-rw-r--r--chrome/browser/views/frame/browser_view.h8
-rw-r--r--chrome/browser/views/frame/opaque_browser_frame_view.cc8
3 files changed, 33 insertions, 4 deletions
diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc
index 6d59587..b2f9da8 100644
--- a/chrome/browser/views/frame/browser_view.cc
+++ b/chrome/browser/views/frame/browser_view.cc
@@ -1422,6 +1422,27 @@ void BrowserView::ChildPreferredSizeChanged(View* child) {
Layout();
}
+bool BrowserView::GetAccessibleRole(AccessibilityTypes::Role* role) {
+ DCHECK(role);
+
+ *role = AccessibilityTypes::ROLE_CLIENT;
+ return true;
+}
+
+bool BrowserView::GetAccessibleName(std::wstring* name) {
+ DCHECK(name);
+
+ if (!accessible_name_.empty()) {
+ *name = accessible_name_;
+ return true;
+ }
+ return false;
+}
+
+void BrowserView::SetAccessibleName(const std::wstring& name) {
+ accessible_name_ = name;
+}
+
///////////////////////////////////////////////////////////////////////////////
// BrowserView, private:
diff --git a/chrome/browser/views/frame/browser_view.h b/chrome/browser/views/frame/browser_view.h
index a202530..abccd5e 100644
--- a/chrome/browser/views/frame/browser_view.h
+++ b/chrome/browser/views/frame/browser_view.h
@@ -308,6 +308,11 @@ class BrowserView : public BrowserWindow,
virtual gfx::Size GetMinimumSize();
virtual std::string GetClassName() const;
+ // Overridden from views::View:
+ virtual bool GetAccessibleRole(AccessibilityTypes::Role* role);
+ virtual bool GetAccessibleName(std::wstring* name);
+ virtual void SetAccessibleName(const std::wstring& name);
+
protected:
// Overridden from views::View:
virtual void Layout();
@@ -493,6 +498,9 @@ class BrowserView : public BrowserWindow,
typedef std::set<BrowserBubble*> BubbleSet;
BubbleSet browser_bubbles_;
+ // The accessible name of this view.
+ std::wstring accessible_name_;
+
DISALLOW_COPY_AND_ASSIGN(BrowserView);
};
diff --git a/chrome/browser/views/frame/opaque_browser_frame_view.cc b/chrome/browser/views/frame/opaque_browser_frame_view.cc
index 5a2f061..479954e 100644
--- a/chrome/browser/views/frame/opaque_browser_frame_view.cc
+++ b/chrome/browser/views/frame/opaque_browser_frame_view.cc
@@ -391,19 +391,19 @@ void OpaqueBrowserFrameView::ViewHierarchyChanged(bool is_add,
// The Accessibility glue looks for the product name on these two views to
// determine if this is in fact a Chrome window.
GetRootView()->SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME));
- SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME));
}
}
bool OpaqueBrowserFrameView::GetAccessibleRole(AccessibilityTypes::Role* role) {
DCHECK(role);
- // We aren't actually the client area of the window, but we act like it as
- // far as accessibility and the UI tests are concerned.
- *role = AccessibilityTypes::ROLE_CLIENT;
+
+ *role = AccessibilityTypes::ROLE_TITLEBAR;
return true;
}
bool OpaqueBrowserFrameView::GetAccessibleName(std::wstring* name) {
+ DCHECK(name);
+
if (!accessible_name_.empty()) {
*name = accessible_name_;
return true;