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

GridSplitter accessibility issue reported by Accessibility Insights #3399

Closed
1 task
mrlacey opened this issue Jul 24, 2020 · 7 comments · Fixed by #3401 or #3823
Closed
1 task

GridSplitter accessibility issue reported by Accessibility Insights #3399

mrlacey opened this issue Jul 24, 2020 · 7 comments · Fixed by #3401 or #3823
Labels
Milestone

Comments

@mrlacey
Copy link
Contributor

mrlacey commented Jul 24, 2020

Describe the bug

The GridSplitter uses a symbol for the handle icon ("\xE784" & "\xE76F") and this is exposed to the automation tools. However, this is not an accessible value and so fails basic accessibility testing.

  • Is this bug a regression in the toolkit? If so, what toolkit version did you last see it work:

Steps to Reproduce

Steps to reproduce the behavior:

  1. Add a GridSplittter to a page and run the app
  2. Analyze with Accessibility Insights for Windows
  3. See error

Expected behavior

Controls should not fail basic accessibility tests

Screenshots

This is what the tool reports. Note that the icon (from 'Segoe MDL2 Assets') cannot be rendered by accessibility software.

partial screenshot showing error report

Environment

NuGet Package(s): Microsoft.Toolkit.Uwp.UI.Controls

Package Version(s): 6.1.0

Windows 10 Build Number:
- [ ] Fall Creators Update (16299)
- [ ] April 2018 Update (17134)
- [ ] October 2018 Update (17763)
- [ ] May 2019 Update (18362)
- [x] May 2020 Update (19041)
- [ ] Insider Build (build number: )

App min and target version:
- [ ] Fall Creators Update (16299)
- [ ] April 2018 Update (17134)
- [ ] October 2018 Update (17763)
- [x] May 2019 Update (18362)
- [x] May 2020 Update (19041)
- [ ] Insider Build (xxxxx)

Device form factor:
- [x] Desktop
- [ ] Xbox
- [ ] Surface Hub
- [ ] IoT

Visual Studio 
- [ ] 2017 (version: )
- [x] 2019 (version: 16.6.4) 
- [ ] 2019 Preview (version: )

Additional context

The fix is to expose an appropriate automation name/description for this element.

There may be other controls with accessibility issues and I haven't looked at them (yet) but this was found while testing the accessibility of apps generated by Windows Template Studio (X-Ref: microsoft/TemplateStudio#3723)

@mrlacey mrlacey added the bug 🐛 An unexpected issue that highlights incorrect behavior label Jul 24, 2020
@ghost ghost added the needs triage 🔍 label Jul 24, 2020
@ghost
Copy link

ghost commented Jul 24, 2020

Hello mrlacey, thank you for opening an issue with us!

I have automatically added a "needs triage" label to help get things started. Our team will analyze and investigate the issue, and escalate it to the relevant team if possible. Other community members may also look into the issue and provide feedback 🙌

@Kyaa-dost
Copy link
Contributor

Thanks, @mrlacey for the find! Are you already working on a fix?

@mrlacey
Copy link
Contributor Author

mrlacey commented Jul 24, 2020

Thanks, @mrlacey for the find! Are you already working on a fix?

can do ;)

@michael-hawker
Copy link
Member

Thanks @mrlacey, I'm planning on my stream tomorrow afternoon to attempt the initial refactor of the GridSplitter (based on my ContentSizer control), but I believe the content symbol will work similarly/the same; so I imagine it has the same issue?

Are we just missing an automation property name somewhere?

@michael-hawker michael-hawker added this to the 7.0 milestone Jul 27, 2020
@mrlacey mrlacey changed the title GridSplitter GridSplitter accessibility issue reported by Accessibility Insights Jul 28, 2020
@mrlacey
Copy link
Contributor Author

mrlacey commented Jul 28, 2020

what a dreadful original title - fixed. sorry.

mrlacey added a commit to mrlacey/UWPCommunityToolkit that referenced this issue Jul 28, 2020
@ghost ghost added the In-PR 🚀 label Jul 28, 2020
ghost pushed a commit that referenced this issue Aug 11, 2020
## Fixes #3399 
<!-- Add the relevant issue number after the "#" mentioned above (for ex: Fixes #1234) which will automatically close the issue once the PR is merged. -->

<!-- Add a brief overview here of the feature/bug & fix. -->

Previously the symbol showing two lines on the GridSplitter was being exposed to the UI Automation Tree with a value outside the valid unicode range.
This removes the textblock containing the symbol from the UIA tree as it's not needed. The whole GridSplitter shows up in the tree. The symbol is just a nice visual extra on the control.

## PR Type
What kind of change does this PR introduce?
<!-- Please uncomment one or more that apply to this PR. -->

 Bugfix 
<!-- - Feature -->
<!-- - Code style update (formatting) -->
<!-- - Refactoring (no functional changes, no api changes) -->
<!-- - Build or CI related changes -->
<!-- - Documentation content changes -->
<!-- - Sample app changes -->
<!-- - Other... Please describe: -->


## What is the current behavior?
<!-- Please describe the current behavior that you are modifying, or link to a relevant issue. -->

Accessibility Insights for Windows (& Axe.Windows) reports an issue with the GridSplitter when used in any app.

## What is the new behavior?
<!-- Describe how was this issue resolved or changed? -->

No issue now reported.
This is a change to how a symbol is exposed to the UIA Tree. No visual or functional differences are included with this change.

## PR Checklist

Please check if your PR fulfills the following requirements:

- [x] Tested code with current [supported SDKs](../readme.md#supported)
- [ ] Pull Request has been submitted to the documentation repository [instructions](..\contributing.md#docs). Link: <!-- docs PR link -->
- [ ] Sample in sample app has been added / updated (for bug fixes / features)
    - [ ] Icon has been created (if new sample) following the [Thumbnail Style Guide and templates](https://github.com/windows-toolkit/WindowsCommunityToolkit-design-assets)
- [ ] Tests for the changes have been added (for bug fixes / features) (if applicable)
- [ ] Header has been added to all new source files (run *build/UpdateHeaders.bat*)
- [x] Contains **NO** breaking changes

<!-- If this PR contains a breaking change, please describe the impact and migration path for existing applications below. 
     Please note that breaking changes are likely to be rejected. -->


## Other information
@ghost ghost added Completed 🔥 and removed In-PR 🚀 labels Aug 11, 2020
@azchohfi
Copy link
Contributor

Closing, as this is now shipped:
https://www.nuget.org/packages/Microsoft.Toolkit.Uwp.Notifications/6.1.1

@ghost ghost locked as resolved and limited conversation to collaborators Oct 12, 2020
@michael-hawker
Copy link
Member

@azchohfi I don't think this ever got merged back to main. Going to re-open so we can cherry-pick the commit.

@michael-hawker michael-hawker self-assigned this Feb 12, 2021
@ghost ghost added in progress 🚧 and removed Completed 🔥 labels Feb 12, 2021
@michael-hawker michael-hawker removed their assignment Feb 25, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
4 participants