Browse Source

Accessibility: Avoid allowing TextEditor and Viewport internal components to be accessibility-focused

The TextHolderComponent and Viewport::componentHolder don't have any
accessible semantics, so they shouldn't be included in the accessible
component hierarchy.
pull/22/head
reuk 3 years ago
parent
commit
c9950e3801
No known key found for this signature in database GPG Key ID: 9ADCD339CFC98A11
2 changed files with 20 additions and 1 deletions
  1. +9
    -1
      modules/juce_gui_basics/layout/juce_Viewport.h
  2. +11
    -0
      modules/juce_gui_basics/widgets/juce_TextEditor.cpp

+ 9
- 1
modules/juce_gui_basics/layout/juce_Viewport.h View File

@@ -337,8 +337,16 @@ protected:
private:
//==============================================================================
class AccessibilityIgnoredComponent : public Component
{
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return createIgnoredAccessibilityHandler (*this);
}
};
std::unique_ptr<ScrollBar> verticalScrollBar, horizontalScrollBar;
Component contentHolder;
AccessibilityIgnoredComponent contentHolder;
WeakReference<Component> contentComp;
Rectangle<int> lastVisibleArea;
int scrollBarThickness = 0;


+ 11
- 0
modules/juce_gui_basics/widgets/juce_TextEditor.cpp View File

@@ -868,6 +868,12 @@ struct TextEditor::TextHolderComponent : public Component,
TextEditor& owner;
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return createIgnoredAccessibilityHandler (*this);
}
JUCE_DECLARE_NON_COPYABLE (TextHolderComponent)
};
@@ -894,6 +900,11 @@ struct TextEditor::TextEditorViewport : public Viewport
}
private:
std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override
{
return createIgnoredAccessibilityHandler (*this);
}
TextEditor& owner;
int lastWordWrapWidth = 0;
bool reentrant = false;


Loading…
Cancel
Save