New issue
Advanced search Search tips

Issue 627860 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

AutoFill accessibility not working properly

Reported by kra...@amazon.com, Jul 13 2016

Issue description

Version: Tip of master
OS: Android Lollipop

What steps will reproduce the problem?
(1) Have a stored autofill profile
(2) Turn TalkBack on
(3) Go to facebook com
(4) Double tap on a field in the registration form 

What is the expected output?
Chromium notifies about saved profiles
Chromium then allows swiping through stored data

What do you see instead?
No audio notification. Unable to use linear navigation to select autofill data.

Please use labels and text to provide additional information.

 
Components: UI>Accessibility UI>Browser>Autofill
Owner: zkoch@chromium.org
Status: Assigned (was: Untriaged)
@zkoch can you help to find an owner?

Comment 3 by zkoch@chromium.org, Aug 22 2016

I think we need to decide what the right course of action here is. I believe when we last talked about this, we decided not to make it so that the swipe doesn't go into the Autofill suggestions, because maybe you didn't want to use autofill. Instead it says, "Showing autofill drop down". But if you do focus on the first autofill suggestion, from that point forward you can swipe back and forth between the different autofill profile suggestions.

We can change this behavior, but we should discuss what the correct treatment should be.

Comment 4 by zkoch@chromium.org, Sep 15 2016

Cc: hwi@chromium.org lpalmaro@chromium.org dmazz...@chromium.org
Labels: OS-Android
Following back up on this. I had a conversation with a few a11y folks, and we think we have a good strategy:

* Swiping next will select the entire autofill suggestion block  (and announce that autofill is available)
* Double tapping at this point will then enter into the list, selecting the first one and reading it's contents
* Swiping back and forth will iterate through the list
* Double tapping on an element will autofill it

I realized now it's not clear how a user quickly gets out. But this seems like a good solution. Adding a few a11y folks who can help + autofill folks.
Good description.

To get out, the user could press the back button. It would behave exactly the same as how a menu does when TalkBack is on - like if you open Chrome's "more" menu. It's a familiar pattern.

Whoever wants to try to implement this, let's get together and chat about the technical details.

