tree a93e1ce5ea9b51004584e6e110509209b7e6c9ca
parent 33d549caa5b93aac3f6a4a32d7594059808ccfa4
author Lucas Radaelli <lucasradaelli@google.com> 1555974854 +0000
committer CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> 1555974854 +0000

[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
