xamarin / Xamarin.Forms

Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
https://aka.ms/xamarin-upgrade
Other
5.62k stars 1.87k forks source link

[Bug] [Android] Editor control unusable with Soft Braille Keyboard - braille keyboard for blind #15221

Open dawidpieper opened 2 years ago

dawidpieper commented 2 years ago

Description

"Soft braille keyboard" is no longer supported, but unfortunately actively used keyboard enabling blind users to use braille when writing text. When developing application using .net MAUI we were reported that it is impossible to correctly enter text in Editor fields. Unfortunately it was proven that many users use this keyboard, so currently Xamarin.Forms Editor fields are inaccessible for them. I have tested many approaches and no style/attribute changes could fix it. The problem does not occur when using newer, but paid, Advanced Braille Keyboard nor braille input on iOS devices. Soft Braille Keyboard is an open-source software.

Steps to Reproduce

  1. Create any Editor with any attributes.
  2. Open this editor with keyboard set to Soft Braille keyboard.
  3. Try to write something.

Expected Behavior

All letters are written correctly.

Actual Behavior

When writing next letters, the messages is repeated. example: when trying to write "Test", we get: TTeTesTest

Environment

Does not matter, tried to compile under Windows and Mac, same effect.

Workaround

None known. The problem does not occur when using Entry instead of Editor.

Note

I would very much appreciate any workaround suggestions.

jfversluis commented 2 years ago

Thanks for the report @dawidpieper I'm not sure I fully understand the issue at hand yet... This has worked before? Is there a version of Forms that caused this not to work? And this is only on Android, right?

@rachelkang is this an area you have looked into maybe?

dawidpieper commented 2 years ago

I tested it with XF 5.0 and it does not work. As far as I know, also version 4.0 did not work, but I must check it.

Yes, the issue is related to Android only, as there are no 3rd party braille keyboards on iOS where it could take place.

I reckon the problem may be in Soft Braille Keyboard itself - some expected, but not obligatory behaviour of TextView that is changed by XF. Pure Java TextView does not invoke this problem. But I don't know. I'm not using SBK on my own, polls and surveys state that this keyboard is extremely popular among blind users, though, so I suppose it's accessibility issue that should be taken into consideration.

jfversluis commented 2 years ago

Absolutely, we take accessibility very seriously. What you additionally could try is to use Xamarin.Forms 5.0.0.2083 or later, which has many accessibility improvements. These improvements include an experimental accessibility flag that addresses a lot of improvements in Android accessibility.

To leverage this flag on the latest versions of Xamarin Forms, the following code can be inserted in the App.xaml.cs file, following the InitializeComponent call and before the MainPage is set: Xamarin.Forms.Device.SetFlags(new List<string> { "Accessibility_Experimental"});

Hopefully that will resolve things? We're looking to removing that flag and make the default experience better for accessibility.

dawidpieper commented 2 years ago

Thank you for your suggestion, but it did not help resolving this problem, unfortunately. I can confirm that it works, because I see some improvements (and one tiny new problem), but problem with SBK stil occurs.

jfversluis commented 2 years ago

Thanks for letting us know!