WindowsAppCommunity / UWPCommunityApp

A UWP companion app for the UWP Community website
https://www.microsoft.com/store/apps/9PJW4588MKV0
13 stars 5 forks source link

App accessibility issues #69

Closed marcelwgn closed 4 years ago

marcelwgn commented 4 years ago

The app has multiple accessibility issues:

Icon buttons don't have a UIA name

Almost all icon buttons don't have a UIA name making them completely inaccessible.

Project cards don't have an accessible friendly description

When using Accessibility Insights or Narrator, when focusing a "project card" (the card representing the project in the projects list), a lot of API information get's presented to the user (discord ID, email, account creation year, etc). Instead it should provide the name and description of the project.

Project cards should provide InvokePattern

To indicate that the project cards can be "clicked", they should provide the InvokePattern.

Llamingo cards should provide TogglePattern

To indicate that the cards are toggable, they should provide the TogglePattern

Tab order seems unintuitive

View the tab order for the buttons:

image

I think it is more intuitive if instead of the current order 4,5,6 the item which is marked as 5 would actually be the fourth item in the tab order, 6 being the fifth and 4 being the sixth.

Similarly:

image

I think switching 3 and 5 tab order wise is more consistent and intuitive as we would move from left to right.

yoshiask commented 4 years ago

Thank you for bringing this to my attention! I wasn't aware of these issues or how to solve them, so this has been very helpful.

Icon buttons don't have a UIA name I'm currently going through every interactive element in the app with Narrator on to make sure that the names are helpful. I also added tooltips to buttons without a label. This should be included in the next release (1.2.0)

Project cards don't have an accessible friendly description Now they do! It reads out the app name and then the description. Tabbing through the list in the Projects page reads just the titles.

Project cards should provide InvokePattern Implemented in release 1.2.0. I couldn't figure this out from the docs, what exactly does implementing this do?

Llamingo cards should provide TogglePattern I'm confused as to why this doesn't already work. The Llamingo tiles are just ToggleButtons with a custom style, they're not even retemplated. If this is something that all ToggleButtons should have, I think it's an issue that should be opened with WinUI. (I'll still try and implement it here though)

Tab order seems unintuitive Also fixed in release 1.2.0

marcelwgn commented 4 years ago

Implemented in release 1.2.0. I couldn't figure this out from the docs, what exactly does implementing this do?

It tells UIA software such as Narrator, that items can be invoked. Other patterns such as SelectionPattern indicate other things such as an item has a selection or that it can be expanded/collapsed, In the specific case of narrator for example, they would be announced as selected/unselected or expanded/collapsed.

I'm confused as to why this doesn't already work. The Llamingo tiles are just ToggleButtons with a custom style, they're not even retemplated. If this is something that all ToggleButtons should have, I think it's an issue that should be opened with WinUI. (I'll still try and implement it here though)

Now I am confused why I wrote that it doesn't. I just checked again and they implement it, so guess I missed it when I wrote the issue. Sorry about the confusion.

Regarding the other things, awesome that you made the changes!

yoshiask commented 4 years ago

1.2.0 is releasing soon, closing issue