New issue
Advanced search Search tips

Issue 619736 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Jun 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug
Team-Accessibility



Sign in to add a comment

Put ChromeVox in compat mode based on characteristics of the page

Project Member Reported by dmazz...@chromium.org, Jun 13 2016

Issue description

Some pages just don't work with ChromeVox Classic but they work fine (or at least better) with ChromeVox Next, so we should run them with ChromeVox Next in "compat" mode ASAP.

I propose two triggers:

1. Explicit: the user adds <meta name="chromevox" content-script="no"> and then ChromeVox won't run its content script, forcing it to use Next.

2. Implicit: if we detect the use of shadow dom / web components, which we know won't work with ChromeVox Classic, we will do the same thing.

In either case, the trigger will cause the ChromeVox content script to send a message to the background page with the url of the page, adding it to the url whitelist.

 
Labels: Phase3
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 20 2016

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

commit d7c818035c58437b1a3f6d428d81f561c8307d0c
Author: dmazzoni <dmazzoni@chromium.org>
Date: Mon Jun 20 21:40:13 2016

Parse meta tag that disables ChromeVox content script and forces compat mode.

Users can now add this HTML snippet to their document HEAD to ensure
that ChromeVox only uses Next or Compat mode with that url.

<meta name="chromevox" content-script="no">

BUG= 619736 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

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

[modify] https://crrev.com/d7c818035c58437b1a3f6d428d81f561c8307d0c/chrome/browser/resources/chromeos/chromevox/chromevox/injected/externs.js
[modify] https://crrev.com/d7c818035c58437b1a3f6d428d81f561c8307d0c/chrome/browser/resources/chromeos/chromevox/chromevox/injected/init_document.js
[modify] https://crrev.com/d7c818035c58437b1a3f6d428d81f561c8307d0c/chrome/browser/resources/chromeos/chromevox/cvox2/background/background.js

Status: Fixed (was: Assigned)
Can you share some example webpages of both cases?
OK, here's a way to repro this bug and verify the fix.

Open the attached files, meta.html and meta2.html

First verify that meta.html is NOT accessible with ChromeVox classic, but IS accessible with ChromeVox Next. It should be obvious how it's broken with classic. Use the ChromeVox settings page to toggle Next on or off.

Now open meta2.html and verify that it works with both classic and next, because it forces ChromeVox into its "compat" mode (the ChromeVox Next engine). Confirm that the only change to the HTML is content-script="no" in the meta tag at the top, plus an additional paragraph of explanation.
meta.html
567 bytes View Download
meta2.html
745 bytes View Download
Status: Verified (was: Fixed)
verified on 53.0.2785.129

Sign in to add a comment