New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 699681 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: 2019-02-05
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug
ntp
Team-Accessibility

Blocking:
issue 920004



Sign in to add a comment

[A11y Assessment - NTP] Issues with using voice search with a screen reader

Project Member Reported by lpalmaro@chromium.org, Mar 8 2017

Issue description

Chrome Version: 
OS: Mac

What steps will reproduce the problem?
(1) Enable VoiceOver
(2) Open a NTP and navigate to the microphone icon to initiate a voice search

There are a handful of issues here. 

1) First, when you navigate to the microphone icon, the visual focus is not on the button, it's to the left of it and looks odd. 

2) When you press enter or ctrl option space to try to activate the button (like you can when you click it with mouse), it doesn't work. Focus is brought back to the url bar instead. This button needs to be keyboard accessible, with a proper label. The current label is "say okay google", which doesn't work... and it also doesn't tell me that the mic is actually a button that can be pressed. 

Note - if I press tab to get through the focusable items, I CAN get to that icon. But I can't get there using VoiceOver navigation. 

3) If you use the mouse, or use the tab key to get to the button and then and actually get to the page to do a voice search, the context is a bit confusing. There should be some sort of earcon or some effect here to indicate that it's listening. I understand it's not possible to really have the screen reader say "listening" since that would interfere with what Google hears you say, but it's unclear when it's listening, if you can't see the page. 

That said, if it didn't catch what you said, then it's perfectly fine to make the "didn't catch that, try again" text spoken as an alert. Right now, the screen reader says nothing unless you navigate to that text. 



4) If it doesn't hear what you say, then after a few seconds it brings you out of the voice search page and back to the NTP. However, this change is not communicated to the blind user, so the context is lost. We should add some sort of alert to notify users that they are back on the NTP when this happens. 
 
Version: 56.0.2924.87
Cc: -ellyjo...@chromium.org
Owner: ellyjo...@chromium.org
Status: Assigned (was: Untriaged)
Note that the focus issues don't occur on Chrome OS. I can use ChromeVox to focus the mic icon button and hear the spoken feedback "listening for ok google", which is more helpful. The only thing is, it's still not implemented as a button, so I don't hear any verbalization that it's a clickable button (across platforms). 
Labels: NewComponent-Accessibility NewComponent-Accessibility-ChromeVox
Labels: -NewComponent-Accessibility-ChromeVox NewComponent-Accessibility-Browser
Labels: -newcomponent-accessibility-browser -newcomponent-accessibility
Status: ExternalDependency (was: Assigned)
Depends on changes by NTP team.
Cc: ellyjo...@chromium.org
Owner: treib@chromium.org
Status: Assigned (was: ExternalDependency)
treib@: does the local NTP fix this issue? if not, can you route it to someone to make sure it gets handled in local NTP?

Comment 9 by treib@chromium.org, Oct 19 2017

Cc: sfiera@chromium.org
Components: UI>Browser>NewTabPage
Labels: OS-Chrome OS-Linux OS-Windows
The local NTP should be mostly identical to the remote NTP at this point.

1) I think this has been fixed in the meantime, or else I don't understand what the problem is. The focus looks fine to me, both on local and remote NTP.

2) On the remote NTP, the microphone has 'aria-label="Search by voice"', on the local NTP is has 'title="Search by voice"' instead. I don't know if either of those resolves the problem, or what else needs to be done.

3) I guess I can see the problem, but I don't follow the suggested solution. What would you like to happen?

4) This one is actually fixed by the local NTP: We never silently close the overlay; instead you get some sort of error message. ("Didn't catch that, try again" or "check microphone levels" or possibly something else, depending on the exact circumstances.)

Comment 10 by treib@chromium.org, Nov 22 2017

Cc: treib@chromium.org
Owner: lpalmaro@chromium.org
lpalmaro or hwi, please look at comment 9 above and/or re-try on chrome-search://local-ntp/local-ntp.html - I think 1, 2, and 4 are fixed, and I don't know what can be done about 3.

Comment 11 by hwi@chromium.org, Nov 27 2017

Cc: leberly@chromium.org
+leberly, could you help test 1, 2, and 4 for c9 and c10. And also, could you help find ways to address #3? Thanks!
Google Chrome 64.0.3278.0 (Official Build) canary (64-bit) (cohort: Clang-64)
Windows 10 Enterprise Version 1607 Build 14393.1770
JAWS 2018.1710.42 private preview release

Hello,

I am testing these changes using Windows + JAWS screen reader since our team is putting a new emphasis on Windows in the near future and this bug is cross-platform. 

lpalmaro@ and/or a Dev on our team will need to address the ARIA tag choice. I'm going to just repro the behavior for now. 

By testing in Canary, I know I am using the local NTP per this bug: https://bugs.chromium.org/p/chromium/issues/detail?id=775965&desc=3

