hypothesis / product-backlog

Where new feature ideas and current bugs for the Hypothesis product live
118 stars 7 forks source link

SPIKE: Improve experience for creating annotations/highlights with NVDA (and JAWS) #1148

Open klemay opened 3 years ago

klemay commented 3 years ago

Overview

When using VoiceOver for Mac to annotate, VoiceOver will read out the text that is being selected, whether that's character-by-character, or word-by-word. You can see this in action here:

https://www.youtube.com/watch?v=AOyVt1w_MUU

I have worked extensively with two users who are blind and experienced with NVDA and JAWS, and they have worked with each other to try and replicate this workflow in NVDA and JAWS with no success. The short version: text selection with NVDA and JAWS happens in an invisible text layer that the Hypothesis client doesn't see. When text is selected, the annotation adder doesn't appear. When NVDA or JAWS users interact directly with the page, they can create text selections but there is no audio feedback

Research and troubleshooting

Here is a summary of our findings thus far:

Helpful documentation

Questions for developers

Additional information

The two users who I have been working with have said they'd be willing to meet with a developer for a screenshare of the current experience, and/or to test out solutions that we may come up with. I can put developers in touch with these two (very generous!) individuals.

klemay commented 3 years ago

From one of our partners:

I was digging around and found the potential to create a user script in a browser (via TamperMonkey or GreaseMonkey) and found I can add an aria application region around items so that all keys are automatically passed through to the application. I wonder if you put an aria application region around your Hypothesis iFrame if it might give us screen reader users more control over selecting the text we want to annotate.

...might be worth a try!

klemay commented 3 years ago

Notes from a call with our friends at Benetech and an accessibility developer they introduced us to:

See Slack for Rob's notes from this call.

klemay commented 3 years ago

Dan and Katelyn met with the founder and general manager of NVAccess - this meeting suggests the accessibility developer we spoke to was pessimistic re: NVAccess' willingness to implement changes on their end. Notes from the call in Slack.

robertknight commented 1 year ago

A couple of Slack threads with some recent updates on this:

  1. Work has been done on NVDA towards making it possible to set the DOM selection to match what is currently selected in the virtual buffer. Once the DOM selection has been updated, a user can then use the various shortcuts ("a", "h", "s") to create or view annotations for that selection. See https://hypothes-is.slack.com/archives/C8TPC8XMK/p1663155931072379 for status update.
  2. We discussed some ideas for a workaround until (1) is complete: https://hypothes-is.slack.com/archives/C8TPC8XMK/p1663334444636889
dananjohnson commented 1 year ago

This thread has been really valuable to my team as we work on making annotating more accessible in Manifold Scholarship. Thanks to everyone involved for your efforts!

@robertknight do you have any more details you can share re: item 1 in your most recent comment, for those of us who aren't in the Hypothes.is Slack? It's exciting to hear that NVDA is working on matching DOM and virtual buffer selection!

robertknight commented 1 year ago

I'm not sure of the exact status of work in NVDA, but here are some relevant issues:

The last update on the NVDA PR, from Feb 13th 2023, says:

Blocked by further work on the implementation by Chrome/Firefox

I don't know exactly what that work is.

dananjohnson commented 1 year ago

Thanks, @robertknight! Really appreciate the update and these links.