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

Records