您可能需要在方法中进行子类化NSWebView
和覆盖:NSAccessibilityRoleDescriptionAttribute
- (id)accessibilityAttributeValue:(NSString *)attribute
- (id)accessibilityAttributeValue:(NSString *)attribute
{
id value = nil;
if ( [attribute isEqualToString:NSAccessibilityRoleDescriptionAttribute] )
{
value = @"Map View";
}
// all your other ifs here
else
{
value = [super accessibilityAttributeValue:attribute];
}
return value;
}
确保您说出NSAccessibility
您提供的内容(特别是NSAccessibilityRoleDescriptionAttribute
部分):
- (NSArray *)accessibilityAttributeNames
{
static NSMutableArray *attributes = nil;
if ( attributes == nil )
{
attributes = [[super accessibilityAttributeNames] mutableCopy];
NSArray *additionalAttributes = @[NSAccessibilityDescriptionAttribute, NSAccessibilityRoleAttribute, NSAccessibilityChildrenAttribute, NSAccessibilityTitleUIElementAttribute, NSAccessibilityRoleDescriptionAttribute];
for ( NSString *attribute in additionalAttributes )
{
if ( ![attributes containsObject:attribute] )
{
[attributes addObject:attribute];
}
}
}
return attributes;
}