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

>>> 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.

> > 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.

This is weird. I expect the accessibility API is called on the `JComboBox` in 
both cases where it's editable or not. Could this be a bug? Should we fix it in 
a different way?

> > 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.

That's good.

And it makes me wonder why non-editable combo box behaves so differently.

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

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

Reply via email to