Issue metadata
Sign in to add a comment
|
Chromevox api not working with chrome os version 52 & above |
||||||||||||||||||||||||
Issue descriptionChrome Browser Version: 52.0.2743.85/116 (Official Build)(64-bit) stable-channel peppy OS: Chrome os Chrome OS Version: 8350.60.0 Background: We have used chromevox api(s)(https://cs.chromium.org/chromium/src/chrome/browser/resources/chromeos/chromevox/chromevox/injected/api.js) to verbalize custom messages in our app. The chromevox was working as expected until chrome browser version 51. After upgrading to version 52 the chromevox verbalization is broken on chrome os however it is working as expected on desktop browsers(Window, Mac, Linux). What steps will reproduce the problem? 1. Html file with following structure created with Polymer 1.0 >> Enable Chromevox <custom-toolbar> #shadow-root <custom-menubar role='menubar' tabindex='0'> #shadow-root(open) //--> [Please note: The below code is out from shadow-root.Which is replaced // with the <content> tag present inside shadow-root.] <custom-menu1 role='menu' aria-label='menu1' tabindex='0'> #shadow-root(open) //--> Please see above note <custom-menuitem1 role='menuitem' arialabel='menuitem1' tabindex='0'> </custom-menuitem1> .... </custom-menu1> ... <custom-menu10 role='menu' aria-label='submenu10'></custom-menu10> </custom-menubar> </custom-toolbar> [Note: Here, custom-toolbar, custom-menubar, custom-menu1 etc. are all custom elements.] 2. Navigate using tab key through main toolbar to Focus menu bar (custom-menubar) [Please note: We listen to onFocus event and use cvox's speak api to verbalize our custom message.] Expected: Chromevox should verbalize the custom message along with aria attributes. Actual Result: It only verbalizes the aria-attributes and not the custom message. [Observations with chrome os version 52:] 1. With earlier browser versions(till 51), the chromevox's orange border does not appear for each item in our toolbar(because of chromevox issue with shadow-root). After version 52, the chromevox's orange border appears for each item in the toolbar. However, in desktop browsers it is still working as it was in version 51. 2. The code for calling cvox's speak api is getting executed with expected parameters. Note: Chromevox verbalization is working as expected on desktop browser with chromevox extension (version - 53.0.2784.0).
,
Sep 13 2016
,
Sep 14 2016
Is it possible for you to set an aria-label rather than trying to use ChromeVox's API? Alternatively, you can always set up an aria live region.
,
Sep 16 2016
Thanks for the reply. The elements are already having the aria labels. The problem is chromeVox is just not able to speak aria-labels for elements which are inside the shadow of other element. Here is the jsfiddle(https://jsfiddle.net/0kq34wj1/) which demonstrates that and I have found a crbug for same which is marked as won'tfix - https://bugs.chromium.org/p/chromium/issues/detail?id=96373 My requirement is simple, when user navigates to different buttons of the toolbar, chromeVox should verbalize it. But since the buttons are inside shadow of main container it just doesn't speak at all. I'm not sure if aria-live region can help there, but I will explore. Since ChromeVox was not able to speak aria-label we started using chromeVox api. ChromeVox api was working fine until the Chrome version 51 and after that it has broken on ChromeOS. Its working fine on other platforms though.
,
Sep 16 2016
Thanks for clarifying. ChromeVox in Chrome OS has been moved to a new architecture. Assuming you are in a Chrome app (i.e. url is chrome-extension://*), you are getting ChromeVox Next. I tried your example using ChromeVox Next and I am able to get to both buttons. ChromeVox Next can be manually toggled on (in Chrome OS) via Search+Q, q. It is based directly on Blink's accessibility data, so has no js-based restrictions on accessing shadow DOM. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by hlo@chromium.org
, Aug 24 2016