From c51b331318aff1485df862694bd562c3bae1a62f Mon Sep 17 00:00:00 2001 From: reuk Date: Fri, 4 Mar 2022 13:57:46 +0000 Subject: [PATCH] PopupMenu Accessibility: Report menu-item ticked state on Windows --- .../juce_gui_basics/menus/juce_PopupMenu.cpp | 29 ++----------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp index a03e01b6bc2e..d004782804bc 100644 --- a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp +++ b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp @@ -187,29 +187,6 @@ struct ItemComponent : public Component PopupMenu::Item item; private: - class ValueInterface : public AccessibilityValueInterface - { - public: - ValueInterface() = default; - - bool isReadOnly() const override { return true; } - - double getCurrentValue() const override - { - return 1.0; - } - - String getCurrentValueAsString() const override - { - return TRANS ("Checked"); - } - - void setValue (double) override {} - void setValueAsString (const String&) override {} - - AccessibleValueRange getRange() const override { return {}; } - }; - //============================================================================== class ItemAccessibilityHandler : public AccessibilityHandler { @@ -218,9 +195,7 @@ struct ItemComponent : public Component : AccessibilityHandler (itemComponentToWrap, isAccessibilityHandlerRequired (itemComponentToWrap.item) ? AccessibilityRole::menuItem : AccessibilityRole::ignored, - getAccessibilityActions (*this, itemComponentToWrap), - AccessibilityHandler::Interfaces { itemComponentToWrap.item.isTicked ? std::make_unique() - : nullptr }), + getAccessibilityActions (*this, itemComponentToWrap)), itemComponent (itemComponentToWrap) { } @@ -242,7 +217,7 @@ struct ItemComponent : public Component } if (itemComponent.item.isTicked) - state = state.withChecked(); + state = state.withCheckable().withChecked(); return state.isFocused() ? state.withSelected() : state; }