So the focus event causes the soft keyboard to come up for input fields. Im trying to find a way to stop this occuring. The reason is, as some of you may know, a click event has a 300ms delay before anything happens.
To get around this, we have implemented Googles FastButton http://code.google.com/mobile/articles/fast_buttons.html its working good after a minor tweak to also prevent a second mousedown, but if we click on a button and go to a second page that also has a input textfield, the keyboard still pops up.
I've tried preventing the touchend, mousedown, mouseend, click, firing again, and that helps it by not having the flashing cursor on the textfield but the keyboard is still there. If i blur the field you still see the keyboard popping up then disapparing which is not acceptable.
Any ideas?
Hmm... have you considered disabling the fields with disabled="disabled" while loading, and only then enabling them? It might let you get around the initial focused state that launches the keyboard, so that you can blur first, then enable?
Related
I'm using the scroll to index
library here
(When I press the reply button of the comment, the scroll is moved to the comment area where I pressed the reply button.)
Pressing the reply button activates the keyboard, which becomes strange because it moves before the keyboard rises.
I want to wait for the keyboard to come up when I press the button and let it move when it comes up.
I've tried hasFocus, but it seems to be a solution that has nothing to do with this problem.
flutter_keyboard_visibility is same.
What should I do?
I know most of the people have problems with keyboard and want it to go away, but I'm interested in it showing up. Basically, I want to trigger the keyboard show-up when I tap an element and then get the text I typed via RawKeyboard. Is there a way I can trigger the keyboard to show in Flutter? So far I understood you can do that only when you have a TextField.
Many thanks.
Background:
When focused on a WebView control, TalkBack announces something to the effect of "Bing. WebView. Double tap and hold to long press" (note that focus is on the WebView control itself, not the content within the webview). However, as best I can tell, double tap and long pressing doesn't seem to do anything other than pass TalkBack focus into a control within the WebView itself. Our team has testers that specialize in accessibility which filed a bug on us for this "Double tap and hold to long press" announcement. The rationale within the bug states that since this action doesn't appear to do anything, the announcement will only serve to confuse TalkBack users.
This announcement doesn't appear to be specific to our app as I was able to reproduce this behavior on a new, blank Android app with a WebView that points to Google (there it announces "Google. WebView. Double tap and hold to long press"). As I think it helps show what focus I'm talking about, I have added a screenshot of the prototype app I built with the green TalkBack focus indicator below:
Questions:
Is there a reason for why Android insists on announcing the "double tap and hold to long press" piece for a WebView? If there is a functional reason for this, then any attempt to fix this issue may be moot.
Does anyone know of a way to stop TalkBack from reading the "double tap and long press"? Alternatively, is there a way to hide the WebView control itself from TalkBack without hiding the html content within?
What I've tried:
Unfortunately saw no luck setting isLongClickable to false, setting empty onLongClickListeners, and worked with a few of the suggestions in the stackoverflows here, here, here, and here. I tried all of the mentioned changes on a blank app to reduce the possibility that the complexities of our production app has interfered with the experiments I was running. Setting the ImportantForAccessibility field to "No" hides all of the inner html of the webview from Talkback so that is not an option either.
Sidenote that I find interesting: in my experimentation, I also tried setting the WebView's isClickable property to false and yet it was still clickable. So I am wondering if I am possibly focusing on setting properties on the wrong control (or if Android just completely ignores those properties on a WebView control).
I have run into a baffling behavior using VoiceOver. Basically when using the "swipe forward" gesture on a screen, the cursor will run off the bottom of the screen and the view will not "move" with it as it should. Worse of all, I have a button down there that is not activated by a double tap when this behavior exists.
What I can gather is that this only seems to happen on two screens, both of which feature customized appearances of the cells in a table view.
I have tried manipulating the accessibilityFrame property of these cells and these table views. I have gotten nowhere. I have tried setting the accessibilityFrame property of the cells as they are made but there was no change in behavior.
Has anyone encountered this behavior? Any ideas for trying to tackle this problem?
I've seen it, but it's not a problem, at least not in my app -- you can double-tap anywhere, not just on the button. (In other words, a blind user won't realize this is going on, because it just works.)
I have an application that allows the user to edit multiple text fields and views. Rather than mess around raising each view to the top when the keyboard is active, I decided to instead make one textView for editing and hide/show it when input is needed, then transfer the data when it is done. To move focus to the new textView, I call its becomeFirstResponder method, and lo and behold, the cursor goes to the right place. However if I use this method, the iPhone keyboard does not appear. I have no idea why. Can anyone explain, and tell me how to make the keyboard appear? All the other questions I've looked at seem to indicate that setting becomeFirstResponder for a textView ought to make the keyboard come up.
-Ash
Is Hardware -> Simulate Hardware Keyboard enabled?
Are you doing this whole thing programatically or using Interface Builder as well?
If so are the IB connections setup right?