Add atspi_accessible_get_default_label_info 66/151066/1
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 19 Sep 2017 10:59:53 +0000 (19:59 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Tue, 19 Sep 2017 13:41:47 +0000 (22:41 +0900)
commitd347e2cbf0948f07df4bee95361b43cd46b34d7e
treebf409188b02e0b760add654a5e7ec0ffdc23ebb8
parent7bdb51e5adca36b6b74dc0cb342e8812a4e50149
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