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

Reply via email to