platform/core/accessibility/screen-reader.git
9 days agoSuppress reading label role 42/325242/2 accepted/tizen_7.0_unified tizen_7.0 accepted/tizen/7.0/unified/20250605.140718
Youngsun Suh [Thu, 5 Jun 2025 06:41:43 +0000 (15:41 +0900)]
Suppress reading label role

Change-Id: I38b19708c7ca5753eb42b8ccaca52cad900d7b16

9 days agoReset read_timer on lang change 33/325233/1
Youngsun Suh [Thu, 5 Jun 2025 03:28:54 +0000 (12:28 +0900)]
Reset read_timer on lang change

Change-Id: I32c79c8df3b1669a8c7af8230007a3445a18cd8d

2 weeks agoPurge tts on lang change 39/324939/1 accepted/tizen/7.0/unified/20250530.072047
Youngsun Suh [Thu, 29 May 2025 04:49:08 +0000 (13:49 +0900)]
Purge tts on lang change

Change-Id: I8dc565f1b80847a897e979646306b96cf60d43a0

3 weeks agoFix perf regression when efl page_tab is showing 76/324576/1 accepted/tizen/7.0/unified/20250521.083035
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

7 weeks agoFix page_tab behavior on efl app 75/323275/1 accepted/tizen/7.0/unified/20250425.140008 accepted/tizen/7.0/unified/20250425.154816
Youngsun Suh [Fri, 25 Apr 2025 05:22:13 +0000 (14:22 +0900)]
Fix page_tab behavior on efl app

Change-Id: I2b67ac4b7bd69ccca0eba8f611fb6e91be88ee94

8 weeks agoAnnounce state if a button is expandable 23/322723/2 accepted/tizen/7.0/unified/20250422.050109
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

2 months agoUpdate PAGE_TAB to announce selected state 82/322382/1 accepted/tizen/7.0/unified/20250409.163102
Youngsun Suh [Tue, 8 Apr 2025 08:02:19 +0000 (17:02 +0900)]
Update PAGE_TAB to announce selected state

Change-Id: I6e9a122d34a50e4989a0982163e0286c03f30b19

2 months agoSay 'Selected' for selected items only 84/322084/1 accepted/tizen/7.0/unified/20250407.094336 accepted/tizen/7.0/unified/20250407.130744
Youngsun Suh [Mon, 31 Mar 2025 08:26:46 +0000 (17:26 +0900)]
Say 'Selected' for selected items only

Change-Id: I4727c0b9617f380752de92b889483092e7501341

2 months agoRemove unused screen-reader-ui 56/321856/2
Youngsun Suh [Mon, 31 Mar 2025 08:46:58 +0000 (17:46 +0900)]
Remove unused screen-reader-ui

Change-Id: I25a0e205ecc030fa73559b47f47011847a66db06

2 months agoUpdate to refresh tab on efl only 84/321684/2 accepted/tizen/7.0/unified/20250327.142214
Youngsun Suh [Thu, 27 Mar 2025 00:20:44 +0000 (09:20 +0900)]
Update to refresh tab on efl only

Change-Id: I9c9b98b98a0db86e485f9e7403ea3411bf7775f3

3 months agoStop init process if tts_create failed 00/320900/1
Youngsun Suh [Tue, 11 Mar 2025 00:25:27 +0000 (09:25 +0900)]
Stop init process if tts_create failed

Change-Id: I28d54b8fe3f92d618d770247f035fd52dd5ddd47

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

Change-Id: I978852d2297a6fdf85e13a1bc722e431ba887d4f

5 months agoFix keyboard removal logic in _window_remove 34/317334/3 accepted/tizen/7.0/unified/20250102.085414
Youngsun Suh [Tue, 31 Dec 2024 01:11:14 +0000 (10:11 +0900)]
Fix keyboard removal logic in _window_remove

Change-Id: I8a6322e62b3c9256b548a11bf925218582daacd1

6 months agoAdd null check on context switch 70/316170/1 accepted/tizen/7.0/unified/20241211.145241
Youngsun Suh [Wed, 11 Dec 2024 07:31:06 +0000 (16:31 +0900)]
Add null check on context switch

Change-Id: I7daa865948ce6e468d21898c1f45f2a9babd4dfa

6 months agoSet a window as active when added by state-change:visible 70/320570/1 accepted/tizen/7.0/unified/20241120.012114
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

7 months agoUpdate Symbol Lookup table for Circle, Square, and etc. 52/320152/1 accepted/tizen/7.0/unified/20241109.075250
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 agoAdd some symbol translations 06/319906/1 accepted/tizen/7.0/unified/20241105.163853
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>
8 months agoImplement circular inc/dec for SPIN_BUTTON role 52/318852/3 accepted/tizen/7.0/unified/20241011.075908
Youngsun Suh [Thu, 10 Oct 2024 03:00:49 +0000 (12:00 +0900)]
Implement circular inc/dec for SPIN_BUTTON role

