RFR: 8339728 : [Accessibility, Windows, JAWS] Bug in the getKeyChar method of the AccessBridge class [v2]
Alexander Zuev
kizune at openjdk.org
Tue Dec 24 19:45:37 UTC 2024
On Thu, 19 Dec 2024 05:28:16 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:
>> 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 incrementally with one additional commit since the last revision:
>
> Copyright year and test update
test/jdk/javax/accessibility/TestJMenuItemShortcutAccessibility.java line 37:
> 35: * @summary Tests that JAWS announce the shortcuts for JMenuItems.
> 36: * @library /java/awt/regtesthelpers
> 37: * @build PassFailJFrame
Since instructions mention JAWS i would either make this test Windows specific or if you want to test t on mac too i would rephrase the instructions so they are not OS specific. Either way will work for me.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22822#discussion_r1896938323
More information about the client-libs-dev
mailing list