New issue
Advanced search Search tips

Issue 773156 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 3
Type: Bug
Team-Security-UX
Team-Accessibility


Show other hotlists

Hotlists containing this issue:
EnamelAndFriendsFixIt


Sign in to add a comment

USB device in Page Info does not have a text/a11y audio indication that it is USB

Project Member Reported by lgar...@chromium.org, Oct 10 2017

Issue description

Chrome 63.0.3218.0
macOS 10.12.6

What steps will reproduce the problem?
(1) Grant a site permission to a USB device.
(2) Use VoiceOver to highlight the device name.

What is the expected result?
VoiceOver says something like "USB Device: [name of the device]".

What happens instead?
VoiceOver says only the name of the device.

Note that the permission images don't have a voiceover text (except possibly "image", depending on the platform).

I haven't checked Views, but it may have the same issue.

reillyg@: Could you triage?
 
Cc: reillyg@chromium.org
Owner: ----
Status: Available (was: Assigned)
Owner: patricia...@chromium.org
Status: Assigned (was: Available)
patricialor@: Could you help triage? :-)
Components: UI>Accessibility

Comment 5 by est...@chromium.org, Nov 10 2017

Labels: Hotlist-EnamelAndFriendsFixIt
Cc: srahim@chromium.org
Status: Started (was: Assigned)
+srahim - Hi Shimi, could you give the OK (or suggest a new string) for this? I think the best way to implement this would be via a tooltip / a11y help text, which is be read out after a user-configurable delay on VoiceOver. Currently I'm using Lucas's suggestion of "USB Device: [device name]".

Here's a screenshot if you'd like more context. (Chosen objects are currently USB devices that a user has granted access to for a site.)
chosenobjecta11y.png
32.1 KB View Download

Comment 7 by srahim@chromium.org, Nov 30 2017

The string itself "USB Device: [device name]" SGTM.

Are you planning to make the USB icon be focusable and have it announce "USB Device" in screenreader mode? Looks like the icons aren't announced by the SR because in most cases they duplicate the label. In the USB Device case, however, the icon does actually convey some info.
Ooh. That may be a better approach - the current implementation I have actually hides the icon from the accessibility tree as a side-fix to this, but your suggestion sounds better, since the user doesn't have to ask their screenreader to read out the label help text (or in VO, wait the delay). I'll update the implementation. Thanks Shimi!
Thanks srahim!

> In the USB Device case, however, the icon does actually convey some info.

What do you mean by this exactly? It seems like the same information (and additional information) is conveyed in the tooltip for the label? Would it be good enough to have just tooltip on the label which says: USB Device: [device name]
I mean that the USB icon is not decorative, as it is for Cookies, Location, and other Page Info elements. The USB icon conveys essential information, which is that "Gamepad" (in the screenshot in c#6) is a USB device that is connected.

In principle, we use tooltips for helper information, not essential information. Relying on the tooltip to state essential information ("USB Device") means the screenreader user has to have their computer set to announce tooltips (on Mac, the "help tag" setting under verbosity). My educated guess is that most SR users turn this off. So I'd ask, is it OK for some users to hear the announcement "USB devices" but others not to hear it? Another way to think of it: would we remove the visual USB icon for some users but not others? (No, we wouldn't.)

I suppose we could also append "USB Device:" to the device name when it's announced in SR mode, as a custom a11y announcement. Is this preferable to reading out the icon?


Ah I understand. Thanks for explaining Shimi, that makes a lot of sense. Looking at the screenshot again, I think it's unintuitive that we just list Gamepad there anyway, especially since I believe that text is provided by the device.

Can we just change the text that's actually displayed in Page Info to read:
"USB Device: <Device name>"

Having a subheading above the list of USB devices that read "USB Devices:" may be even better but this could be a good short term fix.

reillyg: what are your thoughts?
Labels: win-a11y
reillyg@, srahim@ - ping for thoughts on #c11?
Sorry for missing this earlier. Yes, displaying "USB device: <device name>" sounds good.
Cc: maxwalker@chromium.org
No worries, thanks for your reply! Here's a screenshot of what that would look like while we wait on Shimi to give the OK for the string. Long device names should expand the bubble as seen in the screenshot.
Screenshot from 2018-01-09 11-24-09.png
35.3 KB View Download
This would probably also fix  Issue 773146 
What happens if the device name is so long it causes the bubble to extend off the side of the screen?
There's a max width for the Page Info bubble at 1000 dip (though that's probably not entirely accurate in Harmony mode, since there's dialog width snapping there). But it gets a tooltip that wraps and the label will be elided.
"USB device: Gamepad" is much clearer than just showing the name of the USB device. I'm good with this change, as noted in c#7, but am curious why we wouldn't consider going straight to the subheading suggestion in c#11 if that might be better? Max should weigh in, too.
Including "USB device" sound great to me. I agree that it makes things much clearer. For placement I'd suggest to show the device name in the permission title and "USB device" as the secondary text, see C in attachment. This treatment would be inline with the USB permission request UI (list of device names) which would make it easier to later identify a connected device in Page Info. I also think it's the most readable option. Plus it doesn't feel redundant when multiple USB devices are shown.
USB Devices.png
264 KB View Download
Very nice.
Option C looks good to me, thanks Max! I'll go ahead and implement this now, but let me know raymes@ / shimi@ if either of you have any complaints.
Option C implemented looking like the attached screenshots for Harmony & non-Harmony at https://chromium-review.googlesource.com/c/chromium/src/+/771060
Screenshot from 2018-01-17 13-26-03.png
30.8 KB View Download
Screenshot from 2018-01-17 13-26-51.png
32.9 KB View Download
It looks nice to me. It's a bit unfortunate to use the secondary text to display "what" the thing is, rather than "why" it is allowed or blocked, which is what we use it for in other places. Max, do you have thoughts on consistency there? 
I think we're already inconsistent - e.g. the Ads strings aren't really explaining anything about "why", they're more giving further information about "what" the setting will do. So it's probably ok (in my opinion).
I think it makes sense to see the secondary line as providing additional, clarifying information about an item. This is true for all cases so I'm not concerned about consistency here.
Project Member

Comment 27 by bugdroid1@chromium.org, Jan 19 2018

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

commit 1d8a431da480e92e816a12da0f2eb1dde089e713
Author: Patti <patricialor@chromium.org>
Date: Fri Jan 19 06:36:11 2018

Page Info Desktop: Chosen objects now show the object type underneath its name.

Chosen object views (currently, only USB devices) shown in the Page Info bubble
only show the name of the USB device granted to them and don't give any context
of what they might be. Add a label in secondary text underneath the chosen
object name to make it clear to the user that this is a USB device.

Bug:  773156 ,  773146 
Change-Id: I95af87ed0fe86ff14fd539f44204f9158cc0ff9a
Reviewed-on: https://chromium-review.googlesource.com/771060
Commit-Queue: Patti <patricialor@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Reviewed-by: Raymes Khoury <raymes@chromium.org>
Reviewed-by: Lucas Garron <lgarron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530439}
[modify] https://crrev.com/1d8a431da480e92e816a12da0f2eb1dde089e713/chrome/browser/ui/cocoa/page_info/page_info_bubble_controller.mm
[modify] https://crrev.com/1d8a431da480e92e816a12da0f2eb1dde089e713/chrome/browser/ui/page_info/page_info.cc
[modify] https://crrev.com/1d8a431da480e92e816a12da0f2eb1dde089e713/chrome/browser/ui/page_info/page_info.h
[modify] https://crrev.com/1d8a431da480e92e816a12da0f2eb1dde089e713/chrome/browser/ui/page_info/page_info_ui.cc
[modify] https://crrev.com/1d8a431da480e92e816a12da0f2eb1dde089e713/chrome/browser/ui/page_info/page_info_ui.h
[modify] https://crrev.com/1d8a431da480e92e816a12da0f2eb1dde089e713/chrome/browser/ui/views/page_info/chosen_object_view.cc
[modify] https://crrev.com/1d8a431da480e92e816a12da0f2eb1dde089e713/chrome/browser/ui/views/page_info/page_info_bubble_view_unittest.cc
[modify] https://crrev.com/1d8a431da480e92e816a12da0f2eb1dde089e713/chrome/browser/ui/views/page_info/permission_selector_row.cc
[modify] https://crrev.com/1d8a431da480e92e816a12da0f2eb1dde089e713/components/page_info_strings.grdp

Status: Fixed (was: Started)

Sign in to add a comment