Skip to content

Implement tab navigation#15332

Merged
seanbudd merged 13 commits into
nvaccess:masterfrom
Danstiv:tabNavigation
Sep 1, 2023
Merged

Implement tab navigation#15332
seanbudd merged 13 commits into
nvaccess:masterfrom
Danstiv:tabNavigation

Conversation

@Danstiv

@Danstiv Danstiv commented Aug 25, 2023

Copy link
Copy Markdown
Contributor

Link to issue number:

#15046

Summary of the issue:

The lack of the ability to quickly switch to tabs complicates navigation

Description of user facing changes

Users will be able to switch between tabs in web documents, by assigning the appropriate gesture.

Description of development approach

  1. Added another elif into _searchableAttribsForNodeType method in iaccessible, UIA and mshtml classes.
  2. Added quick nav for tab navigation.

Testing strategy:

Manual

  1. Assigned y / shift+y gestures to move between tabs.
  2. Opened page with pull request creation form on github and pressed ctrl+home.
  3. Pressed y, nvda announced "Write tab" and focused on it.
  4. Pressed shift+y, NVDA announced "no previous tab", focus has not changed.
  5. Pressed y, NVDA announced "Preview tab" and focused on it.
  6. Pressed y, NVDA announced "no next tab", focus has not changed.
  7. Pressed shift+y, nvda switched to previous Write tab back.

Known issues with pull request:

None

Change log entries:

New features
Added ability to quickly navigate through the tabs, the gestures are not set by default.
Changes
None
Bug fixes
None
For Developers
None

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.

@Danstiv Danstiv marked this pull request as ready for review August 25, 2023 18:34
@Danstiv Danstiv requested a review from a team as a code owner August 25, 2023 18:34
@Danstiv Danstiv requested a review from seanbudd August 25, 2023 18:34
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 21b08ab2ec

@seanbudd

Copy link
Copy Markdown
Member

Can you please add these gestures to the SingleLetterNavigation section of the user guide?

Comment thread source/virtualBuffers/gecko_ia2.py Outdated
@seanbudd seanbudd marked this pull request as draft August 28, 2023 01:35
@Danstiv

Danstiv commented Aug 28, 2023

Copy link
Copy Markdown
Contributor Author

All done.

@Danstiv Danstiv marked this pull request as ready for review August 28, 2023 10:08
@Danstiv Danstiv requested a review from a team as a code owner August 28, 2023 10:08
@Danstiv Danstiv requested a review from Qchristensen August 28, 2023 10:08
@LeonarddeR

Copy link
Copy Markdown
Collaborator

I'm afraid this pr is incomplete as is as it doesn't add support for UIA browse mode. Also mshtml isn't covered, thought that might be less relevant.

Also, personally I'd vote for leaving the tab quicknav gestures unassigned by default, as per a similar rationale as in #9227

@Danstiv

Danstiv commented Aug 28, 2023

Copy link
Copy Markdown
Contributor Author

personally I'd vote for leaving the tab quicknav gestures unassigned by default

Yes, that's probably a good idea.

@Danstiv Danstiv marked this pull request as draft August 28, 2023 15:15
@Danstiv

Danstiv commented Aug 28, 2023

Copy link
Copy Markdown
Contributor Author

Should unassigned gestures be documented somewhere?

@LeonarddeR

LeonarddeR commented Aug 28, 2023 via email

Copy link
Copy Markdown
Collaborator

@Danstiv Danstiv marked this pull request as ready for review August 28, 2023 16:26

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good, just needs user guide documentation

@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Aug 28, 2023
@Danstiv

Danstiv commented Aug 29, 2023

Copy link
Copy Markdown
Contributor Author

just needs user guide documentation

As far as I understand, unassigned gestures are undocumented right now, so I think it's worth creating a new PR for this.
I am not ready to do this as my English is not good enough.

@seanbudd

Copy link
Copy Markdown
Member

You are correct that this is the current norm, however as per #13024, it would be ideal to document these features in the user guide anyway. An unbound gesture should still be a documented feature in NVDA.

If you can write some basic documentation, we can help with expanding it, grammar, spelling and sentence structure.

@seanbudd seanbudd marked this pull request as draft August 30, 2023 00:29
@Danstiv

Danstiv commented Aug 30, 2023

Copy link
Copy Markdown
Contributor Author

Should these gestures be included in the Commands quick reference?

@Danstiv Danstiv marked this pull request as ready for review August 30, 2023 11:34
@AppVeyorBot

This comment was marked as off-topic.

@Danstiv

Danstiv commented Aug 30, 2023

Copy link
Copy Markdown
Contributor Author

Why did it fail?

@LeonarddeR

Copy link
Copy Markdown
Collaborator

@Danstiv the system test failures are unrelated. CC @seanbudd

Comment thread source/UIAHandler/browseMode.py Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
@seanbudd

Copy link
Copy Markdown
Member

Should these gestures be included in the Commands quick reference?

I don't think so, but maybe? I'd like to see this discussed on #13024. Including key commands is done automatically with the macro kc:include.

Why did it fail?

Apologies, our test randomly fail due to the AppVeyor environment messing with focus. Don't worry about this issue.

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for adding documentation. This generally looks good

Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
@Danstiv Danstiv marked this pull request as draft August 31, 2023 12:17
@Danstiv Danstiv marked this pull request as ready for review August 31, 2023 12:17
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 1f55146aad

@Qchristensen Qchristensen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Slight update to the user guide change, otherwise looks good.

Comment thread user_docs/en/userGuide.t2t Outdated
@seanbudd seanbudd merged commit 128f683 into nvaccess:master Sep 1, 2023
@nvaccessAuto nvaccessAuto added this to the 2023.3 milestone Sep 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants