Youngsun Suh [Thu, 5 Jun 2025 06:41:43 +0000 (15:41 +0900)]
Suppress reading label role
Change-Id: I38b19708c7ca5753eb42b8ccaca52cad900d7b16
Youngsun Suh [Thu, 5 Jun 2025 03:28:54 +0000 (12:28 +0900)]
Reset read_timer on lang change
Change-Id: I32c79c8df3b1669a8c7af8230007a3445a18cd8d
Youngsun Suh [Thu, 29 May 2025 04:49:08 +0000 (13:49 +0900)]
Purge tts on lang change
Change-Id: I8dc565f1b80847a897e979646306b96cf60d43a0
Youngsun Suh [Tue, 20 May 2025 23:56:35 +0000 (08:56 +0900)]
Fix perf regression when efl page_tab is showing
Change-Id: I130f254c8d7a50cfd471ecd96b0927850c1c9bac
Youngsun Suh [Fri, 25 Apr 2025 05:22:13 +0000 (14:22 +0900)]
Fix page_tab behavior on efl app
Change-Id: I2b67ac4b7bd69ccca0eba8f611fb6e91be88ee94
Youngsun Suh [Tue, 15 Apr 2025 04:08:42 +0000 (13:08 +0900)]
Announce state if a button is expandable
- Add handle state-change:expandable
- Add announcement when the object is highlighted
Change-Id: I78038c8ecb1e639bf28d6dda1a5563d729454890
Youngsun Suh [Tue, 8 Apr 2025 08:02:19 +0000 (17:02 +0900)]
Update PAGE_TAB to announce selected state
Change-Id: I6e9a122d34a50e4989a0982163e0286c03f30b19
Youngsun Suh [Mon, 31 Mar 2025 08:26:46 +0000 (17:26 +0900)]
Say 'Selected' for selected items only
Change-Id: I4727c0b9617f380752de92b889483092e7501341
Youngsun Suh [Mon, 31 Mar 2025 08:46:58 +0000 (17:46 +0900)]
Remove unused screen-reader-ui
Change-Id: I25a0e205ecc030fa73559b47f47011847a66db06
Youngsun Suh [Thu, 27 Mar 2025 00:20:44 +0000 (09:20 +0900)]
Update to refresh tab on efl only
Change-Id: I9c9b98b98a0db86e485f9e7403ea3411bf7775f3
Youngsun Suh [Tue, 11 Mar 2025 00:25:27 +0000 (09:25 +0900)]
Stop init process if tts_create failed
Change-Id: I28d54b8fe3f92d618d770247f035fd52dd5ddd47
Youngsun Suh [Tue, 31 Dec 2024 06:38:43 +0000 (15:38 +0900)]
Remove unused features
Change-Id: I978852d2297a6fdf85e13a1bc722e431ba887d4f
Youngsun Suh [Tue, 31 Dec 2024 01:11:14 +0000 (10:11 +0900)]
Fix keyboard removal logic in _window_remove
Change-Id: I8a6322e62b3c9256b548a11bf925218582daacd1
Youngsun Suh [Wed, 11 Dec 2024 07:31:06 +0000 (16:31 +0900)]
Add null check on context switch
Change-Id: I7daa865948ce6e468d21898c1f45f2a9babd4dfa
Youngsun Suh [Mon, 18 Nov 2024 23:42:45 +0000 (08:42 +0900)]
Set a window as active when added by state-change:visible
Change-Id: If415de57e7ea2afecea155fd6ad47815f2e83ab1
Seoyeon Kim [Fri, 8 Nov 2024 08:17:35 +0000 (17:17 +0900)]
Update Symbol Lookup table for Circle, Square, and etc.
- Added some symbols to read the newly added symbols.
: ○, ●, □, ■, ♤, ◇, ♧
Change-Id: I114cf5e6dacd49caac069496f80c892eecc070be
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
Seoyeon Kim [Tue, 5 Nov 2024 05:31:20 +0000 (14:31 +0900)]
Add some symbol translations
- Currently, 24 languages are added for some symbols like ○ .
Other languages are written in English temporarily.
Change-Id: I8f45a7fcc9b0cb3bbde4ee58d2fe2516fb069135
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
Youngsun Suh [Thu, 10 Oct 2024 03:00:49 +0000 (12:00 +0900)]
Implement circular inc/dec for SPIN_BUTTON role
Change-Id: I78ad8cf129cee00ef5f605d76916399300adbcbd
Youngsun Suh [Wed, 2 Oct 2024 07:17:12 +0000 (16:17 +0900)]
Prevent context switing when unfocused window is added
There are cases "showing" events comes after a window is focused, which causes loss of focus of the currently focused window. To prevent this, updated to switch context on focused("activate") instead of on window shown.
Also, added a condition for "NameOwnerChanged" to prevent removing the window when a widget proxy is removed.
Change-Id: I2d1b24539b8b1504e878e84b2cfc06a2ee14a4bb
Youngsun Suh [Wed, 25 Sep 2024 06:04:06 +0000 (15:04 +0900)]
Revert "Make focus navigatable between windows."
This reverts commit
b518cba3149ab3cab193b28699a8dccf42b03103.
Change-Id: I9494cb96f8506d2f39af191f18c253cac983a72c
Youngsun Suh [Fri, 13 Sep 2024 08:00:33 +0000 (08:00 +0000)]
Merge "In multi-window model window should be removed from cache only when destroyed" into tizen_7.0
Lukasz Oleksak [Fri, 10 May 2024 07:57:11 +0000 (09:57 +0200)]
In multi-window model window should be removed from cache only when destroyed
Change-Id: I4ec493c8f436c3db547e4d4b2a52f45471727176
Youngsun Suh [Fri, 3 May 2024 01:44:28 +0000 (10:44 +0900)]
Make focus navigatable between windows.
Change-Id: Iafe27b170f4bb195c6e24b93ed8f3fadc9b4ab0e
Youngsun Suh [Thu, 12 Sep 2024 08:32:42 +0000 (17:32 +0900)]
Reduce the delay before start switching context
Change-Id: Ifdd6629d174bf87528dd45237d40e3d9d1429317
Youngsun Suh [Fri, 16 Aug 2024 00:00:31 +0000 (09:00 +0900)]
Add support for increase,decrease action when value text is set
Change-Id: I57d7dd80654e559f47b8951802b7df211b3cd247
Łukasz Oleksak [Mon, 29 Jul 2024 08:12:32 +0000 (10:12 +0200)]
Add symbol support in direct reading
Change-Id: I309f657d2a3a527d3eb95b136ce3000074479e4e
Seoyeon Kim [Thu, 4 Jul 2024 05:56:48 +0000 (14:56 +0900)]
Update translations for newly added keys
- In the past, some keys were added for release
even though they were not translated all except for Korean and English.
- Now, some languages are updated for the keys :
IDS_ACCS_BODY_COLUMN_P1SD
IDS_ACCS_BODY_DOUBLE_TAP_TO_SELECT_TTS
IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS
IDS_ACCS_BODY_P1SD_COLUMNS
IDS_ACCS_BODY_P1SD_ROWS
IDS_ACCS_BODY_ROW_P1SD
IDS_ACCS_OPT_SETTINGS_VZW
IDS_ACCS_TBOPT_CHECKED_TTS
IDS_ACCS_TBOPT_HEADING_TTS
IDS_ACCS_TBOPT_NOT_CHECKED_TTS
IDS_ACCS_TBOPT_SLIDER_TTS
IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS
IDS_ACCS_TBOPT_SWITCH_TTS
Change-Id: I262d4f611b3aaecc927834debe7d4b3e35ac043d
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
Seoyeon Kim [Mon, 10 Jun 2024 07:50:41 +0000 (16:50 +0900)]
Update translations to some languages
- Update some translations for the following keys :
IDS_ST_MBODY_SCREEN_READER_HTTS / IDS_MSG_BODY_ON_T_TTS / IDS_STORYALBUM_BODY_OFF_T_TTS
- Start to support three languages : Indonesian, Thai, and Vietnamese
- Modified some Korean translations for request
Change-Id: I3c1665a1ae8c3665dd08e3436b7cc8ee97efe10b
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
Lukasz Oleksak [Wed, 5 Jun 2024 13:17:56 +0000 (13:17 +0000)]
Merge "Add ComboBox to potentially modal objects" into tizen_7.0
Jaehyun Cho [Wed, 5 Jun 2024 06:40:31 +0000 (06:40 +0000)]
Merge "Extend changing translation to all version of english language" into tizen_7.0
Lukasz Oleksak [Tue, 4 Jun 2024 12:50:48 +0000 (14:50 +0200)]
Extend changing translation to all version of english language
Change-Id: Ia2eac52d988b7ce61446206172f37be9ae8bc86e
EverLEEst(SangHyeon Lee) [Mon, 3 Jun 2024 11:17:36 +0000 (20:17 +0900)]
Revert "Add window locale role"
This reverts commit
e90efc83b741c307244c8d13e51d6d2f0fc0151b.
Change-Id: I367098d6d50464973366b1385b1c06d1734fd52f
Artur Świgoń [Fri, 31 May 2024 10:53:43 +0000 (12:53 +0200)]
Add ComboBox to potentially modal objects
An object needs to have both ATSPI_ROLE_COMBO_BOX and ATSPI_STATE_MODAL.
Change-Id: Iefd43d570f6bc04a7ae50bd3fb3a246ae0abdddc
Youngsun Suh [Fri, 31 May 2024 04:50:40 +0000 (13:50 +0900)]
Prevent calling _focus_widget when keyboard is on top
We don't want to call _focus_widget on keyboard as it won't initiate context switch thus it finds an object from the below context.
Change-Id: I94e0e0171694328860755ebbe8e65a1fb70e69e3
Youngsun Suh [Thu, 30 May 2024 06:35:27 +0000 (15:35 +0900)]
Focus to default_label after dispose keyboard
Change-Id: I7eb5b645346a2950f273d6ac6499c706963d0c78
Artur Świgoń [Tue, 28 May 2024 11:59:38 +0000 (13:59 +0200)]
Simplify window purging procedure
The checks during window destruction are mostly redundant. Also add a recursion
guard to purge_windows_list.
Change-Id: I90170a145737f742f3c77627da547903f7d8b4c5
EverLEEst(SangHyeon Lee) [Tue, 28 May 2024 10:16:52 +0000 (19:16 +0900)]
Add window locale role
Change-Id: I2c7e0c2dd48bdbcfbc90b63060385f329222d4d2
(cherry picked from commit
e90efc83b741c307244c8d13e51d6d2f0fc0151b)
Artur Świgoń [Thu, 23 May 2024 11:22:31 +0000 (13:22 +0200)]
Use RadioButton role translation
Change-Id: I4b2bdba18b5d5beab02d4afce7c7d5577be515d8
Lukasz Oleksak [Thu, 23 May 2024 11:16:28 +0000 (11:16 +0000)]
Merge "app_tracker: fixed memory management in _on_atspi_event_cb" into tizen_7.0
Maria Bialota [Thu, 23 May 2024 10:43:46 +0000 (12:43 +0200)]
app_tracker: fixed memory management in _on_atspi_event_cb
Change-Id: Ia908eb4cdcc1ee5d60e641ac6925ed539566eb4e
EverLEEst(SangHyeon Lee) [Thu, 23 May 2024 10:28:19 +0000 (19:28 +0900)]
Update es_US po file.
Change-Id: I1773cdf174a4fd0f9b3a8197d8dfc8f4ecca5abf
Lukasz Oleksak [Thu, 16 May 2024 12:49:10 +0000 (14:49 +0200)]
Unify switching navigation context on TAP and on ATSPI event
Change-Id: I40b5060823b5622356dc2e4236644826103183bc
Lukasz Oleksak [Wed, 21 Dec 2022 13:28:31 +0000 (14:28 +0100)]
Do not cache window extents
Because:
a) in multi-window model window geometry may change so we need fresh one
b) so far extents were used to identify window at point x,y but we change to
resource_id for the purpose of window identification
Change-Id: I32fdf6aa5f4c5c2a4e27660754f0ba5945e0bb1b
Hosang Kim [Thu, 16 May 2024 10:51:39 +0000 (19:51 +0900)]
Set description speak delay to 0.
UX request that the delay between utterance of the main text and subtext was too long, the delay has been changed to 0.
Change-Id: Iaba593a603958aea4df1ec1df9de171434ced915
Hosang Kim [Thu, 16 May 2024 07:16:52 +0000 (16:16 +0900)]
Change volume type of feedback.
TTS using 'system' volume type, so changing sound feedback's volume type
to 'system'.
Change-Id: Ifb58aa300c27f0491b785f1933f8d2d8a44dae25
Seoyeon Kim [Tue, 7 May 2024 01:58:48 +0000 (10:58 +0900)]
[Tizen] Update translation for IDS_ST_MBODY_SCREEN_READER_HTTS key
- Currently, only English and Korean translations are updated for
IDS_ST_MBODY_SCREEN_READER_HTTS key.
- After getting all translations, need to change the
internationalization according to new UX guidelines.
- This patch is only for Tizen 7.0 now, but we could consider adding a
separate DA profile in the future.
Change-Id: Ie91363fee00617f28a77cc50c65263a234654bc9
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
Lukasz Oleksak [Tue, 10 Oct 2023 13:39:33 +0000 (15:39 +0200)]
Unification of accessible name composition
Change-Id: I679ef1f8b8f406e6ecccf84bfda167be8d8c1010
(cherry picked from commit
243fe8cb67761e4b2bd8009c7c8e1e1667715d0a)
Artur Świgoń [Tue, 12 Mar 2024 09:07:01 +0000 (10:07 +0100)]
Null-check app_get_resource_path()
The return value is passed as the first argument to g_strconcat(), which
expects a NULL-terminated argument list, but its documentation
explicitly states that the first argument must be non-NULL.
Change-Id: I2bfab7540fd0e717007399ed5e41fece644979e0
(cherry picked from commit
c71069943dc61d7332eefbca6a0b2d0fb8b53074)
Artur Świgoń [Tue, 5 Mar 2024 09:26:24 +0000 (10:26 +0100)]
Fix string length type as size_t
Change-Id: I77cc57d560ff8ac61a3a6bfa1e67efbed6850d09
(cherry picked from commit
0432aa335f44a271b053916e3840d28edc95fc1f)
Maria Bialota [Mon, 26 Feb 2024 13:14:15 +0000 (14:14 +0100)]
Setting null context when screen is off
Change-Id: Ibe6605a572e809427e15516b6e824e7abf2cec8e
Artur Świgoń [Thu, 9 Feb 2023 11:01:11 +0000 (12:01 +0100)]
Stop sending HighlightedObjectInfo in null context mode
When control is handed over to a non-atspi application (e.g. DALi on Tizen
6.0), the highlight stays on the old application (non-atspi apps are opaque
to Screen Reader and they use their own highlight). This may cause the old
app to keep sending org.tizen.GestureNavigation.HighlightedObjectInfo D-Bus
messages (in parallel to the non-atspi app, causing a race condition), which
in turn may cause the double-tap-and-hold gesture information to be sent
with wrong coordinates.
Change-Id: I5129dd5bc49edcaab29e8e76ccf1e5cd177fb306
Maria Bialota [Thu, 3 Nov 2022 16:28:32 +0000 (17:28 +0100)]
app_tracker: Fix to null context handling
App tracker root should set to null when switching to null context
Change-Id: I61f617c87b934b203148ac01197f801d2bdcb870
Artur Świgoń [Thu, 6 Oct 2022 09:06:37 +0000 (11:06 +0200)]
Do not try to consume gestures in null context mode
Screen Reader tries to perform the gesture on the special null context object
(currently, the desktop). The DoGesture call in such a case will always fail
(and count as not consumed), so there is no need to even attempt it.
Change-Id: I59f62b7dcb2235852a6960099091976ae79865e8
Artur Świgoń [Fri, 23 Sep 2022 10:47:50 +0000 (12:47 +0200)]
Support null context
Null context allows the Screen Reader to yield control to applications
whose existence it is not aware of, like ones using unknown toolkits.
The null context is not actually a NULL pointer, but a special desktop
object, because the code expects a non-NULL pointer in so many places.
Change-Id: I41901899a84315cc92507c09e8471195b721ede3
Hosang Kim [Mon, 26 Feb 2024 04:33:31 +0000 (13:33 +0900)]
Check display state before rebuild navigation context.
After screen off, there's still a sound of context switching.
Change-Id: I4f0b8540fa0e678e8323d27220b93b541554fc6e
Hosang Kim [Wed, 21 Feb 2024 09:22:44 +0000 (18:22 +0900)]
screen_reader: check NULL when g_object_ref/unref are called.
Sometimes g_boject_ref/unref are called with NULL object.
Change-Id: Ia9ca8b341fc78a9481f201f29d936bdb15100b07
Lukasz Oleksak [Tue, 20 Feb 2024 15:58:13 +0000 (16:58 +0100)]
Make notification reading nondiscardable
Change-Id: Ic3fa3d1130dab64fa1a85e960bd2be3b3be1c2c2
Lukasz Oleksak [Wed, 7 Feb 2024 15:20:45 +0000 (16:20 +0100)]
Make granularity feature optional
Change-Id: If358afacbdc427440201c3316503ccfae6749fa2
(cherry picked from commit
736656042decb72d49a708b6041ed679fc2d9c67)
Artur Świgoń [Thu, 8 Feb 2024 11:56:15 +0000 (12:56 +0100)]
Fix handling boolean VConf keys
Types 'bool' and 'int' are distinct in VConf, so boolean keys cannot be read
with vconf_get_int() etc. This patch adds the necessary APIs for 'bool',
alongside 'int' and 'str'.
Change-Id: Ib9b8db0848e6918a1f0bf880f32bf7cae7baf2bb
Chun [Wed, 31 Jan 2024 07:07:25 +0000 (07:07 +0000)]
Merge "Revert "Handle Quickpanel"" into tizen_7.0
Artur Świgoń [Tue, 30 Jan 2024 11:19:15 +0000 (12:19 +0100)]
window_tracker: Keep the D-Bus filter minimal
Do not re-enter D-Bus from inside the D-Bus filter.
Change-Id: Ib8f0757e295c0f7eb79dbce7e8cf930fbd43099c
Seoyeon Kim [Tue, 30 Jan 2024 07:04:47 +0000 (16:04 +0900)]
Revert "Handle Quickpanel"
This reverts commit
31f35ad8364e85f0c04d1a07060dfe762665f2b6.
- Remove the legacy code because DALi app started to support AT-SPI
from Tizen 7.0.
- Now, screen reader can handle the gestrue even on DALi apps.
Change-Id: Ie18ae6613022e891cb1d083ae19f63c100713638
Artur Świgoń [Thu, 4 Jan 2024 15:12:08 +0000 (16:12 +0100)]
Remember the last touch position for HighlightedObjectInfo
The previous calculation method was to always use the center point of a given
actor, regardless of the position of the touch event that caused it to be
focused. In the tricky scenario where a smaller actor is overlaid on top of a
bigger actor such that the smaller actor covers the center of the bigger actor,
a double-tap-and-hold gesture meant to activate the bigger actor would activate
the smaller actor instead.
The calculation method introduced by this patch is a little bit better, but
still not ideal. However, the HighlightedObjectInfo D-Bus method has only two
parameters, the coordinates, which are then routed back into the app as a touch
event, so there isn't much more that could be done to address this issue.
The logic is ported from: https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/288516/
Change-Id: Ia99d48bf1f952975cf55e79f5973fb45de5a306e
Artur Świgoń [Thu, 9 Nov 2023 15:41:42 +0000 (16:41 +0100)]
Fix memory management issues
Change-Id: Ic276eb376e9d5246c3f366c6c57449e47cfce840
Lukasz Oleksak [Tue, 25 Jul 2023 13:51:16 +0000 (15:51 +0200)]
[TV] Enable reading on accessible-name change of focused object
Change-Id: I300061fe1e66ac2e656e71e30616bd26394b5b04
Artur Świgoń [Fri, 21 Jul 2023 12:14:36 +0000 (14:14 +0200)]
Correct AtspiTable usage
Somewhat confusingly, atspi_table_cell_get_table() returns an
AtspiAccessible, not an AtspiTable. The AtspiAccessible can be
then passed to atspi_accessible_get_table_iface() to obtain an
AtspiTable. Also, due to the increased complexity, use `goto`
to clean up all objects at the end.
Change-Id: I912d6b1fc252a52c0d7c9f29c9376d3f036634a1
Artur Świgoń [Fri, 21 Jul 2023 11:56:37 +0000 (13:56 +0200)]
Add missing #include directives
This fixes the following warnings due to undeclared functions:
src/screen_reader_spi.c:183:6: warning: implicit declaration of function 'isupper' [-Wimplicit-function-declaration]
src/screen_reader_spi.c:185:24: warning: implicit declaration of function 'symbol_lookup' [-Wimplicit-function-declaration]
src/screen_reader_spi.c:185:22: warning: assignment to 'const gchar *' {aka 'const char *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
src/screen_reader_spi.c:236:23: warning: assignment to 'const gchar *' {aka 'const char *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
Change-Id: Ib403fd0ae7cc27861e651777e6ef639e56d1bcbb
Artur Świgoń [Fri, 21 Jul 2023 11:26:26 +0000 (13:26 +0200)]
Fix checking integer values by pointer
Change-Id: Iece746f0cce647510791e31f5ca446f0266c6eb0
Lukasz Oleksak [Fri, 26 May 2023 12:01:30 +0000 (14:01 +0200)]
Add reading of table cell position (row, column)
This patch adds reading of currently highlighted cell position in table
depending on position of previously highlighted cell. Following rules
apply inclusively:
* announce row if:
* table has changed (highlight moves from one table to another)
* row has changed (highlight moves from one row to another row)
* table cell has not changed (repeated highlight on the same cell)
* announce column if:
* table has changed (highlight moves from one table to another)
* column has changed (highlight moves from one column to another column)
* table cell has not changed (repeated highlight on the same cell)
Also, reading of the currently highlighted cell position in table may be
extended with optional reading of the characteristic of entire table
(table caption and total number of rows and columns).
Presence of this optional reading is controlled by vconf key:
"db/setting/accessibility/screen_reader/list_grid_information"
The same rules of announcing row and column apply to announcing total rows
and total columns.
Dependency:
https://review.tizen.org/gerrit/#/c/platform/upstream/at-spi2-core/+/293439/
Change-Id: I167c581a942a2416b51f3a52c146a739993a49bd
Lukasz Oleksak [Wed, 21 Jun 2023 09:54:31 +0000 (09:54 +0000)]
Merge "Force assertive politeness policy for highlighted/focused object" into tizen_7.0
Lukasz Oleksak [Wed, 21 Jun 2023 09:53:58 +0000 (09:53 +0000)]
Merge "Fix memory leak issue" into tizen_7.0
Lukasz Oleksak [Wed, 24 May 2023 15:08:32 +0000 (17:08 +0200)]
Force assertive politeness policy for highlighted/focused object
Change-Id: I1d15b32a2eeb5e12d7bec30a16e00ec6f24c74b7
(cherry picked from commit
08b660c329784d11adced2ab2c5e3fb21ecf22c8)
Seoyeon Kim [Fri, 28 Apr 2023 05:32:13 +0000 (14:32 +0900)]
Fix memory leak issue
- Add `wav_path` null check
Change-Id: I2ccf5fd7924130afb735dbfce7b1c456889410f6
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
(cherry picked from commit
8624f80e2aed178bd071bc4f1c976e55bdc76afe)
Lukasz Oleksak [Tue, 23 May 2023 10:16:55 +0000 (12:16 +0200)]
Add reading of usage hint for Slider and SpinButton
Change-Id: I87d7f7b1324d8122cffad8182c5ffb64b063860d
(cherry picked from commit
a8963078626f5add9ad06cba0132b5bf65ae7d03)
Lukasz Oleksak [Fri, 19 May 2023 15:41:10 +0000 (17:41 +0200)]
Enable reading of value carried by object with ATSPI_ROLE_SPIN_BUTTON as object's state
Change-Id: I2465f23b296db00719127606777bcdbe43e26aec
(cherry picked from commit
f8aab70b62ee12292bcb052951b5d01f8f5b0fc2)
Lukasz Oleksak [Wed, 17 May 2023 15:47:16 +0000 (17:47 +0200)]
Unification of handling value-change event
This patch changes:
* now in all cases when text to read is composed for value-change reading request
an reading info type customization for STATE reading is taken into consideration;
previously it was inconsistent
* now TV and Mobile versions use the same logic for handling value-change
reading request (except for the difference in testing if event's source object
is currently tracked object, for mobile HIGHLIGHTED state is checked since for TV
FOCUSED state is checked)
* limitation of handling value-change reading requests in mobile version
to role SLIDER and FILLER was removed, thans to that chage of page in pagination
UI control can be anounced by screen reader
* reading an accessible name for FILLER case was removed; since new general
mechanism for providing textual representation of current value is available
it should be used (see: https://review.tizen.org/gerrit/#/c/platform/core/accessibility/screen-reader/+/291276/)
Change-Id: I1a809f78332fc155474ee0fe82e83f74ccf9076a
(cherry picked from commit
dbc4c6061a0646279446c77d8ae50f8c648dd040)
Lukasz Oleksak [Wed, 10 May 2023 10:18:43 +0000 (12:18 +0200)]
[TV] Apply live region politeness attribute when handling value-changed event
This patch:
* extends applicability of "container-live" ATSPI attribute
(mapped from WAI-ARIA "aria-live") to case of handling value-change event
* changes default value of live region politeness attribute from "assertive"
to "off" for text-changed and value-changed events emitted from
not currently focused UI element
Change-Id: Iff20c8f9855cd19c5b00e59c1319253a15a1971d
Lukasz Oleksak [Thu, 27 Apr 2023 09:50:10 +0000 (11:50 +0200)]
Fix memory leak
Change-Id: I39edc1a78dd60b38c6dedd1c30824dd4a8bddb59
Lukasz Oleksak [Thu, 20 Apr 2023 10:32:44 +0000 (12:32 +0200)]
Improve reading on text-changed and caret-moved events in TV version
This patch introduces following features while handling text-changed and
caret-moved events:
* announce capital letters (e.g read "Capital C" for input text "C")
* announce symbols (e.g read "space" for input text " ")
* prevent reveal fragments or whole of the password text
Change-Id: I17e107c2f1adabf7c5bae734d0d580ac20e19776
(cherry picked from commit
05e4a2a75453479545c7a8abe190a2fcda12181c)
Lukasz Oleksak [Tue, 25 Apr 2023 08:05:42 +0000 (10:05 +0200)]
Fix potential null pointer dereference
Change-Id: I4198ee8622eabedeeaedff53dc57d218f10d8441
(cherry picked from commit
e6381ca0a544fa4ac692f4a8fbe9e5f642161888)
Lukasz Oleksak [Wed, 12 Apr 2023 15:08:40 +0000 (17:08 +0200)]
Customization of value reading
Change-Id: Ic89b14e514c4aea088da1a2e22698d0a2489087f
Lukasz Oleksak [Wed, 29 Mar 2023 10:50:33 +0000 (12:50 +0200)]
Use customized tts voice properties with priority over default platform settings
This change allows to controll following tts voice properties for reading
requests originated by screen-reader:
* language (NULL-auto, ANSI code of locale for supported language "ko_KR")
* voice type (0-auto, 1-male, 2-female, 3-child)
* speed (0-auto, 1-slow, ... , 15-fast)
Customized values are passed to screen-reader through vconf keys:
"db/setting/accessibility/screen_reader/tts_voice"
"db/setting/accessibility/screen_reader/tts_speed"
Note:
tts_voice key should contain ":" separated string concatenating language
and voice type like "ko_KR:2"
two above keys should be registered as internal vconf keys on the platform
Change-Id: I1de9f14228dffbcec85fcf584abc6d4cedd3057e
Lukasz Oleksak [Mon, 16 Jan 2023 11:47:34 +0000 (12:47 +0100)]
Disable default label when old context root object became new context current object
Change-Id: I8852a8c53181039b8a2c4a3be1a2373cfcdd0b14
Artur Świgoń [Fri, 13 Jan 2023 12:42:57 +0000 (13:42 +0100)]
flat_navi: Support returning directly to the old root
This functionality can be used with drop-down lists, where after dismissing
the list, navigation should resume at the drop-down button.
Change-Id: I067c6a5501e14ea1d46c3d1ab1f30fb1c355450f
Artur Świgoń [Thu, 12 Jan 2023 11:07:28 +0000 (12:07 +0100)]
flat_navi: Handle focus chain end in drop-down menu
This patch tries to detect the focus chain end scenario in a drop-down menu and
close the menu, before falling back to the default looping behaviour.
Change-Id: I0f9fb34825954349b6644a83e1c58e74ed3a3905
Artur Świgoń [Mon, 9 Jan 2023 15:43:06 +0000 (16:43 +0100)]
Some optimizations to spi_event_get_text_to_read()
These were originally included in the now-reverted patch
"Check active window in spi_event_get_text_to_read()"
(Ic0a65ed5cc77fb232eba1f50c66379c186ec4bd9).
Change-Id: I96ca0a19fed1ec2906699f72a5530ee5e48ef9c1
Artur Świgoń [Mon, 9 Jan 2023 15:31:04 +0000 (16:31 +0100)]
Revert "Check active window in spi_event_get_text_to_read()"
This reverts commit
5b9831e9abc2546204fa5a941603fc6efb9f566f.
Change-Id: I279b77399c3ac582bbd52ea38a1e023d68b1dd56
Artur Świgoń [Mon, 9 Jan 2023 15:31:02 +0000 (16:31 +0100)]
Revert "Extended check for being active window object"
This reverts commit
27ad6f0016c19962614b061c0af3aebc1aaec0d8.
Change-Id: Ib3ae2a4baa730aab3596aa15e918a0d0c81e1564
Artur Świgoń [Mon, 19 Dec 2022 17:30:59 +0000 (18:30 +0100)]
Remove signal handling code
The signal handler was problematic because it called non-signal-safe
functions (including stdio functions and backtrace_symbols() which calls
dynamic loader functions), causing undefined behaviour.
After removing the problematic functionality all that remained was a
signal handler that terminates the process with an error status code,
which is essentially equivalent to having no signal handler at all, so
all signal-related functionality was removed altogether.
--
https://man7.org/linux/man-pages/man7/signal-safety.7.html
Change-Id: Id669ba998cdb9f11e1c2443a79e8d8afb58beb75
(cherry picked from commit
1898ef75e6cc82ebf42126304efa5306009587c1)
Lukasz Oleksak [Mon, 12 Dec 2022 11:32:11 +0000 (12:32 +0100)]
Extended check for being active window object
This check enables dbus communication from TV screen reader not only with
object from the same process as active window but also with objects from
processes providing UIs embedded in active window.
This change aims to reduce chances of dbus calls from TV screen reader to background
processes that respond very slowly.
Change-Id: I0e1786d4cec4e619ec58eff273570cf5e8e2e89d
Artur Świgoń [Tue, 6 Dec 2022 13:27:00 +0000 (14:27 +0100)]
Check active window in spi_event_get_text_to_read()
This patch tries to prevent D-Bus communication with background
processes, which get very little CPU time and therefore may block
the Screen Reader for an unspecified amount of time.
Change-Id: Ic0a65ed5cc77fb232eba1f50c66379c186ec4bd9
(cherry picked from commit
5b9831e9abc2546204fa5a941603fc6efb9f566f)
Lukasz Oleksak [Thu, 10 Nov 2022 10:30:36 +0000 (11:30 +0100)]
Fix for toast popup reading
This patch allows a transient notification UI element (like toast popup)
to be read without inducing navigation context change. It requires,
the UI element to be given an ATSPI_ROLE_NOTIFICATION by application developer.
This is analogous case to the requirement of seting ATSPI_ROLE_TOGGLE_BUTTON role
for button using custom tizen theme style.
Change-Id: I373e6f700d28364967d256af280e33de34083b36
Artur Świgoń [Mon, 7 Nov 2022 10:26:27 +0000 (11:26 +0100)]
Remove unused variable
This removes a compilation warning -- which, at the time of writing
(2022-11-07), was the only one in this repository.
Change-Id: I7c0ebee64d002d57f7237236b8f45b48bed2f4e1
Artur Świgoń [Mon, 7 Nov 2022 10:09:17 +0000 (11:09 +0100)]
Fix memory leak
Change-Id: I0ae3be1dea0b433cf1ef7088fe913039dd22eae6
Chun [Wed, 2 Nov 2022 07:37:40 +0000 (07:37 +0000)]
Merge "Simplify string handling" into tizen_7.0
Chun [Wed, 2 Nov 2022 07:37:33 +0000 (07:37 +0000)]
Merge "Fixes use after free issue" into tizen_7.0
Artur Świgoń [Thu, 6 Oct 2022 12:09:57 +0000 (14:09 +0200)]
Simplify string handling
- Removed unnecessary operations.
- Migrated complex cases from constant-size buffers and g_strlcat()
to Eina_Strbuf and its methods.
- Redefined ESAL() as an inline function rather that a macro
(see comments in the code for rationale).
- Added ESAF() as shorthand for eina_strbuf_append_printf().
- Replaced the recurring idiom of stealing a char* from Eina_Strbuf
and freeing the buffer with eina_strbuf_release().
- Corrected char* to const char* in tw_speak() and tw_speak_customized()
signatures to indicate that the parameter is read-only and not freed
afterwards.
- Added tw_speak_and_free().
Change-Id: I95dbace34085df5fc2fd706abcf3c0367da4c42e
(cherry picked from commit
6d57eb05cc0391c7c5ab0fec9ed37edbd3ca4286)
Lukasz Oleksak [Thu, 6 Oct 2022 09:21:07 +0000 (11:21 +0200)]
Fixes use after free issue
Change-Id: Ia5431d0677988dea20a6ae92b1e6250e4de62420
(cherry picked from commit
1ff8762e459b6fc4a492ccc9822e08441df17682)
Lukasz Oleksak [Tue, 20 Sep 2022 12:41:53 +0000 (14:41 +0200)]
Limiting locking of display to completion time of last utterance
Change-Id: Icfabaad91ee4e365e3b31bae72fc3d42c7108c5c
(cherry picked from commit
3526fb5146c484111a68320eab7b34242d7ee486)
Maria Bialota [Fri, 21 Oct 2022 10:44:13 +0000 (12:44 +0200)]
granularity_read: type correction and optimization in _valid_character_check()
Corrected variable types and in _valid_character_check() function
and optimized number of strlen() calls in the function
Change-Id: I98dd720ea5d650bd5ffdec348cacfc04b1653423
(cherry picked from commit
64f63a98999e22641f1940c0d519af78ee1937c9)