Flutter iOS Embedder
flutter::TestAccessibilityBridge Class Reference

#include <test_accessibility_bridge.h>

Inheritance diagram for flutter::TestAccessibilityBridge:
flutter::AccessibilityBridge flutter::AccessibilityBridgeIos

Public Member Functions

 TestAccessibilityBridge ()=default
 
void DispatchAccessibilityAction (AccessibilityNodeId target, FlutterSemanticsAction action, fml::MallocMapping data) override
 
- Public Member Functions inherited from flutter::AccessibilityBridge
 AccessibilityBridge (FlutterViewController *view_controller, PlatformViewIOS *platform_view, std::shared_ptr< PlatformViewsController > platform_views_controller, std::unique_ptr< IosDelegate > ios_delegate=nullptr)
 
 ~AccessibilityBridge ()
 
void UpdateSemantics (flutter::SemanticsNodeUpdates nodes, const flutter::CustomAccessibilityActionUpdates &actions)
 
void HandleEvent (NSDictionary< NSString *, id > *annotatedEvent)
 
void DispatchSemanticsAction (int32_t id, flutter::SemanticsAction action) override
 
void DispatchSemanticsAction (int32_t id, flutter::SemanticsAction action, fml::MallocMapping args) override
 
void AccessibilityObjectDidBecomeFocused (int32_t id) override
 
void AccessibilityObjectDidLoseFocus (int32_t id) override
 
UIView< UITextInput > * textInputView () override
 
UIView * view () const override
 
bool isVoiceOverRunning () const override
 
fml::WeakPtr< AccessibilityBridgeGetWeakPtr ()
 
std::shared_ptr< PlatformViewsControllerGetPlatformViewsController () const override
 
void clearState ()
 
 AccessibilityBridge ()
 Creates a new instance of a accessibility bridge. More...
 
virtual ~AccessibilityBridge ()
 
void AddFlutterSemanticsNodeUpdate (const FlutterSemanticsNode2 &node)
 Adds a semantics node update to the pending semantics update. Calling this method alone will NOT update the semantics tree. To flush the pending updates, call the CommitUpdates(). More...
 
void AddFlutterSemanticsCustomActionUpdate (const FlutterSemanticsCustomAction2 &action)
 Adds a custom semantics action update to the pending semantics update. Calling this method alone will NOT update the semantics tree. To flush the pending updates, call the CommitUpdates(). More...
 
void CommitUpdates ()
 Flushes the pending updates and applies them to this accessibility bridge. Calling this with no pending updates does nothing, and callers should call this method at the end of an atomic batch to avoid leaving the tree in a unstable state. For example if a node reparents from A to B, callers should only call this method when both removal from A and addition to B are in the pending updates. More...
 
std::weak_ptr< FlutterPlatformNodeDelegateGetFlutterPlatformNodeDelegateFromID (AccessibilityNodeId id) const
 Get the flutter platform node delegate with the given id from this accessibility bridge. Returns expired weak_ptr if the delegate associated with the id does not exist or has been removed from the accessibility tree. More...
 
const ui::AXTreeData & GetAXTreeData () const
 Get the ax tree data from this accessibility bridge. The tree data contains information such as the id of the node that has the keyboard focus or the text selection range. More...
 
const std::vector< ui::AXEventGenerator::TargetedEvent > GetPendingEvents () const
 Gets all pending accessibility events generated during semantics updates. This is useful when deciding how to handle events in AccessibilityBridgeDelegate::OnAccessibilityEvent in case one may decide to handle an event differently based on all pending events. More...
 
ui::AXNode * GetNodeFromTree (const ui::AXTreeID tree_id, const ui::AXNode::AXID node_id) const override
 
ui::AXNode * GetNodeFromTree (const ui::AXNode::AXID node_id) const override
 
ui::AXTreeID GetTreeID () const override
 
ui::AXTreeID GetParentTreeID () const override
 
ui::AXNode * GetRootAsAXNode () const override
 
ui::AXNode * GetParentNodeFromParentTreeAsAXNode () const override
 
ui::AXTree * GetTree () const override
 
