If an object is content of a layout (parent), and user calls
evas_object_hide for the layout, then the _elm_widget_evas_object_smart_hide
for the object (child) is not called. So it is not possible to know
object's changed state on the AT-client side.
This patch set will check parents of highlighted object in
_elm_widget_evas_object_smart_hide, and emit state changed
signal if one of parents is equal to the hiding object.
@tizen_fix
orignal patch:
afcec90361769e19f6d6dc005aa35daeaa74b8ec
Change-Id: I45d7d71c96e1a2645c93f2d1012067f880d6a99d
}
else
{
+ //TIZEN_ONLY(20161223) check if the parent of highlighted object is hide
+ Eo *highlighted_obj;
+ highlighted_obj = _elm_object_accessibility_currently_highlighted_get();
+ if (highlighted_obj && highlighted_obj != obj)
+ {
+ Eo *parent;
+ parent = efl_access_parent_get(highlighted_obj);
+ while (parent)
+ {
+ if (parent == obj)
+ {
+ efl_access_state_changed_signal_emit(highlighted_obj, EFL_ACCESS_STATE_SHOWING, EINA_FALSE);
+ efl_access_component_highlight_clear(highlighted_obj);
+ break;
+ }
+ parent = efl_access_parent_get(parent);
+ }
+ }
+ //
efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_SHOWING, EINA_FALSE);
}
}