Revision: 27733
http://sourceforge.net/p/bibdesk/svn/27733
Author: hofman
Date: 2022-07-13 18:47:20 +0000 (Wed, 13 Jul 2022)
Log Message:
-----------
accessibility of color label items as color well
Modified Paths:
--------------
trunk/bibdesk/BDSKColorLabelWell.m
Modified: trunk/bibdesk/BDSKColorLabelWell.m
===================================================================
--- trunk/bibdesk/BDSKColorLabelWell.m 2022-07-13 18:11:48 UTC (rev 27732)
+++ trunk/bibdesk/BDSKColorLabelWell.m 2022-07-13 18:47:20 UTC (rev 27733)
@@ -40,6 +40,14 @@
#import "NSColor_BDSKExtensions.h"
+#if SDK_BEFORE(10_10)
+@interface NSObject (BDSKYosemiteDeclarations)
+- (id)accessibilityValue;
+@end
+#endif
+
+#pragma mark -
+
@interface BDSKColorLabelCell : NSButtonCell {
BOOL hovered;
}
@@ -455,4 +463,55 @@
[NSGraphicsContext restoreGraphicsState];
}
+- (NSString *)accessibilityRole {
+ return NSAccessibilityColorWellRole;
+}
+
+- (NSString *)accessibilityRoleDescription {
+ return NSAccessibilityRoleDescription(NSAccessibilityColorWellRole, nil);
+}
+
+- (id)accessibilityValue {
+ NSColor *color = [self representedObject];
+ if ([color isKindOfClass:[NSColor class]] == NO)
+ return nil;
+ static NSColorWell *colorWell = nil;
+ if (colorWell == nil)
+ colorWell = [[NSColorWell alloc] init];
+ [colorWell setColor:color];
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wpartial-availability"
+ return [colorWell respondsToSelector:@selector(accessibilityValue)] ?
[colorWell accessibilityValue] : [colorWell
accessibilityAttributeValue:NSAccessibilityValueAttribute];
+#pragma clang diagnostic pop
+}
+
+- (NSArray *)accessibilityAttributeNames {
+ static NSArray *attributes = nil;
+ if (attributes == nil) {
+ attributes = [[NSArray alloc] initWithObjects:
+ NSAccessibilityRoleAttribute,
+ NSAccessibilityRoleDescriptionAttribute,
+ NSAccessibilityValueAttribute,
+ NSAccessibilityParentAttribute,
+ NSAccessibilityWindowAttribute,
+ NSAccessibilityTopLevelUIElementAttribute,
+ NSAccessibilityPositionAttribute,
+ NSAccessibilitySizeAttribute,
+ nil];
+ }
+ return attributes;
+}
+
+- (id)accessibilityAttributeValue:(NSString *)attribute {
+ if ([attribute isEqualToString:NSAccessibilityRoleAttribute]) {
+ return NSAccessibilityColorWellRole;
+ } else if ([attribute
isEqualToString:NSAccessibilityRoleDescriptionAttribute]) {
+ return NSAccessibilityRoleDescription(NSAccessibilityColorWellRole,
nil);
+ } else if ([attribute isEqualToString:NSAccessibilityValueAttribute]) {
+ return [self accessibilityValue];
+ } else {
+ return [super accessibilityAttributeValue:attribute];
+ }
+}
+
@end
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit