Revision: 13007
          http://sourceforge.net/p/skim-app/code/13007
Author:   hofman
Date:     2022-07-11 15:05:21 +0000 (Mon, 11 Jul 2022)
Log Message:
-----------
make thumbnail view accessible as group

Modified Paths:
--------------
    trunk/SKThumbnailView.h
    trunk/SKThumbnailView.m

Modified: trunk/SKThumbnailView.h
===================================================================
--- trunk/SKThumbnailView.h     2022-07-11 09:25:26 UTC (rev 13006)
+++ trunk/SKThumbnailView.h     2022-07-11 15:05:21 UTC (rev 13007)
@@ -40,7 +40,7 @@
 
 @class SKThumbnail;
 
-@interface SKThumbnailView : NSView <NSDraggingSource> {
+@interface SKThumbnailView : NSView <NSDraggingSource, NSAccessibilityGroup> {
     SKThumbnail *thumbnail;
     BOOL selected;
     NSBackgroundStyle backgroundStyle;

Modified: trunk/SKThumbnailView.m
===================================================================
--- trunk/SKThumbnailView.m     2022-07-11 09:25:26 UTC (rev 13006)
+++ trunk/SKThumbnailView.m     2022-07-11 15:05:21 UTC (rev 13007)
@@ -454,4 +454,43 @@
     [[session draggingPasteboard] clearContents];
 }
 
+#pragma mark Accessibility
+
+- (BOOL)isAccessibilityElement {
+    return YES;
+}
+
+- (NSString *)accessibilityRole {
+    return NSAccessibilityGroupRole;
+}
+
+- (NSString *)accessibilityRoleDescription  {
+    return NSAccessibilityRoleDescription(NSAccessibilityGroupRole, nil);
+}
+
+- (NSRect)accessibilityFrame {
+    return [self convertRectToScreen:[self bounds]];
+}
+
+- (id)accessibilityParent {
+    return NSAccessibilityUnignoredAncestor([self superview]);
+}
+
+- (NSArray *)accessibilityChildren {
+    return NSAccessibilityUnignoredChildren([self subviews]);
+}
+
+- (NSString *)accessibilityLabel {
+    return [NSString stringWithFormat:NSLocalizedString(@"Page %@", @""), 
[thumbnail label]];
+}
+
+- (BOOL)isAccessibilitySelected {
+    return [self isSelected];
+}
+
+- (BOOL)accessibilityPerformPress {
+    [[controller collectionView] setSelectionIndexes:[NSIndexSet 
indexSetWithIndex:[thumbnail pageIndex]]];
+    return YES;
+}
+
 @end

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to