ui::AXPlatformNode * GetPlatformNodeFromTree (const ui::AXNode::AXID node_id) const override
 
ui::AXPlatformNode * GetPlatformNodeFromTree (const ui::AXNode &node) const override
 
ui::AXPlatformNodeDelegate * RootDelegate () const override
 
- Public Member Functions inherited from flutter::AccessibilityBridgeIos
virtual ~AccessibilityBridgeIos ()=default
 

Public Attributes

std::vector< ui::AXEventGenerator::Event > accessibility_events
 
std::vector< FlutterSemanticsAction > performed_actions
 

Protected Member Functions

void OnAccessibilityEvent (ui::AXEventGenerator::TargetedEvent targeted_event) override
 Handle accessibility events generated due to accessibility tree changes. These events are needed to be sent to native accessibility system. See ui::AXEventGenerator::Event for possible events. More...
 
std::shared_ptr< FlutterPlatformNodeDelegateCreateFlutterPlatformNodeDelegate () override
 Creates a platform specific FlutterPlatformNodeDelegate. Ownership passes to the caller. This method will be called whenever a new AXNode is created in AXTree. Each platform needs to implement this method in order to inject its subclass into the accessibility bridge. More...
 

Detailed Description

Definition at line 12 of file test_accessibility_bridge.h.

Constructor & Destructor Documentation

◆ TestAccessibilityBridge()

flutter::TestAccessibilityBridge::TestAccessibilityBridge ( )
default

Member Function Documentation

◆ CreateFlutterPlatformNodeDelegate()

std::shared_ptr< FlutterPlatformNodeDelegate > flutter::TestAccessibilityBridge::CreateFlutterPlatformNodeDelegate ( )
overrideprotectedvirtual

Creates a platform specific FlutterPlatformNodeDelegate. Ownership passes to the caller. This method will be called whenever a new AXNode is created in AXTree. Each platform needs to implement this method in order to inject its subclass into the accessibility bridge.

Implements flutter::AccessibilityBridge.

Definition at line 10 of file test_accessibility_bridge.cc.

10  {
11  return std::make_unique<FlutterPlatformNodeDelegate>();
12 };

◆ DispatchAccessibilityAction()

void flutter::TestAccessibilityBridge::DispatchAccessibilityAction ( AccessibilityNodeId  target,
FlutterSemanticsAction  action,
fml::MallocMapping  data 
)
override

Definition at line 19 of file test_accessibility_bridge.cc.

22  {
23  performed_actions.push_back(action);
24 }

References performed_actions.

◆ OnAccessibilityEvent()

void flutter::TestAccessibilityBridge::OnAccessibilityEvent ( ui::AXEventGenerator::TargetedEvent  targeted_event)
overrideprotectedvirtual

Handle accessibility events generated due to accessibility tree changes. These events are needed to be sent to native accessibility system. See ui::AXEventGenerator::Event for possible events.

Parameters
[in]targeted_eventThe object that contains both the generated event and the event target.

Implements flutter::AccessibilityBridge.

Definition at line 14 of file test_accessibility_bridge.cc.

15  {
16  accessibility_events.push_back(targeted_event.event_params.event);
17 }

References accessibility_events.

Member Data Documentation

◆ accessibility_events

std::vector<ui::AXEventGenerator::Event> flutter::TestAccessibilityBridge::accessibility_events

Definition at line 20 of file test_accessibility_bridge.h.

Referenced by OnAccessibilityEvent().

◆ performed_actions

std::vector<FlutterSemanticsAction> flutter::TestAccessibilityBridge::performed_actions

Definition at line 21 of file test_accessibility_bridge.h.

Referenced by DispatchAccessibilityAction().


The documentation for this class was generated from the following files:
flutter::TestAccessibilityBridge::performed_actions
std::vector< FlutterSemanticsAction > performed_actions
Definition: test_accessibility_bridge.h:21
flutter::TestAccessibilityBridge::accessibility_events
std::vector< ui::AXEventGenerator::Event > accessibility_events
Definition: test_accessibility_bridge.h:20