platform/core/accessibility/screen-reader.git
4 months agoMerge "Fix keyboard removal logic in _window_remove" into tizen accepted/tizen_unified_x_asan accepted/tizen/unified/20250115.124146 accepted/tizen/unified/x/20250115.142725 accepted/tizen/unified/x/asan/20250211.003441
sunghyun kim [Tue, 14 Jan 2025 01:35:09 +0000 (01:35 +0000)]
Merge "Fix keyboard removal logic in _window_remove" into tizen

4 months agoMerge "Set a window as active when added by state-change:visible" into tizen
sunghyun kim [Tue, 14 Jan 2025 01:34:58 +0000 (01:34 +0000)]
Merge "Set a window as active when added by state-change:visible" into tizen

4 months agoMerge "Implement circular inc/dec for SPIN_BUTTON role" into tizen
sunghyun kim [Tue, 14 Jan 2025 01:34:49 +0000 (01:34 +0000)]
Merge "Implement circular inc/dec for SPIN_BUTTON role" into tizen

5 months agoFix keyboard removal logic in _window_remove 67/318067/1
Youngsun Suh [Tue, 31 Dec 2024 01:11:14 +0000 (10:11 +0900)]
Fix keyboard removal logic in _window_remove

Change-Id: I8a6322e62b3c9256b548a11bf925218582daacd1
(cherry picked from commit eddb05c76808da23d24cf5aebfdfabff84ff58de)

5 months agoSet a window as active when added by state-change:visible 66/318066/1
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

5 months agoPrevent context switing when unfocused window is added 63/318063/2
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

5 months agoImplement circular inc/dec for SPIN_BUTTON role 65/318065/1
Youngsun Suh [Thu, 10 Oct 2024 03:00:49 +0000 (12:00 +0900)]
Implement circular inc/dec for SPIN_BUTTON role

Change-Id: I78ad8cf129cee00ef5f605d76916399300adbcbd

5 months agoMerge "Update translation for IDS_ST_MBODY_SCREEN_READER_HTTS key" into tizen accepted/tizen/unified/20250114.104259 accepted/tizen/unified/x/20250114.211227
Youngsun Suh [Wed, 8 Jan 2025 02:42:45 +0000 (02:42 +0000)]
Merge "Update translation for IDS_ST_MBODY_SCREEN_READER_HTTS key" into tizen

5 months agoMerge "Simplify window purging procedure" into tizen
Youngsun Suh [Wed, 8 Jan 2025 02:40:49 +0000 (02:40 +0000)]
Merge "Simplify window purging procedure" into tizen

5 months agoMerge "Focus to default_label after dispose keyboard" into tizen
Youngsun Suh [Wed, 8 Jan 2025 02:40:24 +0000 (02:40 +0000)]
Merge "Focus to default_label after dispose keyboard" into tizen

5 months agoMerge "Prevent calling _focus_widget when keyboard is on top" into tizen
Youngsun Suh [Wed, 8 Jan 2025 02:40:03 +0000 (02:40 +0000)]
Merge "Prevent calling _focus_widget when keyboard is on top" into tizen

5 months agoMerge "Extend changing translation to all version of english language" into tizen
Youngsun Suh [Wed, 8 Jan 2025 02:39:46 +0000 (02:39 +0000)]
Merge "Extend changing translation to all version of english language" into tizen

5 months agoMerge "Add ComboBox to potentially modal objects" into tizen
Youngsun Suh [Wed, 8 Jan 2025 02:38:39 +0000 (02:38 +0000)]
Merge "Add ComboBox to potentially modal objects" into tizen

5 months agoMerge "Reduce the delay before start switching context" into tizen
Youngsun Suh [Wed, 8 Jan 2025 02:38:03 +0000 (02:38 +0000)]
Merge "Reduce the delay before start switching context" into tizen

5 months agoReduce the delay before start switching context 25/317725/1
Youngsun Suh [Thu, 12 Sep 2024 08:32:42 +0000 (17:32 +0900)]
Reduce the delay before start switching context

Change-Id: Ifdd6629d174bf87528dd45237d40e3d9d1429317

5 months agoAdd ComboBox to potentially modal objects 24/317724/1
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

5 months agoExtend changing translation to all version of english language 23/317723/1 accepted/tizen/unified/20250113.094357 accepted/tizen/unified/x/20250113.143103
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

5 months agoPrevent calling _focus_widget when keyboard is on top 22/317722/1
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

5 months agoFocus to default_label after dispose keyboard 21/317721/1
Youngsun Suh [Thu, 30 May 2024 06:35:27 +0000 (15:35 +0900)]
Focus to default_label after dispose keyboard

Change-Id: I7eb5b645346a2950f273d6ac6499c706963d0c78

5 months agoSimplify window purging procedure 20/317720/1
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

5 months agoSet description speak delay to 0 05/317705/1
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

5 months agoUpdate translation for IDS_ST_MBODY_SCREEN_READER_HTTS key 03/317703/1
Seoyeon Kim [Tue, 7 May 2024 01:58:48 +0000 (10:58 +0900)]
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>
5 months ago[SVACE] Add to check NULL value of `tw_get_instance()` 15/317615/2 accepted/tizen/unified/20250107.061434 accepted/tizen/unified/x/20250107.111421 accepted/tizen/unified/x/asan/20250113.002114
Seoyeon Kim [Mon, 6 Jan 2025 03:03:27 +0000 (12:03 +0900)]
[SVACE] Add to check NULL value of `tw_get_instance()`

Change-Id: I92902010db993749d14556dacabc9577791d55dd
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
5 months agoRevert "Make focus navigatable between windows." 45/317545/1
Youngsun Suh [Fri, 3 Jan 2025 06:52:21 +0000 (15:52 +0900)]
Revert "Make focus navigatable between windows."

This reverts commit a04b90495e53aeef377a9507687b448b19f4b319.

Change-Id: I48b0cb8c8780ebb78db6884cdf595ac9b2dd59a4

5 months agoRemove unused features 63/317363/1
Youngsun Suh [Tue, 31 Dec 2024 06:38:43 +0000 (15:38 +0900)]
Remove unused features

Change-Id: I978852d2297a6fdf85e13a1bc722e431ba887d4f

5 months agoAdd failure checks on init procedure 79/317079/2
Youngsun Suh [Tue, 24 Dec 2024 02:23:38 +0000 (11:23 +0900)]
Add failure checks on init procedure

Change-Id: I27b5673c6bbff789df9eb81ab2aacf41fa11fc1d

6 months agoAdd null check on context switch 77/316177/1
Youngsun Suh [Wed, 11 Dec 2024 07:31:06 +0000 (16:31 +0900)]
Add null check on context switch

Change-Id: I7daa865948ce6e468d21898c1f45f2a9babd4dfa

6 months agoMerge "Update Symbol Lookup table for Circle, Square, and etc." into tizen accepted/tizen/unified/20241127.050259 accepted/tizen/unified/x/20241218.032713 accepted/tizen/unified/x/asan/20241224.004438
sunghyun kim [Thu, 14 Nov 2024 07:55:13 +0000 (07:55 +0000)]
Merge "Update Symbol Lookup table for Circle, Square, and etc." into tizen

6 months agoMerge "Update translations to some languages" into tizen
sunghyun kim [Thu, 14 Nov 2024 07:55:07 +0000 (07:55 +0000)]
Merge "Update translations to some languages" into tizen

6 months agoMerge "Add some symbol translations" into tizen
sunghyun kim [Thu, 14 Nov 2024 07:55:02 +0000 (07:55 +0000)]
Merge "Add some symbol translations" into tizen

6 months agoMerge "Update translations for newly added keys" into tizen
sunghyun kim [Thu, 14 Nov 2024 07:54:55 +0000 (07:54 +0000)]
Merge "Update translations for newly added keys" into tizen

7 months agoUpdate Symbol Lookup table for Circle, Square, and etc. 54/320154/1
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>
7 months agotts: Increase log priority from Debug to Info 72/320072/1
Artur Świgoń [Thu, 7 Nov 2024 09:59:37 +0000 (10:59 +0100)]
tts: Increase log priority from Debug to Info

The Debug logs are filtered out in some configurations, in which case TTS bugs
are incorrectly classified as Screen Reader bugs. Thus, it would be advisable
to increase the log priority of the screen_reader_tts module from Debug to
Info, in order to always be able to verify what Screen Reader sends to the TTS
engine (in case there is no audible TTS output). The log priorities in other
Screen Reader modules can be kept unmodified for now.

Change-Id: I65f0e7bcfa73e8c0052df2d30e60abfb6c23294d

7 months agoUpdate translations to some languages 07/319907/1
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>
7 months agoAdd some symbol translations 87/319887/2
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>
7 months agoUpdate translations for newly added keys 05/319905/1
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>
8 months agoflat_navi: Improve reference counting 37/318637/1
Artur Świgoń [Fri, 4 Oct 2024 08:10:27 +0000 (10:10 +0200)]
flat_navi: Improve reference counting

Change-Id: Ib906fb81df409f8deb0facf5c95d209e1b6acced

8 months agoSkip reading role ATSPI_ROLE_SECTION only for chromium originated accessible objects 11/318411/5 accepted/tizen_unified_toolchain accepted/tizen/9.0/unified/20241030.235530 accepted/tizen/unified/20241014.162116 accepted/tizen/unified/toolchain/20241022.122523 accepted/tizen/unified/toolchain/20241022.122945 accepted/tizen/unified/x/20241015.015419 accepted/tizen/unified/x/asan/20241022.113510 tizen_9.0_m2_release
Łukasz Oleksak [Fri, 27 Sep 2024 12:24:49 +0000 (14:24 +0200)]
Skip reading role ATSPI_ROLE_SECTION only for chromium originated accessible objects

Change-Id: I6ccc5bbb9e869e6a7014d571803363c275a3b8b6

9 months agoMerge "Add support for increase,decrease action when value text is set" into tizen accepted/tizen_unified_dev accepted/tizen/unified/20240902.161340 accepted/tizen/unified/dev/20240903.220402 accepted/tizen/unified/toolchain/20241004.101752 accepted/tizen/unified/x/20240903.023159 accepted/tizen/unified/x/asan/20241014.000124
Youngsun Suh [Mon, 19 Aug 2024 22:59:59 +0000 (22:59 +0000)]
Merge "Add support for increase,decrease action when value text is set" into tizen

9 months agoAdd support for increase,decrease action when value text is set 02/316202/2
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

10 months agoRemove unused _accept_object 64/315864/1
Youngsun Suh [Thu, 8 Aug 2024 08:22:51 +0000 (17:22 +0900)]
Remove unused _accept_object

Change-Id: If298a989d9a4dbeeec107f348d4a90799b45a6e3

10 months agoAdd symbol support in direct reading 78/315278/1 accepted/tizen/unified/20240731.010759 accepted/tizen/unified/dev/20240731.044718 accepted/tizen/unified/toolchain/20240812.133021 accepted/tizen/unified/x/20240731.090029 accepted/tizen/unified/x/asan/20240813.231309
Łukasz Oleksak [Mon, 29 Jul 2024 08:12:32 +0000 (10:12 +0200)]
Add symbol support in direct reading

Change-Id: I309f657d2a3a527d3eb95b136ce3000074479e4e
(cherry picked from commit a81d7e839cce52f0913b832d97f48282abdaac1d)

11 months agoSupports the migration script for OS upgrade 49/314049/1 accepted/tizen/unified/20240708.103306 accepted/tizen/unified/dev/20240709.043408 accepted/tizen/unified/x/20240708.080635
Wonsik Jung [Thu, 4 Jul 2024 07:55:32 +0000 (16:55 +0900)]
Supports the migration script for OS upgrade

Supports the migration script for OS upgrade in Tizen TV

Change-Id: I309f3ca611c3d193890d8bf3986a588cec38b733

12 months agoRevert "Add window locale role" 62/312062/1 accepted/tizen/unified/20240604.160902 accepted/tizen/unified/dev/20240620.003416 accepted/tizen/unified/toolchain/20240624.121450 accepted/tizen/unified/x/20240605.012743 accepted/tizen/unified/x/asan/20240625.092501
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

12 months agoAdd window locale role 15/311815/4
EverLEEst(SangHyeon Lee) [Tue, 28 May 2024 10:16:52 +0000 (19:16 +0900)]
Add window locale role

Change-Id: I2c7e0c2dd48bdbcfbc90b63060385f329222d4d2

12 months agoMerge "app_tracker: fixed memory management in _on_atspi_event_cb" into tizen
Lukasz Oleksak [Thu, 23 May 2024 13:06:33 +0000 (13:06 +0000)]
Merge "app_tracker: fixed memory management in _on_atspi_event_cb" into tizen

12 months agoapp_tracker: fixed memory management in _on_atspi_event_cb 85/311685/1
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
(cherry picked from commit 112bd50320e0f1b010f635d8efcedc018766f6c4)

12 months agoUse RadioButton role translation 84/311684/1
Artur Świgoń [Thu, 23 May 2024 11:22:31 +0000 (13:22 +0200)]
Use RadioButton role translation

Change-Id: I4b2bdba18b5d5beab02d4afce7c7d5577be515d8
(cherry picked from commit f1a0e65e40922a2cd11e20629f2aeb87543df93d)

12 months agoUpdate es_US po file. 77/311677/1
EverLEEst(SangHyeon Lee) [Thu, 23 May 2024 10:28:19 +0000 (19:28 +0900)]
Update es_US po file.

Change-Id: I1773cdf174a4fd0f9b3a8197d8dfc8f4ecca5abf

12 months agoUnify switching navigation context on TAP and on ATSPI event 33/311233/8
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

12 months agoMake focus navigatable between windows. 29/310929/10
Youngsun Suh [Fri, 3 May 2024 01:44:28 +0000 (10:44 +0900)]
Make focus navigatable between windows.

Change-Id: Iafe27b170f4bb195c6e24b93ed8f3fadc9b4ab0e

12 months agoChange volume type of feedback. 27/311227/1
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
(cherry picked from commit 65410b938002578b694ce32bfa35f5d8ba347fa0)

13 months agoIn multi-window model window should be removed from cache only when destroyed 55/310955/1
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

15 months agoNull-check app_get_resource_path() 05/307705/1 accepted/tizen/unified/20240313.134548 accepted/tizen/unified/20240313.135621 accepted/tizen/unified/x/20240314.073305
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

15 months agoFix string length type as size_t 42/307142/2
Artur Świgoń [Tue, 5 Mar 2024 09:26:24 +0000 (10:26 +0100)]
Fix string length type as size_t

Change-Id: I77cc57d560ff8ac61a3a6bfa1e67efbed6850d09

15 months agoSetting null context when screen is off 32/306732/1 accepted/tizen/unified/20240227.120129 accepted/tizen/unified/toolchain/20240311.065036 accepted/tizen/unified/x/20240228.011945
Maria Bialota [Mon, 26 Feb 2024 13:14:15 +0000 (14:14 +0100)]
Setting null context when screen is off

Change-Id: Ibe6605a572e809427e15516b6e824e7abf2cec8e

15 months agoStop sending HighlightedObjectInfo in null context mode 31/306731/1
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

15 months agoapp_tracker: Fix to null context handling 30/306730/1
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

15 months agoDo not try to consume gestures in null context mode 29/306729/1
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

15 months agoSupport null context 28/306728/1
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

15 months agoCheck display state before rebuild navigation context. 27/306727/1
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

15 months agoMake notification reading nondiscardable 26/306526/1
Lukasz Oleksak [Tue, 20 Feb 2024 15:58:13 +0000 (16:58 +0100)]
Make notification reading nondiscardable

Change-Id: Ic3fa3d1130dab64fa1a85e960bd2be3b3be1c2c2
(cherry picked from commit 145157e5e4cefd19fbd1fbb645e2635b87111929)

15 months agoscreen_reader: check NULL when g_object_ref/unref are called. 20/306520/1
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

16 months agoMake granularity feature optional 75/305775/4 accepted/tizen/unified/20240219.160446 accepted/tizen/unified/x/20240220.150009
Lukasz Oleksak [Wed, 7 Feb 2024 15:20:45 +0000 (16:20 +0100)]
Make granularity feature optional

Change-Id: If358afacbdc427440201c3316503ccfae6749fa2

16 months agoFix handling boolean VConf keys 31/305831/2
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

16 months agoRevert "Handle Quickpanel" 00/305400/1 accepted/tizen/unified/20240206.161751 accepted/tizen/unified/x/20240207.075814
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

16 months agowindow_tracker: Keep the D-Bus filter minimal 67/305267/1 accepted/tizen/unified/20240202.170014 accepted/tizen/unified/x/20240205.063922
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

16 months agoAdd -fno-omit-frame-pointer 20/304620/4 accepted/tizen/unified/20240124.163227
Artur Świgoń [Mon, 22 Jan 2024 09:41:18 +0000 (10:41 +0100)]
Add -fno-omit-frame-pointer

This option has a negligible performance impact but it gives an
opportunity to produce more meaningful stacktraces.

Change-Id: I2f1fbce233dc60c3c9db20c5254f78ab3d237c6d

17 months agoRemember the last touch position for HighlightedObjectInfo 71/303771/1
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

18 months agoFix memory management issues 52/301152/4 accepted/tizen/unified/20231121.180408
Artur Świgoń [Thu, 9 Nov 2023 15:41:42 +0000 (16:41 +0100)]
Fix memory management issues

Change-Id: Ic276eb376e9d5246c3f366c6c57449e47cfce840

20 months ago[TV] make the handler of state-changed:checked event aware of live-region politeness 51/299951/1 accepted/tizen/unified/20231013.095119 accepted/tizen/unified/20231016.042334
Lukasz Oleksak [Thu, 12 Oct 2023 14:57:39 +0000 (16:57 +0200)]
[TV] make the handler of state-changed:checked event aware of live-region politeness

Change-Id: Ia045ddf5c80662b84db1b3dbce8be97df9f364b8

20 months agoUnification of accessible name composition 20/299820/3
Lukasz Oleksak [Tue, 10 Oct 2023 13:39:33 +0000 (15:39 +0200)]
Unification of accessible name composition

Change-Id: I679ef1f8b8f406e6ecccf84bfda167be8d8c1010

22 months ago[TV] Enable reading on accessible-name change of focused object 23/296323/1 accepted/tizen/8.0/unified/20231005.092545 accepted/tizen/unified/20230727.173050 tizen_8.0_m2_release
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

22 months agoCorrect AtspiTable usage 03/296203/1 accepted/tizen/unified/20230725.013004
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

22 months agoAdd missing #include directives 98/296198/1
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

22 months agoFix checking integer values by pointer 96/296196/1
Artur Świgoń [Fri, 21 Jul 2023 11:26:26 +0000 (13:26 +0200)]
Fix checking integer values by pointer

Change-Id: Iece746f0cce647510791e31f5ca446f0266c6eb0

