Skip to content
This repository has been archived by the owner on Oct 4, 2021. It is now read-only.

Abstracts IPropertyGrid and uses in Preferences to fix a11c issues #8937

Merged
merged 30 commits into from
Oct 31, 2019

Conversation

netonjm
Copy link
Contributor

@netonjm netonjm commented Oct 16, 2019

NOTES: Proppy doesn't expose any API to allow us remove the toolbar
xamarin/Xamarin.PropertyEditing#663

Also there is an issue in numeric decimal editors in Culture separator symbol non ENGLISH based
xamarin/Xamarin.PropertyEditing#662

Fixes VSTS #1003417 - Replace current F# format preference panel to use native Proppy
Fixes VSTS #1003416 - Replace current XML format preference panel to use native Proppy
Fixes VSTS #1002622 - Add a mechanism outside proppy to hide toolbar
Fixes VSTS #637121 - Accessibility: Preferences - Code Formatting: Unable to access Layout,Refracting,Spacing categorized formattings using keyboard.
Fixes VSTS #637246 - Accessibility: Preferences - Code Formatting F#: Not able to access Attributes,Document,Elements and it’s inside elements under 'Source code -> XML document'.
Fixes VSTS #1001600 - A11Y_Xamarin Designers_Property pane_keyboard : Keyboard is getting trapped at “Automatic tree” check box
Fixes VSTS #1001627 - A11Y_Xamarin Designers_Property pane_keyboard : User is unable to open the “Edit” button by using space/enter keys### Preferences CodeFormating XML
Fixes VSTS #1001625 - A11Y_Xamarin Designers_Property pane_keyboard : User is unable to check/uncheck the “Automatic tree” check box by using space key

image

Preferences CodeFormating F#

image

@netonjm netonjm self-assigned this Oct 16, 2019
@netonjm netonjm requested a review from sevoku October 16, 2019 03:59
@netonjm netonjm force-pushed the proppy-native-preferences branch 2 times, most recently from 2e5448d to 6c5e888 Compare October 17, 2019 12:16
@netonjm netonjm requested a review from Therzok October 17, 2019 12:49
@netonjm
Copy link
Contributor Author

netonjm commented Oct 17, 2019

Branch rebased and ready to review @sevoku

@netonjm netonjm force-pushed the proppy-native-preferences branch 2 times, most recently from 11f2b52 to 78062d4 Compare October 23, 2019 01:29
@netonjm netonjm requested a review from slluis as a code owner October 23, 2019 01:29
@netonjm
Copy link
Contributor Author

netonjm commented Oct 23, 2019

@monojenkins rebase

@mrward
Copy link
Member

mrward commented Oct 25, 2019

Testing this the problems I ran into:

  • Cannot tab into properties from XML and F# tab. (Similar problem with the View - Pad - Properties window)
  • Voice over does not announce Table when the properties control is moved to from the XML and F# tab. It is not obvious from Voice Over that you can move inside the table since Table is not mentioned.
  • The reset button (right hand side of a property) is read by Voice Over as Properties, image. Not obvious what this supports based on what Voice Over reads. (Same problem with View - Pad - Properties window).

Once you get inside the properties control everything seems good. Tabbing around is OK. Voice over works. Only problem is the the reset button/image being read as Properties, image, mentioned above.

@mrward
Copy link
Member

mrward commented Oct 28, 2019

Latest build problems:

  • Cannot tab into properties from XML and F# tab. (Similar problem with the View - Pad - Properties window)
  • Voice over does not announce Table when the properties control is moved to from the XML and F# tab. It is not obvious from Voice Over that you can move inside the table since Table is not mentioned.
  • Voice over seems to only be reading a description for property value controls. It should be reading the associated label, then the full description. As an example currently it reads
    This checkbox is for the Identity on try/with Property. unticked, checkbox.
  • I think it should instead read the label instead of a description. The description does not add anything and it should not describe the control type. Voice over should be saying something like: Identity on try/with. unticked, checkbox.. You should be able to do this by associating the check box with the label on the left hand side.
  • The reset button (right hand side of a property) is read by Voice Over as This is the Property button for the Identity on try/with Property, image. Edit the properties for this editor. The description should not be describing the control type button. Should set an accessibility role here I think so voice over knows to say Press control - option - space to open.

@sevoku
Copy link
Member

sevoku commented Oct 28, 2019

I've tried the latest build now too and see the same issues:

* Cannot tab into properties from XML and F# tab. (Similar problem with the View - Pad - Properties window)

I think this worked before, now proppy is not part of the focus chain at all.

* Voice over does not announce Table when the properties control is moved to from the XML and F# tab. It is not obvious from Voice Over that you can move inside the table since Table is not mentioned.

We should fix that, should be just a matter of setting a11y props on the table view.

@netonjm can we fix these two problems ^^?

The following issues are external in proppy, we should file them separately, but this shouldn't block this PR:

* Voice over seems to only be reading a description for property value controls. It should be reading the associated label, then the full description. As an example currently it reads
  `This checkbox is for the Identity on try/with Property. unticked, checkbox.`

* I think it should instead read the label instead of a description. The description does not add anything and it should not describe the control type. Voice over should be saying something like: `Identity on try/with. unticked, checkbox.`. You should be able to do this by associating the check box with the label on the left hand side.

* The reset button (right hand side of a property) is read by Voice Over as `This is the Property button for the Identity on try/with Property, image. Edit the properties for this editor.` The description should not be describing the control type button. Should set an accessibility role here I think so voice over knows to say `Press control - option - space to open`.

Fixes VSTS #1001627 - A11Y_Xamarin Designers_Property pane_keyboard : User is unable to open the “Edit” button by using space/enter keys
Fixes VSTS #1001625 - A11Y_Xamarin Designers_Property pane_keyboard : User is unable to check/uncheck the “Automatic tree” check box by using space key
@sevoku sevoku added verified The feature or bug fix has been tested and it works and removed do-not-merge labels Oct 31, 2019
@sevoku
Copy link
Member

sevoku commented Oct 31, 2019

@monojenkins backport release-8.4

@sevoku sevoku merged commit 86136a7 into master Oct 31, 2019
@sevoku sevoku deleted the proppy-native-preferences branch October 31, 2019 11:46
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
verified The feature or bug fix has been tested and it works
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants