RFR: 8283214: [macos] Screen magnifier does not show the magnified text for JcomboBox [v7]

Alexander Zuev kizune at openjdk.org
Fri Sep 1 06:07:48 UTC 2023


On Tue, 25 Jul 2023 11:59:20 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:

>> The issue exist only for non-editable combobox and the root cause is accessible object is not created due to incorrect index returned from component class which results in no a11y API invoked.
>> 
>> Proposed solution is to return the correct accessible child from getAccessibleChild method which is AquaComboBoxButton (arrowButton) instance and that results in invoking the a11y APIs to return the current selected item in combobox. 
>> 
>> Further when the application comes up first time the accessible name is not set for current displayed item in JCombobox that is handled in AquaComboBoxButton which will take care for the current selected item as well as if user modifies the selection by drop-down list.
>> 
>> CI link is posted in JBS.
>
> Abhishek Kumar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Revert BasicComboBoxUI fix and update review comment

src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxButton.java line 253:

> 251: 
> 252:         // set the accessible name to the displayed text in JComboBox.
> 253:         // screen magnifier queries to get the accessible name to display magnified text.

I still do not think that setting accessible name in paint is a good idea. Setting it during the initialization and adding a property change listener to the accessible context to track changes seems like a better way to do it.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/14497#discussion_r1312608188


More information about the client-libs-dev mailing list