Skip to content

Fixing Domain/NumericUpDown AccessibleNames and navigation#2382

Merged
RussKie merged 1 commit intodotnet:masterfrom
vladimir-krestov:dev/v-vlkres/2370_Numeric_Domain_UpDown_AccName
Dec 1, 2019
Merged

Fixing Domain/NumericUpDown AccessibleNames and navigation#2382
RussKie merged 1 commit intodotnet:masterfrom
vladimir-krestov:dev/v-vlkres/2370_Numeric_Domain_UpDown_AccName

Conversation

@vladimir-krestov
Copy link
Contributor

@vladimir-krestov vladimir-krestov commented Nov 18, 2019

Proposed changes

  • Add default AccessibleNames for Domain/NumericUpDown AccessibleObjects
  • Make code refactoring
  • Add unit tests
  • Implement UIA provider for UpDown control to fix ScreenReader navigation

Customer Impact

Regression?

  • Yes

Risk

  • Minimal

Screenshots

Before

  • Domain/NumericUpDown AccessibleObjects have "Spinner" default AccessibleNames
    image
  • Narrator navigation using CapsLock+keyboard arrows:
    1. Forward:
      Narrator skips an UpDown container and up/down buttons announcing an edit pane only

    2. Backward:
      Narrator announces an edit pane and UpDown container but skips up/down buttons
      BeforeNarrator

After

  • Domain/NumericUpDown AccessibleObjects have correct default AccessibleNames
    image
  • Narrator navigation using CapsLock+keyboard arrows:
    Narrator announces all UpDown items according to an accessibility tree
    AfterNarrator

Test methodology

  • Unit testing
  • CTI
  • Manual UI testing

Accessibility testing

  • Using Inspect and Narrator tools

Test environment(s)

  • SDK Version: 5.0.100-alpha1-015730
  • Microsoft Windows [Version 10.0.18363.418]
Microsoft Reviewers: Open in CodeFlow

@vladimir-krestov vladimir-krestov requested a review from a team as a code owner November 18, 2019 14:52
@vladimir-krestov vladimir-krestov self-assigned this Nov 18, 2019
@vladimir-krestov vladimir-krestov added waiting-for-testing The PR is awaiting manual testing by the primary team; no action is yet required from the author(s) waiting-review This item is waiting on review by one or more members of team labels Nov 18, 2019
@codecov
Copy link

codecov bot commented Nov 18, 2019

Codecov Report

Merging #2382 into master will decrease coverage by 0.02321%.
The diff coverage is 5.55556%.

@@                Coverage Diff                 @@
##              master      #2382         +/-   ##
==================================================
- Coverage   29.22201%   29.1988%   -0.02321%     
==================================================
  Files           1003       1003                 
  Lines         259503     259610        +107     
  Branches       36836      36852         +16     
==================================================
- Hits           75832      75803         -29     
- Misses        178763     178901        +138     
+ Partials        4908       4906          -2
Flag Coverage Δ
#Debug 29.1988% <5.55556%> (-0.02322%) ⬇️
#production 29.1988% <5.55556%> (-0.02322%) ⬇️
#test 100% <ø> (ø) ⬆️

@ghost ghost added the waiting-author-feedback The team requires more information from the author label Nov 20, 2019
@RussKie RussKie removed the waiting-review This item is waiting on review by one or more members of team label Nov 20, 2019
@ghost ghost removed the waiting-author-feedback The team requires more information from the author label Nov 20, 2019
@vladimir-krestov
Copy link
Contributor Author

image

At the moment, I changed AccessibleNames for UpDown buttons to avoid Mas bugs:

image

image

@vladimir-krestov
Copy link
Contributor Author

At the moment, Narrator doesn't announce UpDown buttons, separated #2406 Issue was created.
Also, Narrator jumps out from Domain/NumericUpDown if a user moves forward using CapsLock+righ arrow combination.
If to move backward Narrator announces Domain/NumericUpDown control and edit panel, but if to move forward Narrator announces edit panels only.
Please see gif:

NarratorJumpsOut

.Net 4.8 works in a similar way.
@merriemcgaw, this is a bug or design decision?

@vladimir-krestov vladimir-krestov force-pushed the dev/v-vlkres/2370_Numeric_Domain_UpDown_AccName branch from aa280a4 to 1a614a2 Compare November 26, 2019 15:44
RussKie
RussKie previously approved these changes Nov 27, 2019
Copy link
Contributor

@RussKie RussKie left a comment

Choose a reason for hiding this comment

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

LGTM, few stylistic comments

Copy link
Contributor

@RussKie RussKie left a comment

Choose a reason for hiding this comment

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

👍

@vladimir-krestov
Copy link
Contributor Author

In the last commits, I fixed ScreenReader navigation using CapsLock+keyboard arrow combination, please see gifs in the description.

@vladimir-krestov
Copy link
Contributor Author

At the moment, I don't know why CI build fails. I'll check it as soon as possible.

@vladimir-krestov vladimir-krestov changed the title WIP: Fixing Domain/NumericUpDown AccessibleNames WIP: Fixing Domain/NumericUpDown AccessibleNames and navigation Nov 28, 2019
PR dotnet#2382
Fixes dotnet#2370
Fixes dotnet#2406
Fixes ScreenReader navigation using CapsLock+arrows

Added default names for UpDown containers
Added default names for Up/Down button group

Implemented UIA provider for Domain/NumericUpDown controls
Implemented UIA provider for UpDownButtons group

Added unit tests
Made code refactoring
@vladimir-krestov vladimir-krestov force-pushed the dev/v-vlkres/2370_Numeric_Domain_UpDown_AccName branch from 818e5fb to ec860d0 Compare November 29, 2019 13:49
@vladimir-krestov vladimir-krestov removed the waiting-for-testing The PR is awaiting manual testing by the primary team; no action is yet required from the author(s) label Nov 29, 2019
@vladimir-krestov vladimir-krestov changed the title WIP: Fixing Domain/NumericUpDown AccessibleNames and navigation Fixing Domain/NumericUpDown AccessibleNames and navigation Nov 29, 2019
@vladimir-krestov
Copy link
Contributor Author

Testers approved these changes ✔️

@RussKie RussKie merged commit 5aeb34a into dotnet:master Dec 1, 2019
@ghost ghost added this to the 5.0 milestone Dec 1, 2019
ghost pushed a commit that referenced this pull request Oct 27, 2020
Fixes #4123

I tracked the current behavior to this PR: #2382

## Proposed changes

- DomainUpDown/NumericUpdown should return true when queried for IsKeyboardFocusablePropertyId and they are visible and enabled. This is the behavior of the base class, so we shouldn't override it here.

## Regression? 

- Yes.

## Risk

- Someone might be relying on the current behavior.

## Test methodology <!-- How did you ensure quality? -->

- Added new tests.
@vladimir-krestov vladimir-krestov deleted the dev/v-vlkres/2370_Numeric_Domain_UpDown_AccName branch November 4, 2020 07:37
@ghost ghost locked as resolved and limited conversation to collaborators Feb 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

2 participants