{"id":1037,"date":"2012-10-31T11:45:08","date_gmt":"2012-10-31T09:45:08","guid":{"rendered":"http:\/\/hasselba.ch\/blog\/?p=1037"},"modified":"2012-10-31T11:46:29","modified_gmt":"2012-10-31T09:46:29","slug":"xpages-disable-ios-autocorrect-and-autocapitalize-features","status":"publish","type":"post","link":"https:\/\/hasselba.ch\/blog\/?p=1037","title":{"rendered":"XPages: Disable iOS &#8222;autocorrect&#8220; and &#8222;autocapitalize&#8220; features"},"content":{"rendered":"<p>Two of the worst features ever implemented are the &#8222;autocapitalize&#8220; and &#8222;autocorrect&#8220; features from iOS devices, because they are enabled by default. It does not make fun to write a blog comment in another language&#8230; Or if you just want to enter your email address in a form: The first letter is always upper case, and you always have to kill the suggestion while writing some text.<\/p>\n<p>To disable this behaviour, you have to add two attributes to the components, <em>autocorrect=off<\/em> and <em>autocapitalize=off<\/em>:<\/p>\n<pre>&lt;xp:inputText id=\"inputText1\"&gt;\r\n   &lt;xp:this.attrs&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;xp:attr name=\"autocorrect\" value=\"off\" \/&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;xp:attr name=\"autocapitalize\" value=\"off\" \/&gt;\r\n\u00a0\u00a0 &lt;\/xp:this.attrs&gt;\r\n&lt;\/xp:inputText&gt;<\/pre>\n<p>To make life a little bit easier you can add these attributes by using a theme, and can disable the theme for every component for which this feature should be enabled:<\/p>\n<pre>&lt;theme extends=\"webstandard\"\r\n\u00a0\u00a0 xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\n\u00a0\u00a0 xsi:noNamespaceSchemaLocation=\"platform:\/plugin\/com.ibm.designer.domino.stylekits\/schema\/stylekit.xsd\"&gt;\r\n\r\n\u00a0\u00a0 &lt;control&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;InputField.EditBox&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;attrs&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;complex type=\"xp_attr\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;name&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;value&gt;autocapitalize&lt;\/value&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;value&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;value&gt;off&lt;\/value&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/complex&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;complex type=\"xp_attr\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;name&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;value&gt;autocorrect&lt;\/value&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;value&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;value&gt;off&lt;\/value&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/complex&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0 &lt;\/control&gt;\r\n\u00a0\u00a0 &lt;control&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;InputField.TextArea&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;attrs&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;complex type=\"xp_attr\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;name&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;value&gt;autocapitalize&lt;\/value&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;value&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;value&gt;off&lt;\/value&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/complex&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;complex type=\"xp_attr\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;name&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;value&gt;autocorrect&lt;\/value&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;name&gt;value&lt;\/name&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;value&gt;off&lt;\/value&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/complex&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/property&gt;\r\n\u00a0\u00a0 &lt;\/control&gt;\r\n\r\n&lt;\/theme&gt;<\/pre>\n<p>So your users are able to use your application again\u00a0 &#8211; without hating every keystroke. Thank you, Apple!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Two of the worst features ever implemented are the &#8222;autocapitalize&#8220; and &#8222;autocorrect&#8220; features from iOS devices, because they are enabled by default. It does not make fun to write a blog comment in another language&#8230; Or if you just want &hellip; <a href=\"https:\/\/hasselba.ch\/blog\/?p=1037\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,42,81,74],"tags":[7,77,94,32,12,3],"class_list":["post-1037","post","type-post","status-publish","format-standard","hentry","category-html","category-mobile","category-web","category-xpages","tag-domino","tag-html","tag-mobile","tag-tipp","tag-web","tag-xpages"],"_links":{"self":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1037","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1037"}],"version-history":[{"count":5,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1037\/revisions"}],"predecessor-version":[{"id":1042,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1037\/revisions\/1042"}],"wp:attachment":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1037"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1037"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1037"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}