> 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 ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/3794/files - new: https://git.openjdk.java.net/jdk/pull/3794/files/1c6e4b4d..08ab26a6 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3794&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3794&range=01-02 Stats: 35512 lines in 746 files changed: 20996 ins; 7845 del; 6671 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