New issue
Advanced search Search tips

Issue 853642 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

IAccessible2::scrollTo() ignores actual visibility

Project Member Reported by mike.hil...@gmail.com, Jun 18 2018

Issue description

If you call IAccessible2::scrollTo(IA2_SCROLL_TYPE_ANYWHERE) it's supposed to make the element visible.

However, if the web page is constructed with fixed size objects that overlap the scroll-able area, then it scrolls the page to make the element fit within the bounds of the scroll-able area, but does not take into account any objects on top of that area, so the element may end up still not actually visible.

An example of this is the spotify web player. The player controls bar across the bottom of the page is a fixed object. The playlist scrolls up and down below this object. ScrollTo() will bring an object into view, but may position it underneath the player controls so you still can't actually see it.
 
Status: Available (was: Untriaged)
This is a tricky one! I'm worried it might not be possible to solve in general, you could imagine someone constructing a malicious page so that the only way to make the object visible would be to solve a maze or something like that.

I wonder if defaulting to centering the object might help.

Leaving as Pri-3 unless anyone can suggest a straightforward improvement we could make.

I agree that this is tricky and you could construct difficult pages to break this, however most real world examples are very simple and usually just have the object clipped on one or more edges. 

I would suggest you work out the visible region of the scroll-able area. If this is a rect, then that's what you need to move the element into to make it visible. If it's more complex then maybe pick the largest sub-rectangle, or center the element on the bounding rect of the region.


Sign in to add a comment