2

I am developing an iOS browser app for people with visual impairments.

I have built a large keyboard with large letters/numbers and custom pop-over letters that make using the app itself very easy for people with visual impairments.

The trouble comes when the user navigates to a website and tries to input text into a field within that site (password field, search field, etc.). In this case, the standard iOS keyboard deploys - Which is roughly 1/2 the size of my custom keypad and does not have pop-over letters - and is not easy to use for people with visual impairments.

I'm looking for a creative work-around for this and hoping the fine minds of stack overflow may be able to help.

I know that we can't disable the iOS keyboard. Solutions that I would like to pose are:

1) is there a way to overlay an image on top of the iOS keyboard that contains much larger letter/number characters in the exact location as the letters/numbers of the iOS keypad - so when the iOS keyboard deploys, our pseudo-keyboard will deploy over the top of it? When the user selects a key, they will actually be selecting the corresponding key beneath the overlay - firing that letter or number? If so, could we also add our custom pop-overs?

2) in lieu of the above, is there a way to make the iOS keys larger or otherwise customize their appearance?

Any input or ideas that you might have would be greatly appreciated.

user1326304
  • 37
  • 1
  • 5

3 Answers3

0

seems the solution is to do the following:

var hideKeyboard = function() {
    document.activeElement.blur();
    $("input").blur();
};

which I found as an answer to a differently phrased question on SO

Community
  • 1
  • 1
Jason Kulatunga
  • 5,814
  • 1
  • 26
  • 50
  • great! this will allow me to hide the default keyboard, but i'm still left with the hurdle of using my own custom keyboard to enter text into a webpage (login/password fields or search field, etc.). From what I'm reading you can't enter text into a HTML web text field from an iOS app using a custom keyboard. I'm hoping someone has found an exception or work-around. – user1326304 Sep 20 '12 at 15:33
0

Why can't you use an iOS Custom Keyboard as per this question:

How to create a custom keyboard

You mentioned it was on a web page, presuming that's in a UIWebView. It seems like you could try settings a custom inputView on the UIWebView itself in order to pull up your custom input view.

Community
  • 1
  • 1
Kendall Helmstetter Gelner
  • 74,769
  • 26
  • 128
  • 150
  • I'm finding that, from within the app, when i select a text field within the a web page (like a login or search field) that the standard iOS keyboard launches by default. From what I'm reading, you can't use a custom keyboard to add text in a textfield within an html webpage using a custom keyboard. This is why I had hoped to overlay a custom keyboard on the iOS keyboard - to give the same general user experience. When user selects the 'A' key, they would be, in essence just selecting the 'A' key of the iOS keyboard underneath - problem solved. This is a shot in the dark. thoughts? – user1326304 Sep 20 '12 at 15:31
  • After a web page is loaded you could crawl through the entire view tree looking for UIViews, and attach your custom input view to each and every one. A field on a form that brings up a keyboard is very likely to be a kind of UIView that is a subview of the UIScrollView the UIWebView inherits from. – Kendall Helmstetter Gelner Sep 20 '12 at 15:54
0

During my project, I was also asked to design a custom number keyboard for uiwebview, find I find a solution to prevent showing the default keyboard. in the input tag add a attribute
<input class="customPad" readonly="true">,
then bind an event when user click it.
$('customPad').click(){window.location="locationpattern"}
By change the window location, in your uiwebview you can use delegate to deal with it case by case and popover whatever you want.