-
Notifications
You must be signed in to change notification settings - Fork 480
fix TouchBehavior Android KeyBoard activation #2497
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
fix TouchBehavior Android KeyBoard activation #2497
Conversation
|
|
This solution is not yet perfect. I could not find out yet, why the keypress event is also raised with key action up, although the key is long pressed. Perfect would be to have a solution for the long touch by spacebar as well. Maybe this also can be done in another PR. In this implementation only normal touches can be done via space bar and holding the space bar pressed results in a lot of normal touches/clicks. |
@dotnet-policy-service agree |
|
Can someone please verify those builds? |
|
@ne0rrmatrix do you have any idea, why that one test is failing. It should not have anything todo with my change or am I mistaken? |
That test failing is completely unrelated to your PR. You can safely ignore it. |
|
okay so, can anyone approve that than? |
|
So how is this proceeding now? What can I do to get that thing merged finally? |
|
Your original comment said this solution isn't perfect does this mean you still want to improve it? I do wonder whether we should add a mechanism to configure this new functionality in case keyboard support for a touch behavior isn't desired in all scenarios. What do you think? |
|
Well the reason for introducing this at all is a new ruling of the EU that requires accessibility for all Apps starting middle of the year. Our App will also be tested by a specific 3rd party because of that. So in general, KeyBoard access needs to be available 100% in my opinion. In regards to that my suggestion is, take that solution here for now, merge that to be fine for the general accessibility usecase and create another thread/issue for the long touch. |
|
Thanks. I'm not debating the value this adds to apps. I was debating whether developers would expect and always want something called My thought was we could introduce a property As for the KeyDown being called continuously I have seen this recently while dealing with keyboard support for something else. Was this on iOS or macOS that you saw it? Let me see if I can dig out the issue |
|
Well the KeyBoard will not interfere with the standard behavior, so it should not create any issues for those cases I think, but we can still discuss that usecase. What do you think would be a proper case where you absolutely want to forbid KeyBoard usage for such view component? The KeyDown problem I found was happening on Android for me, but build on Mac. I did not research the iOS implementation deeper, cause the KeyBoard access there just worked as it was supposed to. |
|
I am happy to go with your suggestion of not including the property. It would become a much bigger PR if iOS, macOS and Windows already support this functionality. Thank you for the discussion |
|
As a quick further follow-up have you tried using any of the accessibility options on Android before trying this fix? I am not entirely familiar with TouchBehavior but I can see there is explicit support in the Android implementation to make use of the AccessibilityManager |
|
you can take look into the bug ticket. I already explained the problem with the current implementation there: The problem results exactly from that accessibilityManager and how it is used. |
Sorry I missed that detail in the original report. If I am reading this correctly is the addition of this keyboard handling the right fix or should we be looking to improve how we are using the accessibilityManager? Also you mentioned that keyboard control works if TalkBack is enabled, what happens when you have both your keyboard handling and TalkBack enabled? You don't get 2 attempts to handle the interaction? |
@bijington I believe the issue is about using the accessibility manager with touch. Looking at the bug report and the linked google docs it looks like touch should not use accessibility manager the way we are. |
|
@bijington You will also not have 2 (clicks) registered. Its either if you have TalkBack on a double tap needed or with keyboard the space button. The google docs say to my understanding, that you should not depend on the accessibilityManager state at all to init different workflows. |
|
@plewm thank you for this. Apologies for the delay in getting back to you on this. Also it was great to meet you the other day at MAUI Day! I hope you enjoyed the day and managed to travel back safely. |
bijington
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
|
@bijington yes it was a nice event and also good to meet some people working on that framework here in person. Some of us stayed a little longer in London as well. We had a lot of fun :) regarding the pipeline issue again...we cant merge yet because of the failing test of the "validationBehavior". How are fixing that? I would really like to get that thing on track here :D |
|
We have a flaky test :(. I have kicked off another build but don't worry it won't impact this being merged |
|
@bijington uh that looks perfect now. we are ready to merge 🎉 who will be initiating the merge process? I can't do that it seems. I still have no button for that. anyways, thanks for bearing with me here :) |
|
Sorry I thought I had hit the auto merge button. It'll be done shortly after I post this comment. Thanks again for the help |
Description of Change
Linked Issues
#2443
PR Checklist
approved(bug) orChampioned(feature/proposal)mainat time of PRAdditional information