On Tue, 11 May 2021 06:44:26 GMT, Pankaj Bansal <pban...@openjdk.org> wrote:
>> Create implementation of native accessibility peer for ScrollPane and >> ScrollBar Java Accessibility roles. >> >> There are no direct protocols for these two roles and there is no protocol >> in list of role based protocols defined by Apple Accessibility API, which >> can be used for these roles directly. So ScrollAreaAccessibility and >> ScrollBarAccessibility classes do not implement any of the role based >> protocols in this list. >> https://developer.apple.com/library/archive/documentation/Accessibility/Conceptual/AccessibilityMacOSX/ImplementingAccessibilityforCustomControls.html. >> >> >> By looking at the current implementation of ScrollAreaAccessibility class in >> JavaComponentAccessibility and the complete list of properties and methods >> which can be used for any NSAccessibility class listed in >> https://developer.apple.com/documentation/appkit/nsaccessibility, custom >> implementation of ScrollAreaAccessibility and ScrollBarAccessibility is >> created. >> >> I have tested these implementations by running ScrollPane demo in SwingSet2 >> and scrollPane demo here >> https://docs.oracle.com/javase/tutorial/uiswing/components/scrollpane.html. >> The Voice Over behaviour is consistent with the old implementation and user >> can navigate and interact with the ScrollArea children hierarchy as expected. >> >> The old ScrollAreaAccessibility class in JavaComponentAccessibility is >> renamed to ScrollAreaAccessibility_Old as this was causing compiler errors >> and we are not deleting old implementations as of now. Please let me know if >> there is a better way to handle this. >> Also, some constants defined in JavaComponentAccessibility.m have been moved >> to JavaComponentAccessibility.h to avoid duplication in >> ScrollAreaAccessibility. > > Pankaj Bansal has updated the pull request with a new target base due to a > merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains six additional > commits since the last revision: > > - Merge branch 'master' of https://git.openjdk.java.net/jdk into JDK-8264299 > - Use accessibilityRoleAttribute to get component role > - Add ScrollBar Accessibility > - remove logs > - Add functions to get ScrollBars from ScrollArea children > - 8264299: Create implementation of native accessibility peer for ScrollPane > Java Accessibility role Marked as reviewed by kizune (Reviewer). src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m line 1879: > 1877: > 1878: > 1879: @implementation ScrollAreaAccessibility_Old Why do we need to keep the old interface and implementation? When can it be instantiated? ------------- PR: https://git.openjdk.java.net/jdk/pull/3794