diff options
author | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-03 01:17:29 +0000 |
---|---|---|
committer | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-03 01:17:29 +0000 |
commit | 74e40f6147d0ac81b8e769a78031d5d2d2bab933 (patch) | |
tree | aab4cec226d9489a69c2c380872ccdb833b2fdd8 /chrome/browser/accessibility | |
parent | c50008518aa19574ce694d280d3a7947dd150d91 (diff) | |
download | chromium_src-74e40f6147d0ac81b8e769a78031d5d2d2bab933.zip chromium_src-74e40f6147d0ac81b8e769a78031d5d2d2bab933.tar.gz chromium_src-74e40f6147d0ac81b8e769a78031d5d2d2bab933.tar.bz2 |
Use the proper role for secure text fields to distinguish from ordinary text fields.
BUG=57478
TEST=manually with VoiceOver.
Review URL: http://codereview.chromium.org/6368060
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/accessibility')
-rw-r--r-- | chrome/browser/accessibility/browser_accessibility_cocoa.mm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/chrome/browser/accessibility/browser_accessibility_cocoa.mm b/chrome/browser/accessibility/browser_accessibility_cocoa.mm index d3d77f7..3d451cf 100644 --- a/chrome/browser/accessibility/browser_accessibility_cocoa.mm +++ b/chrome/browser/accessibility/browser_accessibility_cocoa.mm @@ -133,9 +133,16 @@ bool GetState(BrowserAccessibility* accessibility, int state) { // Returns a string indicating the role of this object. - (NSString*)role { - NSString* role = NSAccessibilityUnknownRole; WebAccessibility::Role value = static_cast<WebAccessibility::Role>( browserAccessibility_->role()); + + // Roles that we only determine at runtime. + if (value == WebAccessibility::ROLE_TEXT_FIELD && + GetState(browserAccessibility_, WebAccessibility::STATE_PROTECTED)) { + return @"AXSecureTextField"; + } + + NSString* role = NSAccessibilityUnknownRole; const size_t numRoles = sizeof(roles) / sizeof(roles[0]); for (size_t i = 0; i < numRoles; ++i) { if (roles[i].value == value) { @@ -143,6 +150,7 @@ bool GetState(BrowserAccessibility* accessibility, int state) { break; } } + return role; } |