elementary: atspi accessible name uses plain text

The markup information of accessible name is not necessary.
This commit is contained in:
Shinwoo Kim 2017-09-06 19:54:59 +09:00
parent 1cfc96dd5b
commit 2f6e28881e
7 changed files with 42 additions and 16 deletions

View File

@ -2078,14 +2078,14 @@ _elm_multibuttonentry_elm_interface_atspi_accessible_children_get(Eo *obj, Elm_M
}
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

View File

@ -6041,11 +6041,11 @@ _elm_entry_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Entry_Data *sd)
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 */

View File

@ -1739,7 +1739,7 @@ _elm_index_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Index_Ite
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*

View File

@ -2129,7 +2129,7 @@ _elm_list_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_List_Item_
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 *

View File

@ -3997,7 +3997,7 @@ _elm_toolbar_item_elm_interface_atspi_accessible_name_get(Eo *eo_item, Elm_Toolb
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

View File

@ -5095,6 +5095,35 @@ _elm_widget_item_onscreen_is(Elm_Object_Item *item)
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)
@ -6298,10 +6327,9 @@ _elm_widget_elm_interface_atspi_component_focus_grab(Eo *obj, Elm_Widget_Smart_D
}
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;
@ -6309,11 +6337,7 @@ _elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Wid
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*

View File

@ -751,6 +751,8 @@ EAPI void elm_widget_tree_dump(const Evas_Object *top);
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; \