Note, if I follow this link indicated above (chrome-search://local-ntp/local-ntp.html), the voice search feature is not shown. There is no icon for it. Therefore, I'm just using Canary 64 for this test. 

Steps I used:

# Launch Canary and JAWS
# Launch local NTP since I am in Canary 64
Test 1 - fixed
# Navigate to the Search by Voice icon. 
Expected: focus ring is around the icon itself and "Search by Voice" is spoken. 
Actual: matches expected, this is fixed on Windows

Test 2 - not fixed
# Press space and enter keys to try to activate the button
Expected: button is pressed
Actual: focus is brought to the search box in the middle of the page. Note that is is not the real Omnibar at the top of the browser but the image of one in the middle. 

Test 3 - not fixed
# Use the mouse to press the button since it wasn't possible via keyboard
# Listen for indication about what is happening
# On the first time, I am presented with a dialog and it is read: "www.google.com has a permission request. dialog To navigate use Tab."
# Accept the permission
# Go back to NTP and press button for voice search again. 
Expected: Earcon or some indication that the microphone is listening
Actual: Nothing is spoken unless you press arrow keys to read what's on screen. Since the text comes and goes quickly, the user is unlikely to catch the "listening" message before it is gone. 

Test 4 - not fixed 
# After the listening fails, I am brought back to the NTP. Focus is on the Search by Voice icon.
# Nothing is spoken
Expected: indication that you are back on the NTP
Actual: no way to know you're back on the NTP unless you start navigating around and realize it indirectly by exploring the new context. 

Comment 13 by treib@chromium.org, Nov 28 2017

> By testing in Canary, I know I am using the local NTP per this bug: https://bugs.chromium.org/p/chromium/issues/detail?id=775965&desc=3
> 
> Note, if I follow this link indicated above (chrome-search://local-ntp/local-ntp.html), the voice search feature is not shown. There is no icon for it. Therefore, I'm just using Canary 64 for this test. 

This sounds weird, and I suspect you were actually testing the remote NTP, which would explain why 2 and 4 weren't fixed. Note that the local NTP is enabled by default only for 50% of Dev/Canary right now.

To enable the local NTP, you can enable the following two flags:
chrome://flags/#use-google-local-ntp
chrome://flags/#voice-search-on-local-ntp
(and restart Chrome as prompted).

To verify whether you're seeing the remote or the local NTP, on an NTP do right-click -> "View page source" and look at the Omnibox:
- If it says "view-source:chrome-search://local-ntp/local-ntp.html": Local NTP
- If it says "view-source:https://www.google.com/_/chrome/newtab?ie=UTF-8": Remote NTP

Could you test 2 and 4 again with the two flags above set? (We haven't addressed 3 yet, so no point in testing again.) Thanks, and sorry for the trouble!

Comment 14 by treib@chromium.org, Nov 29 2017

Cc: lpalmaro@chromium.org
Owner: leberly@chromium.org
Labels: win-a11y
Labels: ntp
Summary: [A11y Assessment - NTP] Issues with using voice search with a screen reader (was: [A11y Assessment - NTP] Issues with using voice search with VoiceOver)

Comment 18 by treib@chromium.org, Jan 11 2018

Labels: Needs-Feedback
Ping, please see comment 13.

Comment 19 Deleted

Update:
I am now testing with the following:
Google Chrome 65.0.3322.0 (Official Build) canary (64-bit) (cohort: Clang-64)
Windows 10 Enterprise Version 1607 Build 14393.2007
NVDA 2017.4
JAWS 2018.1801.18 Private Beta 
 
Local NTP by enabling the following two flags:
chrome://flags/#use-google-local-ntp
chrome://flags/#voice-search-on-local-ntp

Under View Source on NTP, file is called"chrome-search://local-ntp/local-ntp.js" and there is no mention of the remote NTP. 

Steps I used to retest tests 2 and 4:

# Launch Canary with local NTP per statements above
# Test using JAWS, NVDA, and keyboard-only

Test 2 - 
# Press space and enter keys to try to activate the button
Expected: button is pressed
Actual: button is pressed

Note that the permissions dialog is read by JAWS but not by NVDA. 

Test 4 - not fixed 
# After the listening fails, I am brought back to the NTP. Focus is on the Search by Voice icon. 
# Nothing is spoken
Expected: indication that you are back on the NTP
Actual: no way to know you're back on the NTP unless you start navigating around and realize it indirectly by exploring the new context. 
I can repro nothing being spoken with JAWS and NVDA.

I noted that the NVDA focus rectangle is still on the same area of the page the entire time the listening information is on the screen. It's as if NVDA didn't know that the page content had changed at all. 

Comment 21 by treib@chromium.org, Jan 18 2018

Labels: -Needs-Feedback
Thanks for re-testing!


Re 2:
By "permissions dialog", you're referring to the "google.com want to: Use your microphone" popup? If so, then that probably isn't specific to the NTP, but the same will apply for any web page that requests microphone permission. So I don't think the NTP can do anything about that.


Re 4:
Just to confirm we're talking about the same thing: You click the microphone button and see the "Speak Now"/"Listening" message. After a few seconds with no input, the "Please check your microphone and audio levels" message shows up. After another few seconds, that message vanishes and you're silently dropped back to the NTP <- this is where the problem is.

I'm not sure about a solution. Is there a good way to indicate "voice search was closed, you're back on the NTP"? Or maybe we should just not automatically close the overlay when some assistive technology is active (per BrowserAccessibilityState::IsAccessibleBrowser())?


Re NVDA focus rectangle: I think that's essentially bug 779300, i.e. the voice search overlay isn't properly marked as a "dialog".
Cc: ma...@chromium.org
Owner: ----
Status: Available (was: Assigned)

Comment 23 by zea@chromium.org, Feb 6 2018

Labels: -Pri-1 Pri-2
Cc: adriennetran@google.com
Labels: a11y-q2-18
Repros in 69.0.3497.23 (Official Build) dev (64-bit) (cohort: Dev)	
JAWS 2018.1807.29 ILM	
NVDA 2018.2.1
Update after syncing with Laura:

1 and 2 are fixed but 3 and 4 are not yet fixed. They are not blockers but would be a nice usability improvement.

Current behavior: Press "voice search" button and get verbal announcement for web content.

Expected behavior: First, Earcon that signals to user that we are listening. Second, if you press the icon and it didn't understand you, it should also signal that to you.
^ Ideal would be to slot those into 71 or 72 so that we can reach accessibility goals by the end of the year.
Labels: a11y-NTP
Giving this an update/repro with Chrome OS and ChromeVox as part of our assessment. It has slightly worse behavior. 

Google Chrome	70.0.3524.2 (Official Build) dev (64-bit)
Firmware Version Google_Lulu.6301.136.57

I am running these tests on the NTP that comes out of the box in M70 with no flags set. 

Enabling ChromeVox with ctrl + alt + z

Test 1 - NOT fixed
# Navigate to the Search by Voice icon. 
Expected: focus ring is around the icon itself and "Search by Voice" is spoken as a button. 
Actual: ChromeVox says "Search by Voice Form" instead of "Search by Voice Button"

Test 2 - technically NOT fixed
# Press space and enter keys to try to activate the button
Expected: hint text spoken about using search + space to invoke button, button is pressed
Actual: Button is indeed pressed but there is no text spoken about how to invoke it. 

Test 3 - not fixed
# Go NTP and press button for voice search. 
Expected: Earcon or some indication that the microphone is listening
Actual: ChromeVox reads "times dialog" upon the page loading with no earcon. This in turn is heard by the voice recording and a Google search is automatically opened with the search. No indication that that page has opened automatically. 

Test 4 - not fixed 
# Let listening fail by keeping the computer volume on mute and being silent. I am brought back to the NTP. Focus is on the middle of screen around the Google logo in an indeterminate area. 
# Nothing is spoken
Expected: indication that you are back on the NTP and focus back on the voice search button you previously pressed 
Actual: no way to know you're back on the NTP unless you start navigating around and realize it indirectly by exploring the new context. ChromeVox focus is in incorrect place. 

Cc: -adriennetran@google.com ramyan@chromium.org yyushkina@chromium.org
Labels: Needs-UX PM-markchang
Owner: kristip...@chromium.org
I think Kristi has looked at this in the past.
Labels: Group-New_Tab_Page
Status: Assigned (was: Available)
Labels: KR-GAR4 O-Robust-NTP
Labels: Target-72
Labels: -PM-markchang
Updating the current behavior in c30, including differences between remote and local NTP:

Local NTP:
Re 1 - fixed, ChromeVox says "Search by Voice Button"
Re 2 - fixed, search + space hint is spoken and can select with search + space
Re 3 - not fixed, same as before
Re 4 - not fixed, same as before
Note: Using search + tab to navigate to the omnibox will not close the dialog.

Remote NTP:
Re 1 - not fixed, same as before
Re 2 - not fixed, same as before
Re 3 - not fixed, same as before
Re 4 - not fixed, same as before
Note: Using search + tab to navigate to the omnibox will automatically close the dialog.

The voice search dialog for remote NTP is also used in the main Google search page. However, the microphone icon is not accessible with voice over/keyboard, so our changes shouldn't have too much effect.
Labels: PM-markchang
(re-adding label)
Labels: large
NextAction: 2018-11-14
The NextAction date has arrived: 2018-11-14
Labels: -Target-72 Target-73
NextAction: 2019-01-22
Blocking: 920004
To clarify, would the earcon sound bytes be audio_end/initiate.wav in https://cs.chromium.org/chromium/src/chrome/browser/resources/chromeos/sounds/earcons/?

Comment 46 by kristip...@chromium.org, Jan 17 (6 days ago)

Labels: Needs-Feedback

Comment 47 by monor...@bugs.chromium.org, Yesterday (38 hours ago)

The NextAction date has arrived: 2019-01-22

Comment 48 by kristip...@chromium.org, Today (5 hours ago)

NextAction: 2019-02-05

Sign in to add a comment