> For a JMenuItem with a shortcut like _Ctrl + Comma_, the `getKeyChar` method > of the `AccessBridge` class cuts the _Comma_ text to the first character and > hence transfers `C (instead of Comma)` via the `AccessBridge` API. For a > shortcut _Ctrl + Comma_ in a menu item, screen readers announce _Ctrl + C_ > instead of _Ctrl + Comma_ as shortcut. Same issue exists for **Enter, Period > and other keys** as well where only the first character is returned from the > getKeyChar method. > > Proposed fix is to ensure that the _char representation of the shortcuts_ is > returned by the `getKeyChar` method and it worked fine except for **"Enter"** > key. It is unclear to me why it has not announced by AT (JAWS) but I think > that may be due to the char representation of the Enter key which is a Line > Feed. > > AT was also not able to announce the _Tab and Space_ key as a shortcut. > Adding these keys in the control key list in _AccessBridge_ and in supported > control code list in _AccessBridgePackages_ files enabled them to be > announced by AT. > > Manual test case is added to verify the shortcut for JMenuItems.
Abhishek Kumar 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 five additional commits since the last revision: - Merge branch 'master' into JDK-8339728 - Copyright year and minor fix - Review comment update - Copyright year and test update - MenuItem shortcut accessibility fix ------------- Changes: - all: https://git.openjdk.org/jdk/pull/22822/files - new: https://git.openjdk.org/jdk/pull/22822/files/7e5b00d3..64ecaf0a Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=22822&range=04 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22822&range=03-04 Stats: 177173 lines in 5136 files changed: 120891 ins; 38678 del; 17604 mod Patch: https://git.openjdk.org/jdk/pull/22822.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/22822/head:pull/22822 PR: https://git.openjdk.org/jdk/pull/22822