| // Copyright 2020 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. |
| library fuchsia.ui.views.accessibility; |
| |
| using fuchsia.ui.views; |
| |
| /// A protocol for registering a 'fuchsia.ui.views.Focuser' to be used by an |
| /// accessibility service. |
| /// |
| /// Accessibility services can drastically alter the way an user interacts with |
| /// a system. For example, instead of changing the focus from one view to |
| /// another using the touch screen, this user may use voice. For this reason, |
| /// accessibility services need a way to be able to request focus to whatever |
| /// view on the system, as this request can come in any form of input, not |
| /// necessarily the one that normally drives focus in a particular device. |
| /// |
| /// The request from the accessibility service assumes that whoever implements |
| /// this protocol associates this request with a view that sits high in the view |
| /// hierarchy. |
| @discoverable |
| protocol FocuserRegistry { |
| RegisterFocuser(resource struct { |
| view_focuser server_end:fuchsia.ui.views.Focuser; |
| }); |
| }; |