Read scroll bar information from value interface 22/280322/2
authorBartlomiej Grzelewski <b.grzelewski@samsung.com>
Wed, 28 Apr 2021 14:16:47 +0000 (16:16 +0200)
committerMaria Bialota <m.bialota@samsung.com>
Fri, 26 Aug 2022 18:03:07 +0000 (20:03 +0200)
Old implementation reads information by analyzing
widget structures. This causes problem with scroll
bar widget in nui library as this one may have
multiple "visual" elements that are inside containers.
As a result nui scroll bar widget always have two
children.

This problem was solved by using value interface to
inform screen-reader about number of visual elements
and position of selected one.

Change-Id: Ie2292bd6d80a274db5ee8751801e9b566de9e623

src/reading_composer.c

index a63201ecf6ebd4db8a9757894c447e705077c1ce..ca92d52eba9af1ca428a5855be103b33a5d5bd0b 100644 (file)
@@ -336,6 +336,10 @@ TIZEN_PROD_STATIC char *generate_description_trait(AtspiAccessibleReadingMateria
                                int child_count = rm->child_count;
                                int idx = rm->first_selected_child_index;
                                SUPPRESS_FORMAT_ERROR(eina_strbuf_append_printf(buf, _("IDS_ACCS_POP_PAGE_P1SD_OF_P2SD_M_DESCRIPTIVE_FORM_TTS"), idx + 1, child_count));
+                       } else if (!g_strcmp0(style, "pagecontrolbyvalue")) {
+                               int page_count = (int)rm->upper;
+                               int idx = (int)rm->value;
+                               SUPPRESS_FORMAT_ERROR(eina_strbuf_append_printf(buf, _("IDS_ACCS_POP_PAGE_P1SD_OF_P2SD_M_DESCRIPTIVE_FORM_TTS"), idx + 1, page_count));
                        } else {
                                ESAL(buf, _IGNORE_ON_TV("IDS_ACCS_TBBODY_SWIPE_RIGHT_OR_LEFT_WITH_ONE_FINGER_TO_SELECT_NEXT_OR_PREVIOUS_LETTER"));
                        }