if (!obj)
return;
- char* text_to_speak = NULL;
ReadingComposerData *rcd = reading_composer_data_get(obj);
- text_to_speak = reading_composer_value_text_get(rcd);
+
+ if (!rcd)
+ return;
+
+ Live_Region_Politeness mode = try_parse_politeness(rcd->attributes);
+ if (object_has_highlighted_state(obj) || mode != ACCESSIBLE_LIVE_REGION_OFF) {
+ char* text_to_speak = reading_composer_value_text_get(rcd);
+ tw_speak_and_free(text_to_speak, mode == ACCESSIBLE_LIVE_REGION_ASSERTIVE ? 1 : 0);
+ }
reading_composer_data_free(rcd);
- tw_speak_and_free(text_to_speak, EINA_TRUE);
}
static void timer_reschedule(App_Tracker_Data *atd)
tw_speak_customized(name, EINA_TRUE, EINA_TRUE, event->source, 0);
g_free(name);
goto end;
- } else if (!g_strcmp0(event->type, "object:property-change:accessible-value")) { // for reading slider and spinner value changes
- if (role == ATSPI_ROLE_SLIDER && (get_object_reading_info_type_attributes(event->source) & ACCESSIBLE_READING_INFO_TYPE_STATE)) {
- _read_value(event->source);
- } else if (role == ATSPI_ROLE_FILLER) {
- gchar *name = atspi_accessible_get_name(event->source, NULL);
- if (!name) {
- ERROR("name is null");
- goto end;
- }
- tw_speak_customized(name, EINA_TRUE, EINA_TRUE, event->source, 0);
- g_free(name);
- }
+ } else if (!g_strcmp0(event->type, "object:property-change:accessible-value")) {
+ _read_value(event->source);
} else if (!g_strcmp0(event->type, "object:state-changed:animated") && (role == ATSPI_ROLE_LIST_ITEM)
&& (get_object_reading_info_type_attributes(event->source) & ACCESSIBLE_READING_INFO_TYPE_DESCRIPTION)) {
GError *err = NULL;