Change-Id: I78ad8cf129cee00ef5f605d76916399300adbcbd

8 months agoPrevent context switing when unfocused window is added 59/318559/5
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

8 months agoRevert "Make focus navigatable between windows." 49/318149/1 accepted/tizen/7.0/unified/20240926.164947
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

9 months agoMerge "In multi-window model window should be removed from cache only when destroyed... accepted/tizen/7.0/unified/20240924.164236
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

9 months agoIn multi-window model window should be removed from cache only when destroyed 04/311504/2
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

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

Change-Id: Iafe27b170f4bb195c6e24b93ed8f3fadc9b4ab0e

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

Change-Id: Ifdd6629d174bf87528dd45237d40e3d9d1429317

9 months agoAdd support for increase,decrease action when value text is set 79/316779/1 accepted/tizen/7.0/unified/20240903.174541
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 agoAdd symbol support in direct reading 64/315264/3 accepted/tizen/7.0/unified/20240730.133916 accepted/tizen/7.0/unified/20240809.085638
Łukasz Oleksak [Mon, 29 Jul 2024 08:12:32 +0000 (10:12 +0200)]
Add symbol support in direct reading

Change-Id: I309f657d2a3a527d3eb95b136ce3000074479e4e

11 months agoUpdate translations for newly added keys 22/314022/2 accepted/tizen/7.0/unified/20240709.170959
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>
12 months agoUpdate translations to some languages 49/312449/4 accepted/tizen/7.0/unified/20240613.133451 accepted/tizen/7.0/unified/20240613.150059 accepted/tizen/7.0/unified/20240613.162048
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>
12 months agoMerge "Add ComboBox to potentially modal objects" into tizen_7.0 accepted/tizen/7.0/unified/20240607.172909
Lukasz Oleksak [Wed, 5 Jun 2024 13:17:56 +0000 (13:17 +0000)]
Merge "Add ComboBox to potentially modal objects" into tizen_7.0

12 months agoMerge "Extend changing translation to all version of english language" 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

12 months agoExtend changing translation to all version of english language 30/312130/1
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

12 months agoRevert "Add window locale role" 63/312063/1 accepted/tizen/7.0/unified/20240604.012307
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 ComboBox to potentially modal objects 98/311998/2
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

12 months agoPrevent calling _focus_widget when keyboard is on top 49/311949/3 accepted/tizen/7.0/unified/20240531.165100 accepted/tizen/7.0/unified/20240531.173005
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

12 months agoFocus to default_label after dispose keyboard 09/311909/3 accepted/tizen/7.0/unified/20240530.162726
Youngsun Suh [Thu, 30 May 2024 06:35:27 +0000 (15:35 +0900)]
Focus to default_label after dispose keyboard

Change-Id: I7eb5b645346a2950f273d6ac6499c706963d0c78

12 months agoSimplify window purging procedure 24/311824/2 accepted/tizen/7.0/unified/20240529.084009
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

12 months agoAdd window locale role 16/311816/1
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)

12 months agoUse RadioButton role translation 82/311682/1 accepted/tizen/7.0/unified/20240524.070637
Artur Świgoń [Thu, 23 May 2024 11:22:31 +0000 (13:22 +0200)]
Use RadioButton role translation

Change-Id: I4b2bdba18b5d5beab02d4afce7c7d5577be515d8

12 months agoMerge "app_tracker: fixed memory management in _on_atspi_event_cb" into tizen_7.0
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

12 months agoapp_tracker: fixed memory management in _on_atspi_event_cb 79/311679/2
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

12 months agoUpdate es_US po file. 78/311678/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 05/311405/2 accepted/tizen/7.0/unified/20240522.101253
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 agoDo not cache window extents 00/311400/3
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

12 months agoSet description speak delay to 0. 29/311229/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

12 months agoChange volume type of feedback. 16/311216/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

13 months ago[Tizen] Update translation for IDS_ST_MBODY_SCREEN_READER_HTTS key 96/310696/1 accepted/tizen/7.0/unified/20240509.120754
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>
14 months agoUnification of accessible name composition 64/308064/1 accepted/tizen/7.0/unified/20240322.042426
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)

15 months agoNull-check app_get_resource_path() 07/307707/1 accepted/tizen/7.0/unified/20240314.152318
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)

15 months agoFix string length type as size_t 47/307147/1
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)

15 months agoSetting null context when screen is off 20/306720/1 accepted/tizen/7.0/unified/20240227.085102
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 17/306717/2
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 16/306716/2
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 15/306715/2
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 14/306714/2
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. 79/306679/2
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 agoscreen_reader: check NULL when g_object_ref/unref are called. 32/306432/2 accepted/tizen/7.0/unified/20240222.070151 accepted/tizen/7.0/unified/20240223.161501
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

15 months agoMake notification reading nondiscardable 56/306356/1 submit/tizen_7.0/20240221.055407
Lukasz Oleksak [Tue, 20 Feb 2024 15:58:13 +0000 (16:58 +0100)]
Make notification reading nondiscardable

Change-Id: Ic3fa3d1130dab64fa1a85e960bd2be3b3be1c2c2

15 months agoMake granularity feature optional 26/305826/2 accepted/tizen/7.0/unified/20240219.160842
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)

16 months agoFix handling boolean VConf keys 34/305834/1 accepted/tizen/7.0/unified/20240214.013038
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 agoMerge "Revert "Handle Quickpanel"" into tizen_7.0 accepted/tizen/7.0/unified/20240201.013918
Chun [Wed, 31 Jan 2024 07:07:25 +0000 (07:07 +0000)]
Merge "Revert "Handle Quickpanel"" into tizen_7.0

16 months agowindow_tracker: Keep the D-Bus filter minimal 68/305268/1
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 agoRevert "Handle Quickpanel" 29/305229/1
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

17 months agoRemember the last touch position for HighlightedObjectInfo 76/303776/2 accepted/tizen/7.0/unified/20240129.164611
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 72/301472/1 accepted/tizen/7.0/unified/20231129.061628
Artur Świgoń [Thu, 9 Nov 2023 15:41:42 +0000 (16:41 +0100)]
Fix memory management issues

Change-Id: Ic276eb376e9d5246c3f366c6c57449e47cfce840

22 months ago[TV] Enable reading on accessible-name change of focused object 24/296324/1 accepted/tizen/7.0/unified/20230727.173912
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 04/296204/1 accepted/tizen/7.0/unified/20230726.165533
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 99/296199/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 97/296197/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) 83/294583/1
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

23 months agoMerge "Force assertive politeness policy for highlighted/focused object" into tizen_7.0
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

23 months agoMerge "Fix memory leak issue" 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

23 months agoForce assertive politeness policy for highlighted/focused object 79/294579/1
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)

23 months agoFix memory leak issue 78/294578/1
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)

23 months agoAdd reading of usage hint for Slider and SpinButton 76/294576/1
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)

2 years agoEnable reading of value carried by object with ATSPI_ROLE_SPIN_BUTTON as object's... 88/293188/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
(cherry picked from commit f8aab70b62ee12292bcb052951b5d01f8f5b0fc2)

2 years agoUnification of handling value-change event 87/293187/1
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)

2 years ago[TV] Apply live region politeness attribute when handling value-changed event 56/292756/1 accepted/tizen/7.0/unified/20230515.132828 accepted/tizen/7.0/unified/20230515.152732
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 55/292755/1
Lukasz Oleksak [Thu, 27 Apr 2023 09:50:10 +0000 (11:50 +0200)]
Fix memory leak

Change-Id: I39edc1a78dd60b38c6dedd1c30824dd4a8bddb59

2 years agoImprove reading on text-changed and caret-moved events in TV version 52/292752/1
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)

2 years agoFix potential null pointer dereference 25/292125/1
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)

2 years agoCustomization of value reading 84/291484/1 accepted/tizen/7.0/unified/20230424.135838 accepted/tizen/7.0/unified/20230428.015857
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 83/291483/1
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 45/287145/1 accepted/tizen/7.0/unified/20230127.151420
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 44/287144/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 43/287143/1
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() 65/286565/1 accepted/tizen/7.0/unified/20230111.015133
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()" 64/286564/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" 63/286563/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 agoRemove signal handling code 69/285869/1 accepted/tizen/7.0/unified/20221222.170911
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)

2 years agoExtended check for being active window object 68/285868/1
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() 67/285867/1
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)

2 years agoFix for toast popup reading 53/284453/1
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

2 years agoRemove unused variable 40/283940/1 accepted/tizen/7.0/unified/20221108.164943 accepted/tizen/7.0/unified/20221110.063059
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

2 years agoFix memory leak 39/283939/1
Artur Świgoń [Mon, 7 Nov 2022 10:09:17 +0000 (11:09 +0100)]
Fix memory leak

Change-Id: I0ae3be1dea0b433cf1ef7088fe913039dd22eae6

2 years agoMerge "Simplify string handling" into tizen_7.0 accepted/tizen/7.0/unified/20221105.102650
Chun [Wed, 2 Nov 2022 07:37:40 +0000 (07:37 +0000)]
Merge "Simplify string handling" into tizen_7.0

2 years agoMerge "Fixes use after free issue" 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

2 years agoSimplify string handling 24/283724/1
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)

2 years agoFixes use after free issue 23/283723/1
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)

2 years agoLimiting locking of display to completion time of last utterance 22/283722/1
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)

2 years agogranularity_read: type correction and optimization in _valid_character_check() 92/283492/1
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)