[Nearby] Fix Chromevox announcement order on high visibility page
The placement of the invisible IronA11yAnnouncer element was causing trouble on the high visibility page with the apparent ordering of the elements. Since it is a replacement for the page subtitle, it needed to be located next to the subtitle in the html so that the node in the accessibility tree gets placed correctly. IronA11yAnnoucer was never designed to be used with modal dialogs. Explicitly placing an IronA11yAnnouncer on the page was a hack to get around the way modal dialogs are treated in the accessibility tree. While this mostly worked, the iron-announce event continued to bubble past the dialog and set the text on a second IronA11yAnnouncer element on the underlying settings page causing some strange behavior after the dialog is closed. Switching to a plain aria-live region fixes that. Another issue with invisible stand-in elements was that the visual highlight was not placed over the corresponding text when using search + arrow keys. Using absolute positioning to place the aria-live region on top of the subtitle it replaces achieves the desired highlight: https://screenshot.googleplex.com/6dHPQMDYaMBYsQ3.png When the page would initially load, Chromevox would read a few elements that weren't on the currently active view of the cr-view-manager. This turned out to be because elements with aria-hidden="false" were overriding the "display: none" applied by the view manager. Use "undefined" instead of "false" to fix. Also correct an issue where the interval timer wasn't getting cleared in the detached() event. Fixed: 1165982 Change-Id: Ia31dd52629fc27db55906d88de2160d908e4fccb Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2632085Reviewed-by:James Vecore <vecore@google.com> Reviewed-by:
Kyle Horimoto <khorimoto@chromium.org> Commit-Queue: Curt Clemens <cclem@google.com> Cr-Commit-Position: refs/heads/master@{#844953}
Showing
Please register or sign in to comment