mirror of
https://github.com/textmate/textmate.git
synced 2026-01-20 04:08:04 -05:00
Make OakPasteboardSelector accessible
Issues remaining: * VoiceOver for some reason cannot track keyboard focus (i.e. moving down the list with just down arrow does not move VoiceOver cursor). User has to move the VO cursor instead using VO-down (and keyboard cursor follows in this case) * the pasteboard window isn't focused automatically for VoiceOver, user has to switch manually to it using VO-F2-F2
This commit is contained in:
committed by
Allan Odgaard
parent
cca891d74c
commit
7d47dd279f
@@ -54,6 +54,33 @@ static size_t line_count (std::string text)
|
||||
}
|
||||
}
|
||||
|
||||
- (NSArray*)accessibilityAttributeNames
|
||||
{
|
||||
static NSArray* attributes = nil;
|
||||
if(!attributes)
|
||||
{
|
||||
NSSet* set = [NSSet setWithArray:[super accessibilityAttributeNames]];
|
||||
set = [set setByAddingObjectsFromArray:@[
|
||||
NSAccessibilityRoleAttribute,
|
||||
NSAccessibilityValueAttribute,
|
||||
]];
|
||||
attributes = [[set allObjects] retain];
|
||||
}
|
||||
return attributes;
|
||||
}
|
||||
|
||||
- (id)accessibilityAttributeValue:(NSString*)attribute
|
||||
{
|
||||
id value = nil;
|
||||
if([attribute isEqualToString:NSAccessibilityRoleAttribute])
|
||||
value = NSAccessibilityStaticTextRole;
|
||||
else if([attribute isEqualToString:NSAccessibilityValueAttribute])
|
||||
value = [self objectValue];
|
||||
else
|
||||
value = [super accessibilityAttributeValue:attribute];
|
||||
return value;
|
||||
}
|
||||
|
||||
- (size_t)lineCountForText:(NSString*)text
|
||||
{
|
||||
return oak::cap((size_t)1, line_count([text UTF8String]), maxLines);
|
||||
|
||||
Reference in New Issue
Block a user