diff options
author | klink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-22 00:20:30 +0000 |
---|---|---|
committer | klink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-22 00:20:30 +0000 |
commit | 0b02866defff24397abdb969e189165ce0ec78b3 (patch) | |
tree | 72807f8830393bbd24e6444f740197d0a8d3445e /views | |
parent | b7091b93d3dffa52c990b79366e339c6be8558a7 (diff) | |
download | chromium_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.h | 1 | ||||
-rw-r--r-- | views/accessibility/view_accessibility.cc | 2 | ||||
-rw-r--r-- | views/controls/image_view.cc | 18 | ||||
-rw-r--r-- | views/controls/image_view.h | 2 |
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); |