I spent quite a bit of time debugging this issue, so I'll toss this into the interwebs in case it can save someone else some hassle...

Mobile Safari supports HTML attributes that control which keyboard (and keyboard state) should be launched when a user clicks on a text input field.  Otherwise, it uses some smart defaults.  I wanted one of my fields to autocapitalize, but setting the attribute at the form level and/or input level had no effect:

<form action="/auth/login_cc" autocapitalize="words">
  <input autocapitalize="words" name="foobar" />

It turns out that Safari has a hidden feature in which it changes the default capitalization to lowercase if the string "login" appears anywhere in the form action.  Unfortunately, it also ignores any attributes as well, so it is impossible to override this except by changing the action name.

As I said, that took a while to track down.  I've submitted the bug to Apple...

10/4/2013 05:09:08 pm

Thanks for contributing your important time to post such an interesting & useful collection.It would be knowledgeable & resources are always of great need to everyone. Please keep continue sharing.


Leave a Reply.