WICG / accessible-loading-and-searching-of-content

Enable ATs to recognize and account for virtualized content when navigating a web page.
Other
6 stars 6 forks source link

This has the potential to degrade experience when desired content is outside virtual-content container #6

Open jspurlin opened 3 years ago

jspurlin commented 3 years ago

The concern here is if the user is using the AT to search for content and that content is outside of the virtual-content element, the AT will scroll the the virtual-content region until there's no more scrolling (...what happens in infinite scrolling cases...) before searching outside of the virtual-content element.

This could result in poor performance and overall experience for the user, and in the worst case, like infinite scrolling, the user could become "suck" in the virtual-content element

kbabbitt commented 3 years ago

Thanks for the comments!

I think there are tools available to content and AT authors to help smooth out the experience, for example:

Having said that, I like the idea of differentiating between infinite and finite content - that would help AT authors and users decide whether to trigger a scroll for more content, or to skip past the virtual content region.

jspurlin commented 3 years ago

One other note that I don't think your response covers:

If the AT is calling scroll in the virtual-content element to continue looking for the requested controlType (until it can't scroll anymore), it has the potential for the user to lose their context if it was unexpectedly scrolled out of view.

For example, a user may be editing on page 130 of a 150 page document and attempts to find a button above the scrollable area (via AT) to execute on some content in the virtual-content area, but the act of searching for the button makes the document scroll to the top which is a poor experience and increases cognitive load due to the loss of visual context.

dlibby- commented 3 years ago

If nothing is found, perhaps the AT could scroll the (AT) focused element back into view when done. I don't expect AT to move focus unless it actually finds something to navigate to in response to the user input.

As discussed offline, keeping focus is important for a number of reasons (not losing context, not causing previously current context to itself get virtualized as it goes out of view on the assumption that the web application has handling for not virtualizing something that has focus).