Revision: 27746 http://sourceforge.net/p/bibdesk/svn/27746 Author: hofman Date: 2022-07-20 16:49:43 +0000 (Wed, 20 Jul 2022) Log Message: ----------- make visible children accessible
Modified Paths: -------------- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m =================================================================== --- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m 2022-07-19 21:42:12 UTC (rev 27745) +++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m 2022-07-20 16:49:43 UTC (rev 27746) @@ -4572,6 +4572,19 @@ return NSAccessibilityUnignoredChildren(children); } +- (NSArray *)accessibilityVisibleChildren { + NSMutableArray *children = [NSMutableArray array]; + NSScrollView *scrollView = [self enclosingScrollView]; + NSRect visibleRect = [scrollView documentView] == self ? [scrollView documentVisibleRect] : [self visibleRect]; + NSUInteger i, count = [self numberOfIcons]; + for (i = 0; i < count; i++) { + NSUInteger r, c; + if ([self _getGridRow:&r column:&c ofIndex:i] && NSIntersectsRect([self _rectOfIconInRow:r column:c], visibleRect)) + [children addObject:[FVAccessibilityIconElement elementWithIndex:i parent:self]]; + } + return NSAccessibilityUnignoredChildren(children); +} + - (NSArray *)accessibilitySelectedChildren { NSMutableArray *children = [NSMutableArray array]; NSUInteger i = [_selectionIndexes firstIndex]; @@ -4651,7 +4664,7 @@ - (NSArray *)accessibilityAttributeNames { static NSArray *attributes = nil; if (attributes == nil) - attributes = [[[super accessibilityAttributeNames] arrayByAddingObjectsFromArray:[NSArray arrayWithObjects:NSAccessibilityChildrenAttribute, NSAccessibilitySelectedChildrenAttribute, NSAccessibilityRowCountAttribute, NSAccessibilityColumnCountAttribute, NSAccessibilityOrientationAttribute, NSAccessibilityOrderedByRowAttribute, nil]] retain]; + attributes = [[[super accessibilityAttributeNames] arrayByAddingObjectsFromArray:[NSArray arrayWithObjects:NSAccessibilityChildrenAttribute, NSAccessibilityVisibleChildrenAttribute, NSAccessibilitySelectedChildrenAttribute, NSAccessibilityRowCountAttribute, NSAccessibilityColumnCountAttribute, NSAccessibilityOrientationAttribute, NSAccessibilityOrderedByRowAttribute, nil]] retain]; return attributes; } @@ -4661,19 +4674,11 @@ } else if ([attribute isEqualToString:NSAccessibilityRoleDescriptionAttribute]) { return NSAccessibilityRoleDescription(NSAccessibilityGridRole, nil); } else if ([attribute isEqualToString:NSAccessibilityChildrenAttribute]) { - NSMutableArray *children = [NSMutableArray array]; - NSUInteger i, count = [self numberOfIcons]; - for (i = 0; i < count; i++) - [children addObject:[FVAccessibilityIconElement elementWithIndex:i parent:self]]; - return NSAccessibilityUnignoredChildren(children); + return [self accessibilityChildren]; + } else if ([attribute isEqualToString:NSAccessibilityVisibleChildrenAttribute]) { + return [self accessibilityVisibleChildren]; } else if ([attribute isEqualToString:NSAccessibilitySelectedChildrenAttribute]) { - NSMutableArray *children = [NSMutableArray array]; - NSUInteger i = [_selectionIndexes firstIndex]; - while (i != NSNotFound) { - [children addObject:[FVAccessibilityIconElement elementWithIndex:i parent:self]]; - i = [_selectionIndexes indexGreaterThanIndex:i]; - } - return NSAccessibilityUnignoredChildren(children); + return [self accessibilitySelectedChildren]; } else if ([attribute isEqualToString:NSAccessibilityRowCountAttribute]) { return [NSNumber numberWithInteger:_numberOfRows]; } else if ([attribute isEqualToString:NSAccessibilityColumnCountAttribute]) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Bibdesk-commit mailing list Bibdesk-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-commit