New issue
Advanced search Search tips

Issue 792124 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Team-Accessibility



Sign in to add a comment

Absolute-positioned elements should not be clipped by ancestors (accessibility)

Project Member Reported by dmazz...@chromium.org, Dec 5 2017

Issue description

Version: Chrome 65, probably all platforms.
Does not reproduce in Chrome 63.

To repro:

1. Open the attached HTML
2. Focus on the buttons while a screen reader or other AT is running

The bounding box of the buttons should not be clipped by the ancestor element.

Idea for fix: any element that's absolute-positioned (or other special positioning) should make its container the rootWebArea, that will ensure it doesn't get clipped by other ancestors.


 
clip.html
734 bytes View Download

Comment 1 by katie@chromium.org, Dec 5 2017

fixed-positioned elements also should not be clipped by ancestors unless that's explicitly set.

example: change #dialog to position:fixed from position:absolute. Select-to-speak still cannot access the lower buttons.

Comment 2 by katie@chromium.org, Dec 5 2017

Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 6 2017

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

commit 9b4b71e58087875b5408dc5f91d18c4bb91969db
Author: Katie Dektar <katydek@google.com>
Date: Wed Dec 06 19:25:41 2017

Fixes clipping on fixed and absolutely positioned elements.

Fixed positioned elements are not clipped by their ancestors,
except by the rootWebArea. Similarly with absolutely positioned
elements, except if they have an ancestor with some non-static
positioning.

Bug:  792124 
Change-Id: I9c31c90fed89179434ae7f89aa18528e929348da
Reviewed-on: https://chromium-review.googlesource.com/809828
Commit-Queue: Katie D <katie@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522162}
[modify] https://crrev.com/9b4b71e58087875b5408dc5f91d18c4bb91969db/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
[add] https://crrev.com/9b4b71e58087875b5408dc5f91d18c4bb91969db/content/test/data/accessibility/html/bounds-absolute-expected-blink.txt
[add] https://crrev.com/9b4b71e58087875b5408dc5f91d18c4bb91969db/content/test/data/accessibility/html/bounds-absolute.html
[add] https://crrev.com/9b4b71e58087875b5408dc5f91d18c4bb91969db/content/test/data/accessibility/html/bounds-fixed-expected-blink.txt
[add] https://crrev.com/9b4b71e58087875b5408dc5f91d18c4bb91969db/content/test/data/accessibility/html/bounds-fixed.html
[modify] https://crrev.com/9b4b71e58087875b5408dc5f91d18c4bb91969db/third_party/WebKit/Source/modules/accessibility/AXObject.cpp

Comment 4 by katie@chromium.org, Dec 6 2017

Status: Fixed (was: Started)

Comment 5 by katie@chromium.org, Jan 10 2018

Labels: a11y-testing
Labels: a11y-testers
Labels: -a11y-testing -a11y-testers
Status: Verified (was: Fixed)
Google Chrome	68.0.3440.15 (Official Build) dev (64-bit)
Firmware Version	Google_Lulu.6301.136.57

Verified. Steps taken:
# Load HTML file linked above
# Use STS to put focus on large and small areas over the entire page, check the focus highlight
# All focus highlights are appropriately sized

Sign in to add a comment