23 months agoAdd reading of table cell position (row, column) 38/293438/10 accepted/tizen/unified/20230703.093331
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

2 years agoForce assertive politeness policy for highlighted/focused object 43/293343/1 accepted/tizen/unified/20230613.170821
Lukasz Oleksak [Wed, 24 May 2023 15:08:32 +0000 (17:08 +0200)]
Force assertive politeness policy for highlighted/focused object

Change-Id: I1d15b32a2eeb5e12d7bec30a16e00ec6f24c74b7

2 years agoAdd reading of usage hint for Slider and SpinButton 73/293273/2
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

2 years agoEnable reading of value carried by object with ATSPI_ROLE_SPIN_BUTTON as object's... 08/293108/1
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

2 years agoUnification of handling value-change event 57/292957/5
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

2 years ago[TV] Apply live region politeness attribute when handling value-changed event 37/292637/4
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

2 years agoFix memory leak issue 58/292158/2 accepted/tizen/unified/20230528.171011
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>
2 years agoFix memory leak 23/292123/1 accepted/tizen/unified/20230428.155122
Lukasz Oleksak [Thu, 27 Apr 2023 09:50:10 +0000 (11:50 +0200)]
Fix memory leak

Change-Id: I39edc1a78dd60b38c6dedd1c30824dd4a8bddb59

2 years agoFix potential null pointer dereference 36/291936/1 accepted/tizen/unified/20230425.175900
Lukasz Oleksak [Tue, 25 Apr 2023 08:05:42 +0000 (10:05 +0200)]
Fix potential null pointer dereference

Change-Id: I4198ee8622eabedeeaedff53dc57d218f10d8441

2 years agoImprove reading on text-changed and caret-moved events in TV version 02/291702/10
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

2 years agoCustomization of value reading 76/291276/3 accepted/tizen/unified/20230421.103349
Lukasz Oleksak [Wed, 12 Apr 2023 15:08:40 +0000 (17:08 +0200)]
Customization of value reading

Change-Id: Ic89b14e514c4aea088da1a2e22698d0a2489087f

2 years agoUse customized tts voice properties with priority over default platform settings 14/290614/16
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

2 years agoDisable default label when old context root object became new context current object 05/286905/2 accepted/tizen/unified/20230127.161116
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

2 years agoflat_navi: Support returning directly to the old root 45/286845/1
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

2 years agoflat_navi: Handle focus chain end in drop-down menu 64/286764/3
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

2 years agoSome optimizations to spi_event_get_text_to_read() 55/286555/1 accepted/tizen/unified/20230110.164135
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

2 years agoRevert "Check active window in spi_event_get_text_to_read()" 54/286554/1
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

2 years agoRevert "Extended check for being active window object" 53/286553/1
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

2 years agoMove _window_extents_get() to utils 43/285943/5 accepted/tizen/unified/20221227.170636
Artur Świgoń [Thu, 22 Dec 2022 15:35:05 +0000 (16:35 +0100)]
Move _window_extents_get() to utils

There are a few usages of atspi_accessible_get_component_iface() and
atspi_component_get_extents(), followed by error checking and freeing the
resources, that can all be replaced by a call to object_get_extents()
(previously known as _window_extents_get()).

Change-Id: I38952ccf5868e3e99fc1b9227c3772e5c2c382ee

2 years agoPerform synchronization of local cache of window information also on window:destroy... 35/274435/3
Lukasz Oleksak [Thu, 28 Apr 2022 08:32:05 +0000 (10:32 +0200)]
Perform synchronization of local cache of window information also on window:destroy event

Change-Id: I315a230ec28465763143e6238d89b497218ff495

2 years agoDo not cache window extents 62/285862/8
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

2 years agoRemove signal handling code 55/285755/4 accepted/tizen/unified/20221221.165307
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

2 years agoExtended check for being active window object 25/285425/4
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

2 years agoCheck active window in spi_event_get_text_to_read() 27/285127/9
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