On Thu, 20 Jul 2023 01:41:46 GMT, Sergey Bylokhov <[email protected]> wrote:
>> Abhishek Kumar has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Add condition to check JLabel instance
>
> src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxButton.java line
> 242:
>
>> 240: ac.setAccessibleName(label.getText());
>> 241: }
>> 242: }
>
> How it will work in other L&Fs?
In case of other LAFs except **Aqua** in MacOS, the accessible component
invoked for screen magnifier is an instance of `AccessibleJComboBox` and
subsequently the a11y API called on `AccessibleJComboBox` to return the
accessible name.
But for aqua, the accessible component invoked for screen magnifier is an
instance for `AquaComboBoxButton`, so it is required to return the accessible
button instance for a11y APIs to get called for retrieving accessible name.
> src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java
> line 1133:
>
>> 1131: if ( popup instanceof Accessible accessiblePopup) {
>> 1132: AccessibleContext ac =
>> accessiblePopup.getAccessibleContext();
>> 1133: ac.setAccessibleParent(comboBox);
>
> do we need to reset it back at some point?
I don't think so, as comboBox is the accessible parent for popup. Moreover,
this piece of code is unchanged for the current fix.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14497#discussion_r1271014965
PR Review Comment: https://git.openjdk.org/jdk/pull/14497#discussion_r1271015991