-
Notifications
You must be signed in to change notification settings - Fork 527
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Talkback shouldn't read double tap to activate for the labels that are not clickable #4790
Comments
Ah, is this just specific to the title part of the nav bar @KolliAnitha? I'm not sure why that's marked as clickable since you're correct in that it doesn't do anything. This might have to do with text marqueeing. |
@BenHenning, For Topic: title, Chapter title talkback reads double tap to activate but they are not performing any action. |
Got it. Thanks for clarifying @KolliAnitha. In this case, I think we should look into why such toolbars are not clickable and see if we can disable it to avoid the confusion. |
Hi @BenHenning, in the code there is a listener added to the entire toolbar which causes this issue. And the only thing this listener does is set the title.isSelected to true. I didn't see anywhere else use this listener to do something and by removing this listener the app works fine. Should I go ahead to remove the listener? |
Hi @BenHenning, I think that listener is served for the marquee effect. As it is designed when tapping the topic, the marquee effect will happen once, therefore the listener and "double tap to activate" will be there. However, a minor bug here will be that the effect is triggered by textview.isSelected=true in the listener, but we never set it back to false. So if there is a long title, users only have one chance to see the entire title as they enter the activity/fragment. The marquee will only be triggered again if they go back and reenter. |
The reason why it is clickable is as follows:
|
From my own investigation into the issue, there's not really much we can do to override the "double tap to activate" announcement. This is controlled by device-side VERBOSITY settings, and it is recommended that as developers we should not remove these, as users need them to understand the app. If the user sets the Verbosity to "Low" in |
Can we disable marquee when an accessibility manager is active? That seems like the ideal approach since a marquee effect is likely to not be very helpful, anyway, and the readout will probably be more useful. |
Thanks Ben for the suggestion, I will look into it. |
# Conflicts: # app/src/main/java/org/oppia/android/app/topic/TopicFragmentPresenter.kt
…ppia#4790 � Conflicts: � app/src/main/java/org/oppia/android/app/player/exploration/ExplorationActivityPresenter.kt
@adhiamboperes this is marked as blocked, but the blocked columns aren't filled in--could you clarify what this is blocked on? |
…ppia#4790 � Conflicts: � app/src/main/java/org/oppia/android/app/player/exploration/ExplorationActivityPresenter.kt
Fix #4790 For toolbars that have marquee effects, add additional checks so that the effect will only be enabled when the accessibility service is not on. Also updated the existing test for the marquee effect. The test now checks if the effect is set and activated correctly depending on the accessibility service status. Update the test setting to ensure that test behavior is correctly simulated. <!-- READ ME FIRST: Please fill in the explanation section below and check off every point from the Essential Checklist! --> ## Explanation Whenever users use vocal assisting tools such as talkback, the accessibility service we inject in the field will be enabled. We will choose either to use a marquee effect for visual display, or just pure vocal display when the user enables the service. For a toolbar that doesn't have an individual view for the toolbar title, setting 'onNavgation..listener' will make the whole toolbar clickable, and talkback will read "double click.."- While we want to keep the navigation function, we can use getChildAt(0) to set the listener to just the nav icon. <!-- - Explain what your PR does. If this PR fixes an existing bug, please include - "Fixes #bugnum:" in the explanation so that GitHub can auto-close the issue - when this PR is merged. --> ## Essential Checklist <!-- Please tick the relevant boxes by putting an "x" in them. --> - [x] The PR title and explanation each start with "Fix #bugnum: " (If this PR fixes part of an issue, prefix the title with "Fix part of #bugnum: ...".) - [x] Any changes to [scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets) files have their rationale included in the PR explanation. - [x] The PR follows the [style guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide). - [x] The PR does not contain any unnecessary code changes from Android Studio ([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)). - [x] The PR is made from a branch that's **not** called "develop" and is up-to-date with "develop". - [x] The PR is **assigned** to the appropriate reviewers ([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)). ## For UI-specific PRs only <!-- Delete these section if this PR does not include UI-related changes. --> - Add a video showing the full UX flow with a screen reader enabled (see [accessibility guide](https://github.com/oppia/oppia-android/wiki/Accessibility-A11y-Guide)) Exploration Activity: - Normal: https://github.com/oppia/oppia-android/assets/74568012/74f6eaf8-8560-4d1a-bfb4-d378177e31b6 - Talkback On: https://github.com/oppia/oppia-android/assets/74568012/11285aee-ed5e-4355-97b1-c18df646efd7 Topic Fragment: - Talkback On: https://github.com/oppia/oppia-android/assets/74568012/f8cec635-b1c3-4540-afcb-990a42a9a38b ## Issue with Espresso test: when readerOff, toolbar.title.click() behaves different from manual test. - Video record for manual test Listener function is set and is called when click is performed. Regardless of title length, is selected will always be modified. https://github.com/oppia/oppia-android/assets/74568012/7f9a04b6-e3e3-4803-9465-89543b091458 - Video record for espresso test Listener function is set but not called when click is performed. The isSelected attribute does not been modified after click https://github.com/oppia/oppia-android/assets/74568012/c2984b5f-c9fe-4a35-a36f-27d05a935210 ## Solution to Solve Error in Espresso Tests. - Setting the accessibility service before starting the activity solves accessibility service not correctly set except in TopicFragmentTest. **Reason** The set listener code in the app executes before setting the accessibility service in the test. - Add markSpotlightSeen before the start of the activity. **Reason** The spotlight might cause the toolbar unable to reach to simulate a click.
Describe the bug
Talkback shouldn't read double tap to activate for the labels that are not clickable
To Reproduce
Steps to reproduce the behavior:
Enable Talkback
Expected behavior
Talkback should read topic title and not double tap to activate as it is not clickable
Environment
Device/emulator being used: Oneplus nord2 5g
Android or SDK version (e.g. Android 5 or SDK 21): Android version 12
App version (you can get this through system app settings or via the admin controls menu in-app): 0.10-beta-5e64fae55e
The text was updated successfully, but these errors were encountered: