Revision: 16492
http://sourceforge.net/p/skim-app/code/16492
Author: hofman
Date: 2026-09-17 16:39:22 +0000 (Thu, 17 Sep 2026)
Log Message:
-----------
make presentation view accessible
Modified Paths:
--------------
trunk/SKPresentationView.h
trunk/SKPresentationView.m
Modified: trunk/SKPresentationView.h
===================================================================
--- trunk/SKPresentationView.h 2026-09-17 15:45:02 UTC (rev 16491)
+++ trunk/SKPresentationView.h 2026-09-17 16:39:22 UTC (rev 16492)
@@ -72,7 +72,7 @@
#pragma mark -
-@interface SKPresentationView : SKPDFPageView {
+@interface SKPresentationView : SKPDFPageView <NSAccessibilityStaticText> {
NSMapTable *predrawnImages;
SKNavigationWindow *navWindow;
SKCursorStyleWindow *cursorWindow;
Modified: trunk/SKPresentationView.m
===================================================================
--- trunk/SKPresentationView.m 2026-09-17 15:45:02 UTC (rev 16491)
+++ trunk/SKPresentationView.m 2026-09-17 16:39:22 UTC (rev 16492)
@@ -1243,4 +1243,58 @@
[self handleWindowDidBecomeKeyNotification:nil];
}
+- (BOOL)isAccessibilityElement {
+ return YES;
+}
+
+- (NSString *)accessibilityRole {
+ return NSAccessibilityStaticTextRole;
+}
+
+- (NSString *)accessibilityRoleDescription {
+ return NSAccessibilityRoleDescription(NSAccessibilityStaticTextRole, nil);
+}
+
+- (NSRect)accessibilityFrame {
+ return [[self window] convertRectToScreen:[self convertRect:[self bounds]
toView:nil]];
+}
+
+- (id)accessibilityParent {
+ return NSAccessibilityUnignoredAncestor([self superview]);
+}
+
+- (id)accessibilityValue {
+ return [page string];
+}
+
+- (BOOL)accessibilityPerformIncrement {
+ if ([self canGoToNextPage] == NO)
+ return NO;
+ [self goToNextPage:nil];
+ return YES;
+}
+
+- (BOOL)accessibilityPerformDecrement {
+ if ([self canGoToPreviousPage] == NO)
+ return NO;
+ [self goToPreviousPage:nil];
+ return YES;
+}
+
+- (BOOL)accessibilityPerformShowDefaultUI {
+ if ([navWindow isVisible]) {
+ [navWindow fadeOut];
+ return YES;
+ } else if ([cursorWindow isVisible]) {
+ [cursorWindow fadeOut];
+ return YES;
+ }
+ return NO;
+}
+
+- (BOOL)accessibilityPerformShowAlternateUI {
+ [self showCursorStyleWindow:nil];
+ 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit