blob: 2765079b7e7a8d940f7c4b2664d142b1aa5220b8 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/ui/a11y/lib/screen_reader/default_action.h"
#include <lib/syslog/cpp/macros.h>
namespace a11y {
DefaultAction::DefaultAction(ActionContext* action_context,
ScreenReaderContext* screen_reader_context)
: ScreenReaderAction(action_context, screen_reader_context) {}
DefaultAction::~DefaultAction() = default;
void DefaultAction::Run(ActionData process_data) {
auto a11y_focus = screen_reader_context_->GetA11yFocusManager()->GetA11yFocus();
if (!a11y_focus) {
FX_LOGS(INFO) << "No view is in focus.";
return;
}
// Call OnAccessibilityActionRequested.
action_context_->semantics_source->PerformAccessibilityAction(
process_data.current_view_koid, a11y_focus.value().node_id,
fuchsia::accessibility::semantics::Action::DEFAULT,
[](bool result) { FX_LOGS(INFO) << "Default Action completed with status:" << result; });
}
} // namespace a11y