71 lines
2.1 KiB
Objective-C
71 lines
2.1 KiB
Objective-C
//
|
|
// TUINSView+Accessibility.m
|
|
// TwUI
|
|
//
|
|
// Created by Josh Abernathy on 7/28/11.
|
|
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
|
//
|
|
|
|
#import "TUINSView+Accessibility.h"
|
|
|
|
|
|
@implementation TUINSView (Accessibility)
|
|
|
|
- (id)accessibilityHitTest:(NSPoint)point
|
|
{
|
|
NSPoint windowPoint = [[self window] convertScreenToBase:point];
|
|
NSPoint localPoint = [self convertPoint:windowPoint fromView:nil];
|
|
return [self.rootView accessibilityHitTest:localPoint];
|
|
}
|
|
|
|
- (BOOL)accessibilityIsIgnored
|
|
{
|
|
return YES;
|
|
}
|
|
|
|
- (NSArray *)accessibilityAttributeNames
|
|
{
|
|
static NSArray *attributes = nil;
|
|
if(attributes == nil) {
|
|
attributes = [[NSArray alloc] initWithObjects:NSAccessibilityChildrenAttribute, NSAccessibilityParentAttribute, NSAccessibilityWindowAttribute, NSAccessibilityTopLevelUIElementAttribute, NSAccessibilityPositionAttribute, NSAccessibilitySizeAttribute, nil];
|
|
}
|
|
|
|
return attributes;
|
|
}
|
|
|
|
- (id)accessibilityAttributeValue:(NSString *)attribute
|
|
{
|
|
if([attribute isEqualToString:NSAccessibilityChildrenAttribute]) {
|
|
return [NSArray arrayWithObject:self.rootView];
|
|
} else if([attribute isEqualToString:NSAccessibilityParentAttribute]) {
|
|
return NSAccessibilityUnignoredAncestor(self.superview);
|
|
} else if([attribute isEqualToString:NSAccessibilityWindowAttribute]) {
|
|
return [self.superview accessibilityAttributeValue:NSAccessibilityWindowAttribute];
|
|
} else if([attribute isEqualToString:NSAccessibilityTopLevelUIElementAttribute]) {
|
|
return [self.superview accessibilityAttributeValue:NSAccessibilityTopLevelUIElementAttribute];
|
|
} else if([attribute isEqualToString:NSAccessibilityPositionAttribute]) {
|
|
return [NSValue valueWithPoint:[[self window] convertBaseToScreen:[self convertPoint:self.bounds.origin toView:nil]]];
|
|
} else if([attribute isEqualToString:NSAccessibilitySizeAttribute]) {
|
|
return [NSValue valueWithSize:self.bounds.size];
|
|
} else {
|
|
return nil;
|
|
}
|
|
}
|
|
|
|
- (BOOL)accessibilityIsAttributeSettable:(NSString *)attribute
|
|
{
|
|
return NO;
|
|
}
|
|
|
|
- (NSArray *)accessibilityActionNames
|
|
{
|
|
return [NSArray array];
|
|
}
|
|
|
|
- (id)accessibilityFocusedUIElement
|
|
{
|
|
return NSAccessibilityUnignoredAncestor(self);
|
|
}
|
|
|
|
@end
|