Skip to content
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

No meaningful label of the revision screen navigation cards during talkback #4737

Closed
JishnuGoyal opened this issue Nov 17, 2022 · 11 comments · Fixed by #5113
Closed

No meaningful label of the revision screen navigation cards during talkback #4737

JishnuGoyal opened this issue Nov 17, 2022 · 11 comments · Fixed by #5113
Assignees
Labels
bug End user-perceivable behaviors which are not desirable. good first issue This item is good for new contributors to make their pull request. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: Low Solution is clear and broken into good-first-issue-sized chunks.

Comments

@JishnuGoyal
Copy link
Contributor

JishnuGoyal commented Nov 17, 2022

Describe the bug

Talkback should have better description for the navigation cards. The talkback is expected to read out an appropriate description for the navigation cards on the revision screen (such as "navigation button"). Currently, the talkback only reads the title text of this nav cards. Add an appropriate description for the navigation cards.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the revision screen with talkback turned on.
  2. Swipe to scroll to the navigation cards.

Current Output

az_recorder_20230515_132333.mp4

Expected Output
In above video, talkback outputs Fractions of a Group and Adding Fractions but thats incorrect because in interpretation it should be following: The previous subtopic is Fractions of a Group and The next subtopic is Adding Fractions. So basically this makes it clear that user can visit the previous subtopic or next subtopic.
Note: The exact sentence can be a bit different.

Environment

  • Device/emulator being used:
  • Android or SDK version (e.g. Android 5 or SDK 21): Android 12
  • App version (you can get this through system app settings or via the admin controls menu in-app): 0.10-beta-5e64fae55e
@BenHenning
Copy link
Sponsor Member

A11y nice-to-have, doesn't need to be release blocking.

@adhiamboperes adhiamboperes added good first issue This item is good for new contributors to make their pull request. Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. labels Apr 18, 2023
@adhiamboperes
Copy link
Collaborator

adhiamboperes commented Apr 20, 2023

Hi @JishnuGoyal, I do not actually understand what you mean by navigation cards. Please clarify? Can you provide an example of "this should be read as x but it is being read as y" and maybe a screengrab of the same.

@JishnuGoyal
Copy link
Contributor Author

Hey @adhiamboperes, this is what a navigation card looks like (the bottom UI element that is used to view the next revision card):

image

During talkback, the screen reader should tell the user that clicking on the revision card will take them to the next/previous screen. Please let me know if you have further questions.

@rt4914 rt4914 removed the Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. label May 15, 2023
@rt4914
Copy link
Contributor

rt4914 commented May 15, 2023

@adhiamboperes I have updated the issue description to add more details.

@adhiamboperes adhiamboperes added the Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. label May 15, 2023
@adhiamboperes
Copy link
Collaborator

Thanks @rt4914. This is now clear.

@chrislee115
Copy link
Contributor

May I be assigned this issue?

I think a solution would involve overriding onInitializeAccessibilityNodeInfo - https://stackoverflow.com/a/41496367 and retrieving a custom field (named talkback_text or something of the like) or reuse the field content_description from the view to set the talkback message when clicked upon.

I'm still currently reading through the codebase and am not particularly sure where to override (I think app/view/ViewComponent?) - are there specific areas I should be looking at?

@adhiamboperes
Copy link
Collaborator

adhiamboperes commented Jun 12, 2023

Hi @chrislee115, sorry I missed this.

Typically, we use the content description field to set talkback text, and that should be the most straightforward way to go.

We use the databinding for passing dynamic text to views in the app, and you can look at how a fragment like the AdministratorControlsFragmentPresenter.kt binds it's data, if you're looking to understand how that works.

Please let me know if you have any questions.

@adhiamboperes adhiamboperes added Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). bug End user-perceivable behaviors which are not desirable. Work: Low Solution is clear and broken into good-first-issue-sized chunks. and removed Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. labels Jun 12, 2023
@ayush290104
Copy link

@Akshatkamboj14 what we have to do in this issue as of now should we change the talk back or not

@Akshatkamboj14
Copy link
Member

Yes, we have to change the text that talkback speaks.

@ayush290104
Copy link

@Akshatkamboj14, Are you working on this issue ?

@Akshatkamboj14
Copy link
Member

Yes, you can take another issue that is not assigned to anyone https://github.com/oppia/oppia-android/issues?q=is%3Aissue+is%3Aopen+no%3Aassignee and if you are new then you can check this wiki https://github.com/oppia/oppia-android/wiki/Contributing-to-Oppia-Android

adhiamboperes added a commit that referenced this issue Aug 2, 2023
…rds during talkback. (#5113)

<!-- READ ME FIRST: Please fill in the explanation section below and
check off every point from the Essential Checklist! -->
## Explanation
<!--
- 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.
  -->
Fixes #4737 

## 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. -->
If your PR includes UI-related changes, then:
- Add screenshots for portrait/landscape for both a tablet & phone of
the before & after UI changes
- For the screenshots above, include both English and pseudo-localized
(RTL) screenshots (see [RTL
guide](https://github.com/oppia/oppia-android/wiki/RTL-Guidelines))
- 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))
- Add a screenshot demonstrating that you ran affected Espresso tests
locally & that they're passing


[talkback.webm](https://github.com/oppia/oppia-android/assets/92685493/c897e62f-3c8f-467f-88a8-e792f2974998)

---------

Co-authored-by: Adhiambo Peres <59600948+adhiamboperes@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug End user-perceivable behaviors which are not desirable. good first issue This item is good for new contributors to make their pull request. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: Low Solution is clear and broken into good-first-issue-sized chunks.
8 participants