Cc: sabineb@chromium.org
@dmazzoni, sabine, do you happen to know when this change will happen? One of our launches (https://bugs.chromium.org/p/chromium/issues/detail?id=678424) I think is blocked on it.
Cc: rogerm@chromium.org
+ Roger who might have an ETA?

Comment 8 by rogerm@chromium.org, Jan 31 2017

Owner: csashi@google.com
csashi@ has agreed to take a look at this, targeting M58. thanks for the help!
Blocking: 678424
Project Member

Comment 10 by bugdroid1@chromium.org, Feb 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/67051d3d62d1522fa44afeb2385a3bb6b6a6f128

commit 67051d3d62d1522fa44afeb2385a3bb6b6a6f128
Author: csashi <csashi@google.com>
Date: Tue Feb 28 22:15:39 2017

Uses child views in Autofill Popup so we can trigger GetAccessibleNodeData in each of the Autofill popup suggestions.

BUG= 627860 

Review-Url: https://codereview.chromium.org/2670003002
Cr-Commit-Position: refs/heads/master@{#453724}

[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/app/generated_resources.grd
[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.h
[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/browser/ui/android/autofill/autofill_popup_view_android.h
[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc
[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/browser/ui/autofill/autofill_popup_controller_impl.h
[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/browser/ui/autofill/autofill_popup_controller_unittest.cc
[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/browser/ui/autofill/autofill_popup_view.h
[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/browser/ui/cocoa/autofill/autofill_popup_view_bridge.h
[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc
[modify] https://crrev.com/67051d3d62d1522fa44afeb2385a3bb6b6a6f128/chrome/browser/ui/views/autofill/autofill_popup_view_views.h

Labels: NewComponent-Accessibility-Browser
Project Member

Comment 12 by bugdroid1@chromium.org, Mar 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f

commit d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f
Author: csashi <csashi@google.com>
Date: Tue Mar 21 01:04:37 2017

Uses child views in Autofill Popup so we can trigger
GetAccessibleNodeData in each of the Autofill popup suggestions.

This is a re-merge of https://codereview.chromium.org/2670003002 with the
change to recreate child views when we redraw the popup.

BUG= 627860 ,697466

Review-Url: https://codereview.chromium.org/2727233003
Cr-Commit-Position: refs/heads/master@{#458265}

[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/app/generated_resources.grd
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/android/autofill/autofill_popup_view_android.cc
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/android/autofill/autofill_popup_view_android.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/autofill/autofill_popup_controller.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/autofill/autofill_popup_controller_impl.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/autofill/autofill_popup_controller_unittest.cc
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/autofill/autofill_popup_layout_model_unittest.cc
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/autofill/autofill_popup_view.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/autofill/autofill_popup_view_delegate.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/autofill/password_generation_popup_controller_impl.cc
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/autofill/password_generation_popup_controller_impl.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/cocoa/autofill/autofill_popup_view_bridge.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/cocoa/autofill/autofill_popup_view_bridge.mm
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/cocoa/autofill/autofill_popup_view_cocoa.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/cocoa/autofill/autofill_popup_view_cocoa.mm
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/cocoa/autofill/password_generation_popup_view_cocoa_unittest.mm
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/views/autofill/autofill_popup_base_view.h
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/views/autofill/autofill_popup_base_view_browsertest.cc
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/views/autofill/autofill_popup_view_views.h
[add] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/browser/ui/views/autofill/autofill_popup_view_views_browsertest.cc
[modify] https://crrev.com/d9c8ac4a549d3a365b60fc6abf7d23adfe4c389f/chrome/test/BUILD.gn

Labels: NewComponent-Accessibility
Project Member

Comment 14 by bugdroid1@chromium.org, Apr 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df20b103282ad2d7103cd5c078712893ba92e255

commit df20b103282ad2d7103cd5c078712893ba92e255
Author: csashi <csashi@google.com>
Date: Tue Apr 04 01:53:24 2017

Adds accessibility navigation into autofill popup using right swipes. The autofill popup does not have a corresponding AX node in the AX tree sent by renderer to browser.  Hence, we create a proxy AX node that is "attached" to the field that is displaying the popup for navigation.

This feature is currently disabled by default because we have to improve the navigation as follows:

1. Navigate to autofill popup only on double-tap. Currently right swipe takes user into the auto popup.

2. When user right swipes out of last suggestion in the popup, we must navigate to the HTML element that is after the field hosting the popup.

3. When user presses back button, the user is able to edit the text field but the accessibility navigation focus remains on the back button.

Please refer to https://drive.google.com/a/google.com/file/d/0B-jTnU8uuAL9WV9RWXpvYTVQaDQ/view?usp=sharing

BUG= 627860 

Review-Url: https://codereview.chromium.org/2762123006
Cr-Commit-Position: refs/heads/master@{#461610}

[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillPopupBridge.java
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/chrome/browser/about_flags.cc
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/content/app/strings/content_strings.grd
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/content/browser/accessibility/browser_accessibility_manager_android.cc
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/content/browser/accessibility/browser_accessibility_manager_android.h
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/content/public/common/content_features.cc
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/content/public/common/content_features.h
[modify] https://crrev.com/df20b103282ad2d7103cd5c078712893ba92e255/tools/metrics/histograms/histograms.xml

Project Member

Comment 15 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4b16553ab1201a9830dc46e01892f9ea21eb3ef9

commit 4b16553ab1201a9830dc46e01892f9ea21eb3ef9
Author: csashi <csashi@google.com>
Date: Wed Apr 12 18:12:48 2017

Fixes accessibility navigation out of Autofill popup.

We post a delayed callback to clear accessibility focus. If we receive a focus event, we cancel the delayed callback.

At the end of the video below, we can see the accessibility focus moving out of the popup and to the next HTML element, which is "Address:"

https://drive.google.com/a/google.com/file/d/0B-jTnU8uuAL9NzNUMGNzMXVYUUE/view?usp=sharing

BUG= 627860 

Review-Url: https://codereview.chromium.org/2811803002
Cr-Commit-Position: refs/heads/master@{#464088}

[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/android_webview/java/src/org/chromium/android_webview/AwAutofillClient.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillKeyboardAccessoryBridge.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillPopupBridge.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTest.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/components/autofill/android/java/src/org/chromium/components/autofill/AutofillDelegate.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/components/autofill/android/java/src/org/chromium/components/autofill/AutofillPopup.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/content/browser/accessibility/browser_accessibility_manager_android.cc
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/content/browser/accessibility/browser_accessibility_manager_android.h
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java

Project Member

Comment 16 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4b16553ab1201a9830dc46e01892f9ea21eb3ef9

commit 4b16553ab1201a9830dc46e01892f9ea21eb3ef9
Author: csashi <csashi@google.com>
Date: Wed Apr 12 18:12:48 2017

Fixes accessibility navigation out of Autofill popup.

We post a delayed callback to clear accessibility focus. If we receive a focus event, we cancel the delayed callback.

At the end of the video below, we can see the accessibility focus moving out of the popup and to the next HTML element, which is "Address:"

https://drive.google.com/a/google.com/file/d/0B-jTnU8uuAL9NzNUMGNzMXVYUUE/view?usp=sharing

BUG= 627860 

Review-Url: https://codereview.chromium.org/2811803002
Cr-Commit-Position: refs/heads/master@{#464088}

[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/android_webview/java/src/org/chromium/android_webview/AwAutofillClient.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillKeyboardAccessoryBridge.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillPopupBridge.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTest.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/components/autofill/android/java/src/org/chromium/components/autofill/AutofillDelegate.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/components/autofill/android/java/src/org/chromium/components/autofill/AutofillPopup.java
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/content/browser/accessibility/browser_accessibility_manager_android.cc
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/content/browser/accessibility/browser_accessibility_manager_android.h
[modify] https://crrev.com/4b16553ab1201a9830dc46e01892f9ea21eb3ef9/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java

Labels: -newcomponent-accessibility-browser -newcomponent-accessibility

Comment 18 by csashi@google.com, May 26 2017

Status: Fixed (was: Assigned)
I am marking as "Fixed" so we can test the current functionality. The known gap is we move focus into the popup on right swipe instead of double click.
Project Member

Comment 19 by bugdroid1@chromium.org, May 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cfacb8361ea54ae30a645d0c7f4a278286cf8606

commit cfacb8361ea54ae30a645d0c7f4a278286cf8606
Author: csashi <csashi@google.com>
Date: Fri May 26 13:36:19 2017

Enable Autofill accessibility by default for Android.

BUG= 627860 

Review-Url: https://codereview.chromium.org/2905973002
Cr-Commit-Position: refs/heads/master@{#474994}

[modify] https://crrev.com/cfacb8361ea54ae30a645d0c7f4a278286cf8606/content/public/common/content_features.cc

Comment 20 by csashi@google.com, May 26 2017

Cc: ma...@chromium.org
Labels: Merge-Request-60
Adding merge request for
https://chromium.googlesource.com/chromium/src.git/+/cfacb8361ea54ae30a645d0c7f4a278286cf8606 to M-60

Project Member

Comment 21 by sheriffbot@chromium.org, May 26 2017

Labels: -Merge-Request-60 Hotlist-Merge-Review Merge-Review-60
This bug requires manual review: There is .grd file changes and we are only 66 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), josafat@(ChromeOS), bustamante@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-60 Merge-Approved-60
Approved for M60 branch 3112.
Owner: ma...@chromium.org
Project Member

Comment 24 by bugdroid1@chromium.org, May 31 2017

Labels: -merge-approved-60 merge-merged-3112
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e42718f52334eed0c4454236f5feee45e1cbc266

commit e42718f52334eed0c4454236f5feee45e1cbc266
Author: Mathieu Perreault <mathp@chromium.org>
Date: Wed May 31 23:38:45 2017

Enable Autofill accessibility by default for Android.

BUG= 627860 
TBR=csashi@google.com

(cherry picked from commit cfacb8361ea54ae30a645d0c7f4a278286cf8606)

Review-Url: https://codereview.chromium.org/2905973002
Cr-Original-Commit-Position: refs/heads/master@{#474994}
Change-Id: I9b3931de6e2e2a982a3cbc43959bad26573fe3a1
Reviewed-on: https://chromium-review.googlesource.com/519446
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/branch-heads/3112@{#71}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/e42718f52334eed0c4454236f5feee45e1cbc266/content/public/common/content_features.cc

Blocking: -678424

Sign in to add a comment