Ł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
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
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
Youngsun Suh [Thu, 8 Aug 2024 08:22:51 +0000 (17:22 +0900)]
Remove unused _accept_object
Change-Id: If298a989d9a4dbeeec107f348d4a90799b45a6e3
Ł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)
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
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
EverLEEst(SangHyeon Lee) [Tue, 28 May 2024 10:16:52 +0000 (19:16 +0900)]
Add window locale role
Change-Id: I2c7e0c2dd48bdbcfbc90b63060385f329222d4d2
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
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)
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)
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
Youngsun Suh [Fri, 3 May 2024 01:44:28 +0000 (10:44 +0900)]
Make focus navigatable between windows.
Change-Id: Iafe27b170f4bb195c6e24b93ed8f3fadc9b4ab0e
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)
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
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
Artur Świgoń [Tue, 5 Mar 2024 09:26:24 +0000 (10:26 +0100)]
Fix string length type as size_t
Change-Id: I77cc57d560ff8ac61a3a6bfa1e67efbed6850d09
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
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)
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 [Wed, 7 Feb 2024 15:20:45 +0000 (16:20 +0100)]
Make granularity feature optional
Change-Id: If358afacbdc427440201c3316503ccfae6749fa2
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
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ń [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
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
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 [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
Lukasz Oleksak [Tue, 10 Oct 2023 13:39:33 +0000 (15:39 +0200)]
Unification of accessible name composition
Change-Id: I679ef1f8b8f406e6ecccf84bfda167be8d8c1010
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, 24 May 2023 15:08:32 +0000 (17:08 +0200)]
Force assertive politeness policy for highlighted/focused object
Change-Id: I1d15b32a2eeb5e12d7bec30a16e00ec6f24c74b7
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
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
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
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
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>
Lukasz Oleksak [Thu, 27 Apr 2023 09:50:10 +0000 (11:50 +0200)]
Fix memory leak
Change-Id: I39edc1a78dd60b38c6dedd1c30824dd4a8bddb59
Lukasz Oleksak [Tue, 25 Apr 2023 08:05:42 +0000 (10:05 +0200)]
Fix potential null pointer dereference
Change-Id: I4198ee8622eabedeeaedff53dc57d218f10d8441
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
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ń [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
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
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
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
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
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
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
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
Lukasz Oleksak [Thu, 6 Oct 2022 09:21:07 +0000 (11:21 +0200)]
Fixes use after free issue
Change-Id: Ia5431d0677988dea20a6ae92b1e6250e4de62420
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
Lukasz Oleksak [Wed, 14 Sep 2022 12:14:54 +0000 (14:14 +0200)]
In new UX reading of current value is part of state phrase
Change-Id: I3850bf57b6659a8886f43f6fc71cac52331aa37d
Artur Świgoń [Wed, 7 Sep 2022 11:32:05 +0000 (13:32 +0200)]
Do not read "Image" when highlighting a Gengrid item
Change-Id: I1f23c7b5a65fb0326ba541b4225905728d6301f3
Lukasz Oleksak [Wed, 7 Sep 2022 08:47:22 +0000 (10:47 +0200)]
Removal of description trait for hoversel, inwin and combobox
Change-Id: Ide2287050df7d4ac6e157bc9621c74c8f71487b9
Maria Bialota [Wed, 31 Aug 2022 17:23:11 +0000 (19:23 +0200)]
Changes to internationalization according to new UX guidelines
Change-Id: Ibb3578f5a8a7271af2d1880444344586f4675829
Artur Świgoń [Fri, 2 Sep 2022 12:25:41 +0000 (14:25 +0200)]
Correct g_strlcpy() & g_strlcat() usage
g_strlcpy() and g_strlcat() are either wrappers around system strlcpy()
and strlcat(), respectively, or GLib-provided replacements. Either way,
these functions take the whole buffer size as a parameter and take all
necessary care to copy at most (sizeof(buf) - strlen(buf) - 1) bytes and
NUL-terminate the output as well.
References:
- https://linux.die.net/man/3/strlcpy
- https://linux.die.net/man/3/strlcat
- https://docs.gtk.org/glib/func.strlcpy.html
- https://docs.gtk.org/glib/func.strlcat.html
Change-Id: I66de1f03ca84098ddc00975a7525148e1aada3a5
Artur Świgoń [Fri, 2 Sep 2022 12:38:16 +0000 (14:38 +0200)]
Remove unused variable
Change-Id: Ie020dae9397c76fee303ce5b0b8c308e07a78094
Lukasz Oleksak [Tue, 30 Aug 2022 16:13:30 +0000 (18:13 +0200)]
Allows recursive composition of state and role traits through the controlled objects
Change-Id: I2f3577dd906a927e88aa5623f8bbb3cdf98389f9
Lukasz Oleksak [Thu, 25 Aug 2022 13:32:12 +0000 (15:32 +0200)]
Introduce consistent method for composition of extended description
Change-Id: I8bc5411a90ef3cf2ed6051d806c83738ee9c7ec0
Lukasz Oleksak [Fri, 26 Aug 2022 13:16:07 +0000 (15:16 +0200)]
Joining slider percentage value with state trait
Change-Id: I108996af10c7bbc7111ec5cb5641deaae38c1e07
Maria Bialota [Fri, 26 Aug 2022 08:59:26 +0000 (10:59 +0200)]
Removed reading object name when checked state change
Change-Id: I05f84146fec648055fea00c672d04fc0ab8198fa
Lukasz Oleksak [Wed, 24 Aug 2022 17:12:03 +0000 (19:12 +0200)]
Unification of translation for key IDS_ACCS_BODY_DISABLED_TTS among variants of English language
Change-Id: Idcc7c3201296d2a891c3a9c3e102c3b0cd0dd9fc
Artur Świgoń [Fri, 12 Aug 2022 10:57:06 +0000 (12:57 +0200)]
Read COMBO_BOX role only as "Dropdown list"
Change-Id: I73ab66303c3b2bf545ef1399a98206416f27e796
Artur Świgoń [Fri, 12 Aug 2022 09:11:43 +0000 (11:11 +0200)]
Read "Editing" as state and not description
This is a UX change. "Edit field, (pause), editing"
becomes "Editing, edit field".
Change-Id: Ia6e9c2ff84a129d9b0be6eb933965598c28a3c88
Maria Bialota [Thu, 11 Aug 2022 17:41:05 +0000 (19:41 +0200)]
Modified reading description for slider according to new UX
Old UX: "Slider, $value%, Flick up and down to adjust the position"
New UX: "$value%, $name, slider".
Change-Id: I4f3ab5db39baab2b93fd5cdcad2ef71ac42cd044
Maria Bialota [Thu, 11 Aug 2022 16:41:29 +0000 (18:41 +0200)]
Removed omission of role reading for switch-type buttons
Also cleaned up redundant Slider role handling.
Change-Id: I8fed9de414b6960f890a66fa1ef28f87fffd084f
Maria Bialota [Thu, 11 Aug 2022 11:35:15 +0000 (13:35 +0200)]
Moved state information reading before the atspi object name
Change-Id: I757fec8c4e3025a2249f8b90d15fd55732427eb9
Artur Świgoń [Wed, 10 Aug 2022 12:47:23 +0000 (14:47 +0200)]
Handle HEADING role similarly to LIST_ITEM
The new UX mandates Genlist group items to be read as "Heading".
Change-Id: I1290a2164fc19783737ef34243ec1ead1399cc28
Artur Świgoń [Mon, 11 Jul 2022 09:17:00 +0000 (11:17 +0200)]
Add navigator_set_context_switch_cb
This callback allows to plug in a custom context_switch action. Also,
useless assignments in navigator_init are removed (calloc is used). The
legacy function _window_at_point_check is also removed.
Change-Id: I50106cc25a322c9ac60389936366a2ba38c864f0
Lukasz Oleksak [Mon, 27 Jun 2022 13:07:33 +0000 (15:07 +0200)]
Give chance to focus widget after accidentaly entered move slider mode
Change-Id: Icc24c4747212f993bcaca5a0af747c115b037eef
Shinwoo Kim [Tue, 24 May 2022 02:48:29 +0000 (11:48 +0900)]
Support multi window case
The screen-reader can launch when multi windows are showing.
In this case, the window in ACTIVE state is not enough.
This will work with following patch
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-adaptor/+/275412
*TODO: EFL application
Change-Id: I5a02f65ba8a906808043b5d3a4327c5e17e0c1fa
Shinwoo Kim [Fri, 20 May 2022 05:59:46 +0000 (14:59 +0900)]
Fix memory leak
This patch is removing memory leak detected by static analysis tool.
Change-Id: I1a4c94cd2314e5f9f6f3fd5e4b474b96bb2fc25d
Shinwoo Kim [Wed, 11 May 2022 03:14:28 +0000 (12:14 +0900)]
Use window resource id
We need to support multi window case.
Using window resource id would be more correct way to get window
under x, y position.
This will work well only with following patch.
https://review.tizen.org/gerrit/#/c/platform/core/uifw/e-mod-tizen-screen-reader/+/274553/
and patch of each toolkit providing window attribute "ResID".
Change-Id: I4bae851422858e2db76611d8c3e959ed657984a2
Shinwoo Kim [Fri, 29 Apr 2022 05:36:37 +0000 (14:36 +0900)]
window_tracker: remove window if bus name changed to NULL
The bus name changed to NULL means that the process of the bus name
has disappeared.
We need to handle this because a window could be removed without
"Deactivate", "Destry" signal.
Yes we have _purge_windows_list and check using _window_need_to_be_purged.
The _window_need_to_be_purged could find this kind of window though.
This could be more concrete solution.
Change-Id: I1810e92dc66fd9c956f3f97238373aca29ea66c0
Lukasz Oleksak [Mon, 2 May 2022 12:40:21 +0000 (14:40 +0200)]
Consume unique value identifying the window on which gesture took place in multi-window environment
Change-Id: Ie439499eb6f2e31958f5cbb6726ead013076c669
Lukasz Oleksak [Fri, 18 Feb 2022 09:18:50 +0000 (10:18 +0100)]
Read page index without a delay
Change-Id: I6e9cccacf7f68506343b0c175f14f9b280a28fe4
Lukasz Oleksak [Fri, 11 Feb 2022 11:24:04 +0000 (11:24 +0000)]
Merge "app_tracker: fix dereference of NULL" into tizen
Shinwoo Kim [Fri, 11 Feb 2022 06:32:46 +0000 (15:32 +0900)]
app_tracker: fix dereference of NULL
The atspi_accessible_get_parent can return NULL.
So this patch is removing the possibility of dereference of NULL.
Change-Id: Ie5e89d036afcca444f450bbd21ee07ee5839c85c
Shinwoo Kim [Mon, 24 Jan 2022 09:09:51 +0000 (18:09 +0900)]
app_tracker: use root if there is not default label object
The at-spi2-atk does not provide 'GetDefaultLabelInfo'.
The Flutter toolkit is working on the at-spi2-atk.
If Flutter window is activated, screen-reader is not working
with the Flutter window for the '1 finger swipe'.
The screen-reader is working with deactivated window.
It is because that 'on_timeout_rebuild_navigation_context'
does not call 'view_content_changed' which calls
'flat_navi_context_setup' changing context's root and current
So the context root is not changed.
The patch is calling 'view_content_changed' using
the Flutter windowk before the at-spi2-atk provides
'GetDefaultLabelInfo' interface.
Change-Id: Icf3a72a9203345857f1682706bfbc6320d0ca7b6
Shinwoo Kim [Tue, 18 Jan 2022 05:42:44 +0000 (14:42 +0900)]
app_tracker: set timer variable to NULL before return FALSE
First of all, it is the correct way to use of timer.
If a toolkit does not support the default label,
then it is not able to make an object have focus (highlight)
because app_tracker_context_valid_check in _focus_widget returns
APP_TRACKER_CONTEXT_NOT_VALID.
Change-Id: I6b2db7b8afd7598d63820121725ac11a22281be0
Shinwoo Kim [Thu, 16 Dec 2021 08:26:28 +0000 (17:26 +0900)]
[TV] do not use IsEnabled property
The TV NUI under the suppress screen reader mode does not need to send
ATSPI events for the screen-reader.
The TV EFL does not use screen-reader AT client for the Voice Guide.
The TV Web is enabling bridge based on VCONF or ScreenReaderEnabled.
So it is not necessary to use IsEnabled property.
This patch is to make NUI under the suppress screen reader mode
do NOT enable ATSPI bridge.
Change-Id: Idd4110336b6d8f48ebeb73387927105d93d7b742