Skip to content

Add support for Word footnote and endnote reference navigation#19310

Merged
seanbudd merged 13 commits into
nvaccess:masterfrom
LeonarddeR:footnote
Dec 3, 2025
Merged

Add support for Word footnote and endnote reference navigation#19310
seanbudd merged 13 commits into
nvaccess:masterfrom
LeonarddeR:footnote

Conversation

@LeonarddeR

@LeonarddeR LeonarddeR commented Dec 1, 2025

Copy link
Copy Markdown
Collaborator

Link to issue number:

Closes #19300 

Summary of the issue:

There is no way to navigate between footnote and endnote references in Word. IN UIA, they are reported as links but quick navigation to links does not work.

Description of user facing changes:

  1. Added references to the elements list for Word with and without UIA
  2. Added an unassigned quicknav command for references.

I chose the word reference here because footnotes/endnotes might be misleading, i.e. you're not navigating between the notes or towards them, you are navigating to the references that point at the foot/endnotes.

Description of developer facing changes:

N/a

Description of development approach:

Use the footnote/endnote annotation for UIA and the footnotes/endnotes collection in the object model.

Testing strategy:

Tested creating and navigating to footnotes and endnotes in Word with and without UIA.

Known issues with pull request:

None

Code Review Checklist:

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

Copilot AI review requested due to automatic review settings December 1, 2025 13:08
@LeonarddeR LeonarddeR requested a review from a team as a code owner December 1, 2025 13:08
@LeonarddeR LeonarddeR requested a review from seanbudd December 1, 2025 13:08
@LeonarddeR LeonarddeR requested a review from a team as a code owner December 1, 2025 13:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds support for navigating footnote references in Microsoft Word documents, addressing issue #19300. The implementation works for both UIA and non-UIA modes.

  • Adds "reference" as a new element type in Word's elements list dialog
  • Implements quick navigation commands for jumping between footnote references
  • Uses Word's footnotes collection in the object model and UIA's footnote annotation attribute

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

File Description
user_docs/en/changes.md Documents the new feature in the changelog for version 2026.1
source/browseMode.py Adds unassigned quick navigation command definition for references
source/NVDAObjects/window/winword.py Implements footnote reference navigation using Word's object model, adds "References" to elements list
source/NVDAObjects/UIA/wordDocument.py Implements footnote reference navigation using UIA annotation attributes, adds "References" to elements list

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

Comment thread source/NVDAObjects/window/winword.py Outdated
Comment thread source/NVDAObjects/UIA/wordDocument.py Outdated
Comment thread source/NVDAObjects/window/winword.py Outdated
Comment thread source/NVDAObjects/UIA/wordDocument.py Outdated
@amirsol81

Copy link
Copy Markdown

@LeonarddeR Thanks for this. Does it also cover endnotes? Like footnotes, NVDA cann't navigate around endnotes in the virtual mode either.

@LeonarddeR

Copy link
Copy Markdown
Collaborator Author

End notes don't work yet, but I guess I can add them pretty easily.

@LeonarddeR LeonarddeR marked this pull request as draft December 1, 2025 18:30
@LeonarddeR LeonarddeR changed the title Add support for Word footnote navigation Add support for Word footnote and endnote reference navigation Dec 1, 2025
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 7 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

Comment thread source/NVDAObjects/UIA/wordDocument.py
Comment thread source/browseMode.py
Comment thread source/NVDAObjects/window/winword.py Outdated
Comment thread source/NVDAObjects/window/winword.py Outdated
Comment thread source/NVDAObjects/window/winword.py Outdated
Comment thread source/NVDAObjects/UIA/wordDocument.py Outdated
Comment thread source/NVDAObjects/UIA/wordDocument.py Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@LeonarddeR

Copy link
Copy Markdown
Collaborator Author

Endnotes are now covered too.

Comment thread source/NVDAObjects/UIA/wordDocument.py Outdated
Comment thread source/NVDAObjects/UIA/wordDocument.py Outdated
Comment thread source/NVDAObjects/window/winword.py Outdated
Comment thread source/NVDAObjects/window/winword.py Outdated
Comment thread source/NVDAObjects/window/winword.py Outdated
Comment thread source/NVDAObjects/window/winword.py Outdated
@seanbudd

seanbudd commented Dec 3, 2025

Copy link
Copy Markdown
Member

Thanks @LeonarddeR

@seanbudd seanbudd merged commit 7ba333a into nvaccess:master Dec 3, 2025
39 of 41 checks passed
@github-actions github-actions Bot added this to the 2026.1 milestone Dec 3, 2025
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.

Word browse mode link navigation doesn't move to foot note references

4 participants