New issue
Advanced search Search tips

Issue 892060 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression
Team-Accessibility



Sign in to add a comment

Table element accessibility with VoiceOver is broken when table elements have display:block

Project Member Reported by shaibalm@google.com, Oct 4

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36

Steps to reproduce the problem:
A simple experiment is here for a live-preview:
https://jsbin.com/suwucatele/1/edit?html,css,output

1. In Chrome 69.*, create a well-formed table with 3 columns and 3 rows (ensure thead, th, tbody are used).

2. Set thead and tbody styles to have display:block.

3. Turn on VoiceOver, and try to navigate through the table using the VO key + directional keys.

What is the expected behavior?
Using VO + directional keys, the reader focus should traverse the table cell by cell (e.g., this is the behavior in Chrome 68.*).

What went wrong?
- VO will enter table, and on navigating using the VO + directional keys, it will immediately announce "End of table" and exit table.

- One can force click (mouse) something inside of a table while VO is on, e.g. a tbody cell or thead cell, and in this case VO will focus and read the cell fine, but on trying to navigate to the next or previous cell using VO + directional keys, it will once again announce "End of table" immediately.

- Removing display:block from thead and tbody restores normal behavior (described in expected).

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 69.0.3497.100  Channel: stable
OS Version: OS X 10.13.6
Flash Version: 

Chrome 69.* has issues with VO's reading of table elements when thead / tbody are set to display: block. Chrome 68.* did not.
 
An additional test with the combination of VO + Safari Version 12.0 (13606.2.11) works as expected. The issue is only with Chrome 69.*
Components: Blink>Accessibility UI>Accessibility
Labels: Needs-Triage-M69
Cc: aleventhal@chromium.org
Labels: -Type-Bug -Pri-2 hasbisect-per-revision ReleaseBlock-Stable Triaged-ET Target-70 Target-71 RegressedIn-69 M-70 FoundIn-71 FoundIn-70 Target-69 FoundIn-69 Pri-1 Type-Bug-Regression
Owner: dmazz...@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on mac 10.13.3 using chrome reported version #69.0.3497.100 and latest canary #71.0.3570.0. Issue is specific to OS-Mac.

Bisect Information:
=====================
Good build: 69.0.3456.0
Bad Build : 69.0.3457.0

Change Log URL: 
https://chromium.googlesource.com/chromium/src/+log/7a8e4dfa00eaeb6a7e41381f29060c6c1f38ac19..6589a857b53023b5c12f85194583f13da2466264

From the above change log suspecting below change
Reviewed-on: https://chromium-review.googlesource.com/1083854

dmazzoni@ - Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.
Note: Adding stable blocker for M-70 as it seems to be a recent regression. Please feel free to remove the same if not appropriate.
ccing the reviewer of the issue as the owner id shows "Travel/Slow until 10/15"

Thanks...!!
Labels: -ReleaseBlock-Stable
Status: Started (was: Assigned)
Fix in progress:

https://chromium-review.googlesource.com/c/chromium/src/+/1290518


Project Member

Comment 7 by bugdroid1@chromium.org, Oct 23

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

commit 585dd1d54cb3f8b8f7fc335a8275224fb89ea117
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Tue Oct 23 19:10:48 2018

Prefer new table interfaces in BrowserAccessibilityCocoa

BrowserAccessibilityCocoa still had some code that accessed
table attributes directly, most notably in
AXCellForColumnAndRow, which VoiceOver uses extensively
when navigating a table. Switch the code to use the
AXTableInfo-based computed table attributes instead,
which is not only more correct but a lot more compact, too.

This fixes a bug with a table that sets display:block
on some table elements, which led the Blink table code
to compute the wrong number of rows and columns for
the table.

This patch adds a new browser test for
BrowserAccessibilityCocoa to cover this case and
prevent future regressions.

Based on: http://crrev.com/c/1145769

Bug:  892060 ,832289
Change-Id: Icc5b5c305a385a2cb5f24155bfc8bd28641c85da
Reviewed-on: https://chromium-review.googlesource.com/c/1290518
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602043}
[modify] https://crrev.com/585dd1d54cb3f8b8f7fc335a8275224fb89ea117/content/browser/accessibility/browser_accessibility_cocoa.h
[modify] https://crrev.com/585dd1d54cb3f8b8f7fc335a8275224fb89ea117/content/browser/accessibility/browser_accessibility_cocoa.mm
[add] https://crrev.com/585dd1d54cb3f8b8f7fc335a8275224fb89ea117/content/browser/accessibility/browser_accessibility_cocoa_browsertest.mm
[modify] https://crrev.com/585dd1d54cb3f8b8f7fc335a8275224fb89ea117/content/test/BUILD.gn

Status: Fixed (was: Started)

Sign in to add a comment