class ScreenReaderContext
Defined at line 25 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
ScreenReaderContext class stores the current state of the screen reader which includes the
currently selected node(via the a11y focus manager) and state(currently selected semantic level).
This class will be queried by "Actions" to get screen reader information.
Public Methods
void ScreenReaderContext (std::unique_ptr<A11yFocusManager> a11y_focus_manager, TtsManager * tts_manager, ViewSource * view_source, std::string locale_id)
|a11y_focus_manager| will be owned by this class.
|tts_manager| is not kept, and must be valid only during this constructor, where
|tts_engine_ptr_| is instantiated.
|view_source| must outlive this object.
Defined at line 12 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.cc
void ~ScreenReaderContext ()
Defined at line 69 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.cc
A11yFocusManager * GetA11yFocusManager ()
Returns pointer to A11yFocusManager which stores a11y focus information for screen reader.
Defined at line 71 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.cc
Speaker * speaker ()
Defined at line 76 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.cc
void run_and_clear_on_node_update_callback ()
Defined at line 118 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.cc
bool IsTextFieldFocused ()
Returns true if the node currently focused by the screen reader is a text field.
Defined at line 81 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.cc
bool IsVirtualKeyboardFocused ()
Returns true if the node currently focused by the screen reader is part of a virtual keyboard.
Defined at line 100 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.cc
async::Executor * executor ()
Returns the Executor used by the Screen Reader to schedule promises.
Defined at line 121 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
void set_mode (ScreenReaderMode mode)
Sets the Screen Reader current mode.
Defined at line 126 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
bool UpdateCacheIfDescribableA11yFocusedNodeContentChanged ()
Tries to update the cache if the describable content of the a11y focused node has changed in
respect to the cached copy of the node. Returns true if the cache was updated. Please only
modify this function to add new describable content if the changes can be spoken. For example,
a change on the node location is not describable, because the screen reader does not report it
where a change in some attribute that is spoken to the user is.
Defined at line 126 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.cc
ScreenReaderMode mode ()
Defined at line 127 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
void set_semantic_level (SemanticLevel semantic_level)
Sets the Screen Reader semantic level.
Defined at line 130 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
SemanticLevel semantic_level ()
Defined at line 131 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
void set_locale_id (const std::string & locale_id)
Defined at line 133 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
const std::string & locale_id ()
Defined at line 134 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
void set_on_node_update_callback (OnNodeUpdateCallback callback)
Set/run on_node_update_callback_.
Defined at line 137 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
bool has_on_node_update_callback ()
Defined at line 141 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
void set_current_navigation_context (NavigationContext navigation_context)
Methods to get/set the current and previous navigation contexts.
Defined at line 157 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
void set_previous_navigation_context (NavigationContext navigation_context)
Defined at line 160 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
NavigationContext current_navigation_context ()
Defined at line 163 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
NavigationContext previous_navigation_context ()
Defined at line 164 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
void set_last_interaction (zx::time last_interaction)
Defined at line 166 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
zx::time last_interaction ()
Defined at line 167 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
Protected Methods
void ScreenReaderContext ()
For mocks.
Defined at line 67 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.cc
Enumerations
enum ScreenReaderMode
| Name | Value |
|---|---|
| kNormal | 0 |
| kContinuousExploration | 1 |
Describes Screen Reader possible modes of navigation.
Defined at line 28 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h
enum SemanticLevel
| Name | Value |
|---|---|
| kDefault | 0 |
| kAdjustValue | 1 |
| kCharacter | 2 |
| kWord | 3 |
| kHeader | 4 |
| kFormControl | 5 |
Defines the different semantic levels.
A semantic level is a granularity level of navigation that is used to select the appropriate
action when the user performs actions of the form next / previous element. In order to select
what is the next element, the Screen Reader uses the semantic level to choose the appropriate
logic to use.
Defined at line 44 of file ../../src/ui/a11y/lib/screen_reader/screen_reader_context.h