Support accessibility in keyboard selector 18/104218/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Tue, 13 Dec 2016 00:33:10 +0000 (09:33 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 13 Dec 2016 00:33:10 +0000 (09:33 +0900)
Change-Id: I397784595966ae92cbceebddbff5722902ae5d6d
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
im_setting_list/input_method_setting_list_popup_view.cpp
im_setting_selector/input_method_setting_selector_ui.cpp

index e444d63..9e9c410 100644 (file)
@@ -224,6 +224,8 @@ static char *im_setting_list_genlist_item_label_get(void *data, Evas_Object *obj
 static Evas_Object *im_setting_list_genlist_item_icon_get(void *data, Evas_Object *obj, const char *part)
 {
     int index = (int)reinterpret_cast<long>(data);
+    Elm_Object_Item *it = elm_genlist_nth_item_get(obj, index);
+
     if (!strcmp(part, "elm.swallow.end") ||
         !strcmp(part, "elm.icon")) {
         Evas_Object *radio = elm_radio_add(obj);
@@ -233,6 +235,9 @@ static Evas_Object *im_setting_list_genlist_item_icon_get(void *data, Evas_Objec
         elm_radio_group_add(radio, group_radio);
         evas_object_show(radio);
 
+        elm_atspi_accessible_relationship_append(it, ELM_ATSPI_RELATION_DESCRIBED_BY, radio);
+        elm_atspi_accessible_relationship_append(radio, ELM_ATSPI_RELATION_CONTROLLED_BY, it);
+
         return radio;
     }
     return NULL;
index 3677b5d..bd402fc 100755 (executable)
@@ -285,6 +285,8 @@ static char *im_setting_selector_genlist_item_label_get(void *data, Evas_Object
 static Evas_Object *im_setting_selector_genlist_item_icon_get(void *data, Evas_Object *obj, const char *part)
 {
     int index = (int)reinterpret_cast<long>(data);
+    Elm_Object_Item *it = elm_genlist_nth_item_get(obj, index);
+
     if (!strcmp(part, "elm.swallow.end") ||
         !strcmp(part, "elm.icon")) {
         Evas_Object *radio = elm_radio_add(obj);
@@ -294,6 +296,9 @@ static Evas_Object *im_setting_selector_genlist_item_icon_get(void *data, Evas_O
         elm_radio_group_add(radio, group_radio);
         evas_object_show(radio);
 
+        elm_atspi_accessible_relationship_append(it, ELM_ATSPI_RELATION_DESCRIBED_BY, radio);
+        elm_atspi_accessible_relationship_append(radio, ELM_ATSPI_RELATION_CONTROLLED_BY, it);
+
         return radio;
     }
     return NULL;