Add atspi_accessible_get_default_label_info 33/153833/1 submit/tizen/20171012.123430
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 19 Sep 2017 10:59:53 +0000 (19:59 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Sat, 30 Sep 2017 08:23:15 +0000 (17:23 +0900)
commitc9981714ce932e989ab9e5bc0cb5011ff67eaeb3
tree82d579f8c2fffd5b0a8d81fc810ae122db94b1e0
parent616b87d69d8938f13ded9c6298c9f8b5256d617a
Add atspi_accessible_get_default_label_info

It is not possible to support default label feature using current at-spi2-core
APIs without much of IPC. The following would be difficult case to cover.

(top of accessible tree) - (bottom side)
PageTab1 - Panel1 - PageTab2 - Panel2  -  PageTab3 - Panel3(currently showing)

Application could make as below:
PageTab1 - Panel1 - PageTab3 - Panel3  -  PageTab2 - Panel2(currently showing)

or following tree would normally be possilbe:
PageTab1 - Panel1 - PageTab2 - Panel2(currently showing)

There are much of complicated case over there.
So we are handling the default label object stack on toolkit(Elementary) side.

The atspi_accessible_get_default_label_info returns default label information
to be used screen-reader side. This is not stable. And this depends on toolkit
side UI definition. The candidate of default label object could be changed by
UI definition.

AtspiAccessibleDefaultLabelInfo *dli;
dli = atspi_accessible_get_default_label_info(root, &error);

You have to free alocated resource as below, if it is not necessary any more.
g_object_unref(dli->obj);
free(dli);

Change-Id: I444906e6d020ea6fe2536a73473e0e796a015d05
atspi/atspi-accessible.c
atspi/atspi-accessible.h
atspi/atspi-types.h