Closed Bug 872986 Opened 11 years ago Closed 11 years ago

New unlabelled, and seemingly invisible, control in awesome bar

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(fennec+)

RESOLVED FIXED
Firefox 24
Tracking Status
fennec + ---

People

(Reporter: MarcoZ, Assigned: maxli)

References

Details

(Keywords: access)

Attachments

(2 files, 2 obsolete files)

This screenshot was taken on a Nexus 7 with a current nightly.
1. With TalkBack on, find the "1 tab" button on the top left.
2. Start swiping to the right multiple times, until you land on the "Reader mode" button.
3. Swipe right once again.

Result: TalkBack will say "Image " followed by an arbitrary, and changing, number. This indicates that the element is unlabelled. The visual indicator shows where TalkBack thinks the control is. However, as a sighted person confirmed for me, there does not seem to be an actual control there, and when double-tapping, nothing happens.

Note: If you are on a page that's encrypted, the unlabelled button appears next to the "Site Security" button instead.

What's this button and why does TalkBack expose it?
tracking-fennec: --- → ?
Sriram - Is this a dupe?
Assignee: nobody → sriram
tracking-fennec: ? → +
Flags: needinfo?(sriram)
Sriram, ping?
Attached patch Patch (obsolete) — Splinter Review
Assignee: sriram → maxli
Attachment #753244 - Flags: review?(sriram)
Comment on attachment 753244 [details] [diff] [review]
Patch

Is importantForAccessibility available on older versions of Android?
(In reply to Mark Finkle (:mfinkle) from comment #5)
> Comment on attachment 753244 [details] [diff] [review]
> Patch
> 
> Is importantForAccessibility available on older versions of Android?

I guess I should say: As long as it won't break on older versions of Android
Comment on attachment 753244 [details] [diff] [review]
Patch

The setImportantForAccessibility method was added in API level 16, but I think the XML variant was there before. Unfortunately the reference doesn't specify the version for the attribute, only the one for the method:
http://developer.android.com/reference/android/view/View.html#attr_android:importantForAccessibility
Attached patch Revised patch (obsolete) — Splinter Review
(In reply to Mark Finkle (:mfinkle) from comment #6)
> > Is importantForAccessibility available on older versions of Android?
> 
> I guess I should say: As long as it won't break on older versions of Android

Good point. It's probably worth making this consistent with how it's done for the other elements like this anyways.
Attachment #753244 - Attachment is obsolete: true
Attachment #753244 - Flags: review?(sriram)
Attachment #754035 - Flags: review?(sriram)
(In reply to Marco Zehe (:MarcoZ) from comment #7)
> Comment on attachment 753244 [details] [diff] [review]
> Patch
> 
> The setImportantForAccessibility method was added in API level 16, but I
> think the XML variant was there before. Unfortunately the reference doesn't
> specify the version for the attribute, only the one for the method:
> http://developer.android.com/reference/android/view/View.html#attr_android:
> importantForAccessibility

http://developer.android.com/reference/android/R.attr.html#importantForAccessibility

The global attribute was added in 16, hence the view attribute was added in 16 too.

The way global attribute works is, whenever an attribute is declared for a styleable like,
<declare-styleable name="XYZ">
  <item name="customAttribute"/>
</declare-styleable>

This "customAttribute" will be a global attribute too (meaning -- it can be set globally at a theme level).
Flags: needinfo?(sriram)
Comment on attachment 754035 [details] [diff] [review]
Revised patch

Review of attachment 754035 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good to me.
r+ after review changes.

::: mobile/android/base/BrowserToolbar.java
@@ +344,5 @@
>              public void onClick(View v) {
>              }
>          });
> +        if (Build.VERSION.SDK_INT >= 16)
> +            mShadow.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);

Add a new line before "if".
Use braces for the "if block".
Attachment #754035 - Flags: review?(sriram) → review+
Attachment #754035 - Attachment is obsolete: true
Keywords: checkin-needed
Are we sure the contentDescription = @null won't work for jellybean too? I'd like to avoid the Java part of this patch if possible.
(In reply to Mark Finkle (:mfinkle) from comment #12)
> Are we sure the contentDescription = @null won't work for jellybean too? I'd
> like to avoid the Java part of this patch if possible.

The Java portion of the patch is necessary for Jellybean.
https://hg.mozilla.org/mozilla-central/rev/59d7396f8e2d
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 24
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: