Skip to content

Prototype Nav to annotation and return in browse mode#14389

Closed
feerrenrut wants to merge 5 commits into
masterfrom
navToAnnotation-browseMode
Closed

Prototype Nav to annotation and return in browse mode#14389
feerrenrut wants to merge 5 commits into
masterfrom
navToAnnotation-browseMode

Conversation

@feerrenrut

@feerrenrut feerrenrut commented Nov 22, 2022

Copy link
Copy Markdown
Contributor

Currently this is just a prototype. There are several more aspect of the UX that need to be developed and combined to test the full experience. Once the prototypes are accepted, then the work can be polished and made ready for alpha.

Link to issue number:

Partial fix for #13940

Summary of the issue:

When encountering an annotation, "has details" is reported.
The summary of the annotation can be reported with NVDA+d
However, if the annotation contains complex structure, or can be interacted with (E.G. a comment thread), there is no easy way for the user to navigate to the annotation.
Additionally, some locations may have multiple annotation targets.

Description of user facing changes

Please note, the shortcuts used are not final, and not intended to be the focus of this prototype.

  • This provides a UX for interacting with multiple annotation targets.
  • Provide navigate (down) to a annotation target.
  • Provide navigation (up) to the last annotation origin.
  • Cycles are not automatically detected, users need to observe this themselves.

Overview:

  • Repeatedly press NVDA+d to select the annotation they are interested in (based on the reported summary).
  • The summaries loop back to the start. It's expected to be uncommon to have many annotations starting for a single origin.
  • Pressing NVDA+alt+d will navigate to the annotation target last summarized. After navigation, NVDA will 'read line' for the location.
    • If no summary has been announced, navigate to the first.
  • The user can then navigate around the annotation target.
  • Pressing NVDA+alt+shift+d will navigate back to the annotation origin.

Description of development approach

  • To navigate to the target, the implementation for quick nav was used as an example.
  • Extracted Annotation origin and Annotation Target concepts.
  • Keep track of the last reported annotation origin / annotation target index using new classes in globalCommands.py

Testing strategy:

Known issues with pull request:

Max 10 targets are fetched, this should be dynamic, however there is a bug preventing this, requiring investigation.

Change log entries:

New features
Changes
Bug fixes
For Developers

Code Review Checklist:

  • Pull Request description:
    • description is up to date
    • change log entries
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • API is compatible with existing add-ons.
  • Documentation:
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • Security precautions taken.

@feerrenrut feerrenrut force-pushed the navToAnnotation-browseMode branch 2 times, most recently from 0b5c749 to d096ffc Compare November 23, 2022 08:14
@feerrenrut feerrenrut force-pushed the navToAnnotation-browseMode branch from 3fe1efd to ba0da60 Compare December 8, 2022 09:11
@feerrenrut feerrenrut mentioned this pull request Dec 8, 2022
8 tasks
seanbudd added a commit that referenced this pull request Jan 5, 2023
Supersedes #14389 and #14426.
Fixes #14360

Summary of the issue:
Before this PR, NVDA was only aware of the first annotation target.
NVDA announces the presence of an annotation target.
nvda+d is used to announce the summary of the first annotation target.

This PR introduces base code to support multiple annotation targets, and enables cycling though reporting each summary.
Similarly, #14507 introduces reporting the presence of multiple annotation targets.

Description of user facing changes
nvda+d now cycles through reporting each annotation target for an annotated item. For example reading the summary of each child comment.

Description of development approach
Creates abstractions for the relationships between annotation origins and targets.
The global command to report a summary of an annotation target has been updated.
@nvdaes

nvdaes commented Jan 21, 2023

Copy link
Copy Markdown
Collaborator

I'll use the code provided on this PR for the next version of the enhancedAnnotations add-on., just with minor changes.
Consequently, I'll add copyright NV Access along my name (present in the first versions of the add-on, where it was possible navigation just to the first annotation origin).
cc: @GeorgeKerscher

@seanbudd

Copy link
Copy Markdown
Member

Closing this as abandoned. The prototype has been implemented in an add-on. We can consider the implementation and UX there in a future re-attempt

@seanbudd seanbudd closed this May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants