| Index: chrome/browser/accessibility/browser_accessibility_cocoa.mm
|
| diff --git a/chrome/browser/accessibility/browser_accessibility_cocoa.mm b/chrome/browser/accessibility/browser_accessibility_cocoa.mm
|
| index d7378028820036741db6b391cc99b0462ec6bd29..0ac916eadc2a21f25a829273041e1a514e88f65d 100644
|
| --- a/chrome/browser/accessibility/browser_accessibility_cocoa.mm
|
| +++ b/chrome/browser/accessibility/browser_accessibility_cocoa.mm
|
| @@ -162,7 +162,7 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
| // Returns whether or not this node should be ignored in the
|
| // accessibility tree.
|
| - (BOOL)isIgnored {
|
| - return [self role] == NSAccessibilityUnknownRole;
|
| + return [[self role] isEqualToString:NSAccessibilityUnknownRole];
|
| }
|
|
|
| // The origin of this accessibility object in the page's document.
|
| @@ -198,18 +198,19 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
|
|
| // Returns a string indicating the role description of this object.
|
| - (NSString*)roleDescription {
|
| + NSString* role = [self role];
|
| // The following descriptions are specific to webkit.
|
| - if ([[self role] isEqualToString:@"AXWebArea"])
|
| + if ([role isEqualToString:@"AXWebArea"])
|
| return l10n_util::GetNSString(IDS_AX_ROLE_WEB_AREA);
|
|
|
| - if ([[self role] isEqualToString:@"NSAccessibilityLinkRole"])
|
| + if ([role isEqualToString:@"NSAccessibilityLinkRole"])
|
| return l10n_util::GetNSString(IDS_AX_ROLE_LINK);
|
|
|
| - if ([[self role] isEqualToString:@"AXHeading"])
|
| + if ([role isEqualToString:@"AXHeading"])
|
| return l10n_util::GetNSString(IDS_AX_ROLE_HEADING);
|
|
|
| - if ([[self role] isEqualToString:NSAccessibilityGroupRole] ||
|
| - [[self role] isEqualToString:NSAccessibilityRadioButtonRole]) {
|
| + if ([role isEqualToString:NSAccessibilityGroupRole] ||
|
| + [role isEqualToString:NSAccessibilityRadioButtonRole]) {
|
| const std::vector<std::pair<string16, string16> >& htmlAttributes =
|
| browserAccessibility_->html_attributes();
|
| WebAccessibility::Role browserAccessibilityRole =
|
| @@ -228,7 +229,7 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
| }
|
| }
|
|
|
| - return NSAccessibilityRoleDescription([self role], nil);
|
| + return NSAccessibilityRoleDescription(role, nil);
|
| }
|
|
|
| // Returns the size of this object.
|
| @@ -302,7 +303,8 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
| // WebCore uses an attachmentView to get the below behavior.
|
| // We do not have any native views backing this object, so need
|
| // to approximate Cocoa ax behavior best as we can.
|
| - if ([self role] == @"AXHeading") {
|
| + NSString* role = [self role];
|
| + if ([role isEqualToString:@"AXHeading"]) {
|
| NSString* headingLevel =
|
| NSStringForWebAccessibilityAttribute(
|
| browserAccessibility_->attributes(),
|
| @@ -311,11 +313,11 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
| return [NSNumber numberWithInt:
|
| [[headingLevel substringFromIndex:1] intValue]];
|
| }
|
| - } else if ([self role] == NSAccessibilityButtonRole) {
|
| + } else if ([role isEqualToString:NSAccessibilityButtonRole]) {
|
| // AXValue does not make sense for pure buttons.
|
| return @"";
|
| - } else if ([self role] == NSAccessibilityCheckBoxRole ||
|
| - [self role] == NSAccessibilityRadioButtonRole) {
|
| + } else if ([role isEqualToString:NSAccessibilityCheckBoxRole] ||
|
| + [role isEqualToString:NSAccessibilityRadioButtonRole]) {
|
| return [NSNumber numberWithInt:GetState(
|
| browserAccessibility_, WebAccessibility::STATE_CHECKED) ? 1 : 0];
|
| } else {
|
| @@ -436,7 +438,7 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
| // Returns an array of parameterized attributes names that this object will
|
| // respond to.
|
| - (NSArray*)accessibilityParameterizedAttributeNames {
|
| - if ([self role] == NSAccessibilityTextFieldRole) {
|
| + if ([[self role] isEqualToString:NSAccessibilityTextFieldRole]) {
|
| return [NSArray arrayWithObjects:
|
| NSAccessibilityLineForIndexParameterizedAttribute,
|
| NSAccessibilityRangeForLineParameterizedAttribute,
|
| @@ -454,15 +456,13 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
|
|
| // Returns an array of action names that this object will respond to.
|
| - (NSArray*)accessibilityActionNames {
|
| - NSMutableArray* ret = [[[NSMutableArray alloc] init] autorelease];
|
| -
|
| - // General actions.
|
| - [ret addObject:NSAccessibilityShowMenuAction];
|
| -
|
| + NSMutableArray* ret =
|
| + [NSMutableArray arrayWithObject:NSAccessibilityShowMenuAction];
|
| + NSString* role = [self role];
|
| // TODO(dtseng): this should only get set when there's a default action.
|
| - if ([self role] != NSAccessibilityStaticTextRole &&
|
| - [self role] != NSAccessibilityTextAreaRole &&
|
| - [self role] != NSAccessibilityTextFieldRole) {
|
| + if (![role isEqualToString:NSAccessibilityStaticTextRole] &&
|
| + ![role isEqualToString:NSAccessibilityTextAreaRole] &&
|
| + ![role isEqualToString:NSAccessibilityTextFieldRole]) {
|
| [ret addObject:NSAccessibilityPressAction];
|
| }
|
|
|
| @@ -501,10 +501,8 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
|
|
| // Returns the list of accessibility attributes that this object supports.
|
| - (NSArray*)accessibilityAttributeNames {
|
| - NSMutableArray* ret = [[NSMutableArray alloc] init];
|
| -
|
| // General attributes.
|
| - [ret addObjectsFromArray:[NSArray arrayWithObjects:
|
| + NSMutableArray* ret = [NSMutableArray arrayWithObjects:
|
| NSAccessibilityChildrenAttribute,
|
| NSAccessibilityDescriptionAttribute,
|
| NSAccessibilityEnabledAttribute,
|
| @@ -521,23 +519,18 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
| NSAccessibilityWindowAttribute,
|
| NSAccessibilityURLAttribute,
|
| @"AXVisited",
|
| - nil]];
|
| + nil];
|
|
|
| // Specific role attributes.
|
| - if ([self role] == NSAccessibilityTableRole) {
|
| + NSString* role = [self role];
|
| + if ([role isEqualToString:NSAccessibilityTableRole]) {
|
| [ret addObjectsFromArray:[NSArray arrayWithObjects:
|
| NSAccessibilityColumnsAttribute,
|
| NSAccessibilityRowsAttribute,
|
| nil]];
|
| - }
|
| -
|
| - if ([self role] == @"AXWebArea") {
|
| - [ret addObjectsFromArray:[NSArray arrayWithObjects:
|
| - @"AXLoaded",
|
| - nil]];
|
| - }
|
| -
|
| - if ([self role] == NSAccessibilityTextFieldRole) {
|
| + } else if ([role isEqualToString:@"AXWebArea"]) {
|
| + [ret addObject:@"AXLoaded"];
|
| + } else if ([role isEqualToString:NSAccessibilityTextFieldRole]) {
|
| [ret addObjectsFromArray:[NSArray arrayWithObjects:
|
| NSAccessibilityInsertionPointLineNumberAttribute,
|
| NSAccessibilityNumberOfCharactersAttribute,
|
| @@ -545,10 +538,9 @@ bool GetState(BrowserAccessibility* accessibility, int state) {
|
| NSAccessibilitySelectedTextRangeAttribute,
|
| NSAccessibilityVisibleCharacterRangeAttribute,
|
| nil]];
|
| - }
|
| -
|
| - if ([self role] == NSAccessibilityTabGroupRole)
|
| + } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) {
|
| [ret addObject:NSAccessibilityTabsAttribute];
|
| + }
|
|
|
| return ret;
|
| }
|
|
|