leinardi / leinardi/FloatingActionButtonSpeedDial

TalkBack describes main FAB as "unlabeled button"

Open
#192 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted Priority: Medium Status: Accepted Type: Bug
Dominant language
Java
Stars
1.5k
Forks
149
PR merge metrics
No merged PRs in 30d

Description

Step 1: Are you in the right place?
  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version of the library.
Step 2: Describe your environment
  • Library version: view-3.3.0
  • Android version: 12
  • Support library version: ? (not sure what this means)
  • Device brand: Samsung
  • Device model: Galaxy S10
Step 3: Describe the problem:
Steps to reproduce:
  1. Set contentDescription of SpeedDialView
  2. Enable TalkBack
  3. Press on main FAB
  4. Observe "unlabeled button"
Observed Results:
  • When using TalkBack, main FAB is described as "unlabeled button."
Expected Results:
  • When using TalkBack, main FAB would be described as "Apply action button."
Relevant Code:
<com.leinardi.android.speeddial.SpeedDialView
            android:id="@+id/fabSD"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:accessibilityTraversalBefore="@android:id/list"
            android:contentDescription="@string/apply_action"
            android:visibility="gone"
            app:sdMainFabClosedSrc="@drawable/ic_fab_edit"
            app:sdOverlayLayout="@id/fabSDOverlay" />

I think the problem is that SpeedDialView is not the FAB itself, but just a LinearLayout. Thus, the contentDescription is being applied to the SpeedDialView and not the (main) FAB that's IN the SpeedDialView. (If that's not the problem, then I don't know what is.)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the SpeedDialView implementation and trace how its main FAB receives accessibility content. Reproduce the issue with TalkBack using the provided XML and verify that the main FAB is announced as “Apply action button” rather than “unlabeled button.”

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
accessibility, mobile-dev
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.