Initializes the controller with all necessary services, view models, and bindings.
The MAIDR configuration object containing plot data and settings
The HTML element containing the plot to be made accessible
The Redux store instance for this plot's state management
Announces the initial instruction to screen readers using a live region.
Retrieves the initial instruction text for the plot.
The initial instruction text
Displays the initial instruction in the text view without announcing it to screen readers.
Initialize high contrast mode if enabled in settings. Call this after the Controller is fully set up and will persist (not the throwaway init).
Suspend high contrast mode visually (restore original colors). Call this on blur to return the chart to its original appearance.
Replaces the chart data in place (live/realtime update).
Rebuilds the model layer (Figure/Subplot/Trace) from the new data while preserving the user's navigation position, then rewires all observers. Services, view models, and keybindings are untouched, so the update is cheap enough for streaming scenarios.
The swap itself is silent; when monitor mode is enabled and the update appended a point, that point is sonified and announced without moving the user's position.
The complete replacement MAIDR config (caller-owned copy)
Optionalappended: AppendedPointInfoLocation of the newly appended point, for appendData updates
Cleans up all services, view models, and event listeners.
Returns the context value for React dependency injection. Used by the React component tree to access view models and command executor.
Main controller class that orchestrates all services, view models, and interactions for the MAIDR application.