blob: 4e8f04c9a1e9c6f33865a85d74b0d132a5f2ed30 [file] [log] [blame]
// Copyright 2018 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.accessibility.semantics;
using fuchsia.ui.gfx;
// TODO(SCN-814) Figure out how we want to serialize data.
/// Represents the purpose of a ui element; ex. button, text area.
/// Currently not being used. Will be expanded in the future.
enum Role {
NONE = 0;
};
/// Represents actions that can be applied to Nodes.
enum Action {
GAIN_ACCESSIBILITY_FOCUS = 1;
LOSE_ACCESSIBILITY_FOCUS = 2;
TAP = 3;
};
/// Accessibility data for an UI element.
table Data {
1: Role role;
2: string label;
// Local bounding box of this element.
3: fuchsia.ui.gfx.BoundingBox location;
// Transform from parent coordinate space to local space.
4: fuchsia.ui.gfx.mat4 transform;
};
// Wrapper for accessibility data to store structure of UI tree. In progress.
table Node {
// Node id identifying position in a front-end's local UI structure.
// We assume 0 to be the root node.
1: uint32 node_id;
2: vector<uint32> children_traversal_order;
3: vector<uint32> children_hit_test_order;
4: Data data;
};