Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UIA: support movement by page #13756

Open
codeofdusk opened this issue Aug 16, 2022 · 3 comments · May be fixed by #14179
Open

UIA: support movement by page #13756

codeofdusk opened this issue Aug 16, 2022 · 3 comments · May be fixed by #14179
Assignees
Labels
A11yMAS Accessibility tracking A11ySev3 Accessibility tracking A11yWCAG Accessibility tracking Area-Accessibility Issues related to accessibility Disability-All Accessibility tracking HCL-E+D Accessibility tracking HCL-WindowsTerminal Accessibility tracking In-PR This issue has a related PR InclusionBacklog Accessibility tracking InclusionBacklog-Windows TerminalWin32 Accessibility tracking Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Conhost For issues in the Console codebase Product-Terminal The new Windows Terminal. WindowsTerminal_Win32
Milestone

Comments

@codeofdusk
Copy link
Contributor

codeofdusk commented Aug 16, 2022

Description of the new feature/enhancement

In nvaccess/nvda#13671 (comment) @carlos-zamora thought that wt and conhost should implement movement, expansion, etc. by the UIA "page" unit. This would help NVDA to solve nvaccess/nvda#13157 and improve the UX for other UIA clients.

Proposed technical implementation details (optional)

The "page" unit should represent one visible screen of text, and behave similar to Microsoft Word's implementation. In other words:

  1. Run the "less" command, or anything else that paginates output.
  2. Jump to the end of the text. For iinstance, create a document range and "collapse" it by moving its start to its end, creating a degenerate range.
  3. Move this new degenerate range back one page. It should now be a degenerate range at the start of the currently visible screen of output.
  4. Expand to enclosing unit. The range should now span the visible output.
  5. Move to the previous page. The range should now contain the last visible screen of output.
@codeofdusk codeofdusk added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Aug 16, 2022
@ghost ghost added Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Aug 16, 2022
@carlos-zamora
Copy link
Member

This should be relatively easy. Here's a checklist of things needed:

  • UiaTextRangeBase
    • Add _moveEndpointByUnitPage() and call it in Move() and MoveEndpointByUnit()
    • Update ExpandToEnclosingUnit()
  • Testing

@carlos-zamora carlos-zamora self-assigned this Aug 16, 2022
@carlos-zamora carlos-zamora added Area-Accessibility Issues related to accessibility Product-Terminal The new Windows Terminal. and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Aug 16, 2022
@carlos-zamora
Copy link
Member

Also tagging this up for the Inclusion Backlog so that we get accessibility points for it

@carlos-zamora carlos-zamora added Product-Conhost For issues in the Console codebase InclusionBacklog Accessibility tracking InclusionBacklog-Windows TerminalWin32 Accessibility tracking A11yMAS Accessibility tracking Disability-All Accessibility tracking labels Aug 16, 2022
@carlos-zamora carlos-zamora added this to the Terminal v1.17 milestone Aug 16, 2022
seanbudd pushed a commit to nvaccess/nvda that referenced this issue Aug 17, 2022
Closes #13157 (given microsoft/terminal#13756). Supercedes #13671.

Summary of the issue:
There is no way to move the review cursor by page. This is especially useful in terminals as a "page" can be defined as a screenful of text, solving #13157 without violating any other assumptions in NVDA and still permitting easy jump to the absolute top/bottom of the terminal buffer using the currently existing scripts.

Description of how this pull request fixes the issue:
Added new scripts (bound to NVDA+pageUp/NVDA+pageDown on desktop and NVDA+Shift+pageUp/NVDA+Shift+pageDown on laptop) to move to previous/next page respectively.
@carlos-zamora carlos-zamora linked a pull request Oct 10, 2022 that will close this issue
2 tasks
@ghost ghost added the In-PR This issue has a related PR label Oct 10, 2022
@zadjii-msft zadjii-msft modified the milestones: Terminal v1.17, Backlog Jan 24, 2023
@mltony
Copy link

mltony commented Jan 20, 2024

Is there any progress on this? Lack of page navigation support prevents screenreader users from effectively working with many unix tools with latest NVDA.

@Priyanka-Chauhan123 Priyanka-Chauhan123 added HCL-E+D Accessibility tracking A11yWCAG Accessibility tracking HCL-WindowsTerminal Accessibility tracking A11ySev3 Accessibility tracking labels Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A11yMAS Accessibility tracking A11ySev3 Accessibility tracking A11yWCAG Accessibility tracking Area-Accessibility Issues related to accessibility Disability-All Accessibility tracking HCL-E+D Accessibility tracking HCL-WindowsTerminal Accessibility tracking In-PR This issue has a related PR InclusionBacklog Accessibility tracking InclusionBacklog-Windows TerminalWin32 Accessibility tracking Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Conhost For issues in the Console codebase Product-Terminal The new Windows Terminal. WindowsTerminal_Win32
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants