summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authorklink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-22 00:20:30 +0000
committerklink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-22 00:20:30 +0000
commit0b02866defff24397abdb969e189165ce0ec78b3 (patch)
tree72807f8830393bbd24e6444f740197d0a8d3445e /views
parentb7091b93d3dffa52c990b79366e339c6be8558a7 (diff)
downloadchromium_src-0b02866defff24397abdb969e189165ce0ec78b3.zip
chromium_src-0b02866defff24397abdb969e189165ce0ec78b3.tar.gz
chromium_src-0b02866defff24397abdb969e189165ce0ec78b3.tar.bz2
Adds support and exposure of additional accessibility roles. Includes naming of the LocationBar, and correctly exposing MSAA/ARIA roles for Documents, Graphics, Menubars and Toolbars.
BUG=13291,19982 TEST=Assign @role menubar or toolbar to any dom element, and use Inspect32 (or similar tool) to see it exposed correctly. In the same way, <html> tag is exposed as role document. Review URL: http://codereview.chromium.org/174252 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24049 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r--views/accessibility/accessibility_types.h1
-rw-r--r--views/accessibility/view_accessibility.cc2
-rw-r--r--views/controls/image_view.cc18
-rw-r--r--views/controls/image_view.h2
4 files changed, 22 insertions, 1 deletions
diff --git a/views/accessibility/accessibility_types.h b/views/accessibility/accessibility_types.h
index 18365b2..fc890bb 100644
--- a/views/accessibility/accessibility_types.h
+++ b/views/accessibility/accessibility_types.h
@@ -24,6 +24,7 @@ class AccessibilityTypes {
ROLE_BUTTONDROPDOWN,
ROLE_BUTTONMENU,
ROLE_CLIENT,
+ ROLE_GRAPHIC,
ROLE_GROUPING,
ROLE_PAGETAB,
ROLE_PAGETABLIST,
diff --git a/views/accessibility/view_accessibility.cc b/views/accessibility/view_accessibility.cc
index 72bd9f5..e375e10 100644
--- a/views/accessibility/view_accessibility.cc
+++ b/views/accessibility/view_accessibility.cc
@@ -620,6 +620,8 @@ long ViewAccessibility::MSAARole(AccessibilityTypes::Role role) {
return ROLE_SYSTEM_BUTTONDROPDOWN;
case AccessibilityTypes::ROLE_BUTTONMENU:
return ROLE_SYSTEM_BUTTONMENU;
+ case AccessibilityTypes::ROLE_GRAPHIC:
+ return ROLE_SYSTEM_GRAPHIC;
case AccessibilityTypes::ROLE_GROUPING:
return ROLE_SYSTEM_GROUPING;
case AccessibilityTypes::ROLE_PAGETAB:
diff --git a/views/controls/image_view.cc b/views/controls/image_view.cc
index e2cf501..eb918bd 100644
--- a/views/controls/image_view.cc
+++ b/views/controls/image_view.cc
@@ -136,6 +136,22 @@ void ImageView::Paint(gfx::Canvas* canvas) {
}
}
+bool ImageView::GetAccessibleName(std::wstring* name) {
+ if (!name || tooltip_text_.empty())
+ return false;
+
+ *name = tooltip_text_;
+ return true;
+}
+
+bool ImageView::GetAccessibleRole(AccessibilityTypes::Role* role) {
+ if (!role)
+ return false;
+
+ *role = AccessibilityTypes::ROLE_GRAPHIC;
+ return true;
+}
+
void ImageView::SetHorizontalAlignment(Alignment ha) {
if (ha != horiz_alignment_) {
horiz_alignment_ = ha;
@@ -170,7 +186,7 @@ bool ImageView::GetTooltipText(int x, int y, std::wstring* tooltip) {
if (tooltip_text_.empty()) {
return false;
} else {
- * tooltip = GetTooltipText();
+ *tooltip = GetTooltipText();
return true;
}
}
diff --git a/views/controls/image_view.h b/views/controls/image_view.h
index 0ad8947..17a672e 100644
--- a/views/controls/image_view.h
+++ b/views/controls/image_view.h
@@ -74,6 +74,8 @@ class ImageView : public View {
// Overriden from View
virtual gfx::Size GetPreferredSize();
virtual void Paint(gfx::Canvas* canvas);
+ virtual bool GetAccessibleName(std::wstring* name);
+ virtual bool GetAccessibleRole(AccessibilityTypes::Role* role);
// Overriden from View.
virtual bool GetTooltipText(int x, int y, std::wstring* tooltip);