[BUG] Combo Box Accessibility Bug

Hi,
There is a minor bug with the ComboBoxAccessibilityHandler, for the getTitle() function it calls getText() instead on the component. Meaning the info in the combobox is read and then the type of control, with no name for the control being output to the screen reader.

Best,

Kris

1 Like

Hi, upvoting this - I’m seeing the same issue.

Furthermore, I have set the Title, Description, and Help Text but none of these show up when I focus the ComboBox in AccessibilityInsights.

Thanks for reporting, we’ve made that change on develop:

1 Like

Same issue with the juce::Label

Just looking at this and I wonder if the implementation should actually be something like…

String getTitle() const override  
{ 
    if (label.getTitle().isNotEmpty())
        return label.getTitle();

    return label.getText(); 
}

That way something sensible is returned even if someone doesn’t call setTitle() which I assume was the intent of overriding these in the first place as returning the title is already the default behaviour.

Out of interest for something like the combobox how are you using setTitle()? as the previous implementation would have read out the currently selected option, are you having to call setTitle() to update the title every time the selection changes?

Just help me understand the use case, what sort of text are you giving the label title? how does it differ from the text of the label itself? and why does it differ?

I think that seems like a sensible solution, although it does result in the text value being read twice (at least in Narrator on Windows).

No, it seems to be reading the title correctly still after the selection is changed.

In this use case I have a version number label and I want the title to be “Version Number” and the text to be “v1.00.0”. Using the title in this way gives more context to the displayed value for users who rely upon the screen reader (on the UI there is another non-accessible Label next to this one displaying the “Version Number” text). The two labels are separate instances to allow for better control over layout and Font/Colour.