On Wed, 5 Jul 2023 04:58:12 GMT, Abhishek Kumar <abhis...@openjdk.org> wrote:

>>> But in case of JComboBox, a11y API invokes the `getAccessibleName` method 
>>> for `AccessibleJButton` and that returns an empty string.
>> 
>> And this seems to be the problem. The `getAccessibleName` method should be 
>> on JComboBox, or its editor, which should return the result of 
>> `getAccessibleName` of the renderer component.
>> 
>> Does this work with editable combo box?
>
>> And this seems to be the problem. The getAccessibleName method should be on 
>> JComboBox, or its editor, which should return the result of 
>> getAccessibleName of the renderer component.
> 
> Since the a11y APIs are called upon the `AquaComboBoxButton` (subclass of 
> JButton) instance, need to set the text of the button to current displayed 
> text of JComboBox. JComboBox contains `getAccessibleName` method but it is 
> not invoked.
> 
>> Does this work with editable combo box?
> 
> Yeah, it worked for editable JComboBox. For editable JComboBox, the string is 
> returned by NavigableTextAccessibility and it returns the current text 
> displayed in editor.

Accessible name is set by getting the current text displayed in JComboBox 
(using `renderer getText()` method) in stead of setting it by JComboBox  
`getSelectedItem().toString() `method. Tested with custom renderer and it shows 
the magnified text as displayed in JComboBox.

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

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

Reply via email to