The markup information of accessible name is not necessary.
}
EOLIAN static const char*
-_elm_multibuttonentry_item_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Multibuttonentry_Item_Data *item)
+_elm_multibuttonentry_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Multibuttonentry_Item_Data *item)
{
const char *ret;
- ret = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_MULTIBUTTONENTRY_ITEM_CLASS));
+ ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_MULTIBUTTONENTRY_ITEM_CLASS));
if (ret) return ret;
- const char *txt = elm_object_part_text_get(VIEW(item), "elm.btn.text");
- return txt;
+ ret = elm_object_part_text_get(VIEW(item), "elm.btn.text");
+ return _elm_widget_item_accessible_plain_name_get(eo_it, ret);
}
EOLIAN static Elm_Atspi_State_Set
if (sd->password) return NULL;
- name = _elm_util_mkup_to_text(elm_entry_entry_get(obj));
+ name = _elm_widget_accessible_plain_name_get(obj, elm_entry_entry_get(obj));
if (name && strncmp("", name, 1)) return name;
const char *ret = edje_object_part_text_get(sd->entry_edje, "elm.guide");
- return _elm_util_mkup_to_text(ret);
+ return _elm_widget_accessible_plain_name_get(obj, ret);
}
/* Efl.Part begin */
name = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_INDEX_ITEM_CLASS));
if (name) return name;
- return data->letter;
+ return _elm_widget_item_accessible_plain_name_get(eo_it, data->letter);
}
EOLIAN static const Elm_Atspi_Action*
const char *ret;
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_LIST_ITEM_CLASS));
if (ret) return ret;
- return data->label;
+ return _elm_widget_item_accessible_plain_name_get(eo_it, data->label);
}
static char *
const char *ret;
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_item, ELM_TOOLBAR_ITEM_CLASS));
if (ret) return ret;
- return item->label;
+ return _elm_widget_item_accessible_plain_name_get(eo_item, item->label);
}
EOLIAN static Elm_Atspi_State_Set
return EINA_TRUE;
}
+const char*
+_elm_widget_accessible_plain_name_get(Evas_Object *obj, const char* name)
+{
+ char *accessible_plain_name;
+
+ API_ENTRY return NULL;
+
+ accessible_plain_name = _elm_util_mkup_to_text(name);
+ eina_stringshare_del(sd->accessible_name);
+ sd->accessible_name = eina_stringshare_add(accessible_plain_name);
+ free(accessible_plain_name);
+ return sd->accessible_name;
+}
+
+const char*
+_elm_widget_item_accessible_plain_name_get(Elm_Object_Item *item, const char* name)
+{
+ char *accessible_plain_name;
+
+ Elm_Widget_Item_Data *id = efl_data_scope_get(item, ELM_WIDGET_ITEM_CLASS);
+ if (!id) return NULL;
+
+ accessible_plain_name = _elm_util_mkup_to_text(name);
+ eina_stringshare_del(id->accessible_name);
+ id->accessible_name = eina_stringshare_add(accessible_plain_name);
+ free(accessible_plain_name);
+ return id->accessible_name;
+}
+
EOLIAN static Elm_Atspi_State_Set
_elm_widget_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_item,
Elm_Widget_Item_Data *item EINA_UNUSED)
}
EOLIAN static const char*
-_elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd)
+_elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED)
{
const char *ret, *name;
- char *accessible_name;
name = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_WIDGET_CLASS));
if (name) return name;
ret = elm_object_text_get(obj);
if (!ret) return NULL;
- accessible_name = _elm_util_mkup_to_text(ret);
- eina_stringshare_del(_pd->accessible_name);
- _pd->accessible_name = eina_stringshare_add(accessible_name);
- free(accessible_name);
- return _pd->accessible_name;
+ return _elm_widget_accessible_plain_name_get(obj, ret);
}
EOLIAN static Eina_List*
EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *output);
EAPI Eina_Bool _elm_widget_onscreen_is(Evas_Object *widget);
EAPI Eina_Bool _elm_widget_item_onscreen_is(Elm_Object_Item *item);
+const char* _elm_widget_accessible_plain_name_get(Evas_Object *obj, const char* name);
+const char* _elm_widget_item_accessible_plain_name_get(Elm_Object_Item *item, const char* name);
#define ELM_WIDGET_DATA_GET_OR_RETURN(o, ptr, ...) \
Elm_Widget_Smart_Data *ptr; \