[A11y] updates node definition with extra semantic information.

This change addes missing semantic information into the semantic node,
part of the accessibility infrastructure.

Previously, the node missed some important information to represent a
semantic node correctly.

For example: attributes, states and actions that can be performed on a
node were missing.

This change introduces the missing fields into the node data
structure. All the rest is left almost untouched, with some minor
naming improvements and the removal of some redundancies (for example,
removing the extra data field in the node itself).

Another important and noticeable changes is the removal of the label field.

Labels describe the name of a semantic element, but a label of a
semantic node can be defined by another semantic node (please see the
aria spec 1.1 for examples).

With this in mind, the best way of labeling an element is via an
attribute pair <label, actual node label>, when it produces its own,
or by the attribute pair <labeled_by, node_id>, when another node is
responsible for that.

Hit testing logic is also removed, as this is not how we are going to
do this in the future. the field children_hit_test_order was removed,
as we figure out how hit testing will be done for accessibility.

Tested:
* Installed on device.
* fx run-test a11y-tests

MI4-2322 #comment

Change-Id: I2be557e1772257a5e4673e70cc6582dc6af4d84f
7 files changed
tree: a93e1ce5ea9b51004584e6e110509209b7e6c9ca
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. peridot/
  9. products/
  10. scripts/
  11. sdk/
  12. src/
  13. third_party/
  14. tools/
  15. zircon/
  16. .clang-format
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. AUTHORS
  22. BUILD.gn
  23. CODE_OF_CONDUCT.md
  24. CONTRIBUTING.md
  25. LICENSE
  26. OWNERS
  27. PATENTS
  28. README.md
  29. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.