> 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 incrementally with one additional commit since the last revision: Incorporate review comments ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/3794/files - new: https://git.openjdk.java.net/jdk/pull/3794/files/08ab26a6..98413191 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3794&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3794&range=02-03 Stats: 11 lines in 2 files changed: 6 ins; 5 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/3794.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/3794/head:pull/3794 PR: https://git.openjdk.java.net/jdk/pull/3794