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