Odd scrolling behavior in VoiceOver/Mac
Odd scrolling behavior in VoiceOver/Mac
- Subject: Odd scrolling behavior in VoiceOver/Mac
- From: "Drake, Ted" <email@hidden>
- Date: Tue, 20 Oct 2015 17:34:38 +0000
- Thread-topic: Odd scrolling behavior in VoiceOver/Mac
Hi All
We are working with the grid developers for DOJO and have come across a
strange behavior on scrolling tables. They¹ve submitted a bug to Apple,
but I¹m wondering if anyone on this list has a suggestion for this
problem. I¹ve already explained to the group why they are not able to
detect VoiceOver via JavaScript.
Thank you
Ted Drake, Intuit Accessibilty
Here¹s the team's response:
We spent quite a while looking through the grid code for any incorrect
behavior that would create the odd scrolling behavior. For example: rows
focusing incorrectly, scroll positions being set manually, or the header
stealing focus.
After no errors were found in that part of the grid code, we created a
test case to try to isolate the problem. By placing a significant amount
of content both above and below a scrolling div, we can create this very
odd scrolling behavior. The trigger for this behavior is a simple focus
call on a node. When VoiceOver is enabled, it appears Safari is trying to
move the row to the top of the viewport rather than the top of the
scrolling div.
Attached is the test case for the bug report which has been submitted to
Apple in both the OS X and Safari categories. The bug report has been
duplicated on OpenRadar and we¹ll keep it up to date with Apple¹s
response:http://openradar.appspot.com/radar?id=5010350101495808
<http://openradar.appspot.com/radar?id=5010350101495808>
We spent some time trying to see if there's an acceptable way to manually
correct the incorrect scrolling that doesn't make everything jump around
and doesn't break the existing scroll behavior.
Here¹s what we learned during this testing: Immediately after focus is
called, the node is correctly offset. After a very short time during which
the VoiceOver system decides to reposition the node, things become
incorrect. There does not seem to be a good way to properly determine this
duration (it seems to run "outside" of the JavaScript runtime) and there
seems to be no way to figure out whether VoiceOver is enabled or disabled
from JavaScript.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden